Skip to content

Publish a detector catalog with each release - #4

Merged
devGregA merged 1 commit into
mainfrom
devgrega/detector-catalog
Nov 3, 2026
Merged

devGregA merged 1 commit into
mainfrom
devgrega/detector-catalog

Conversation

@devGregA

@devGregA devGregA commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

What

  • earlylight detectors --format json prints the detector catalog: schema, tool, version, and for each detector its ID, title, CVEs, advisories, disclosure date, the commands that run it (fs, image, host, repo, fix) and its finding kinds. Everything comes from the manifests. Plain earlylight detectors prints the same list as before.
  • The release workflow writes dist/detectors.json from the linux/amd64 binary before the checksums are taken, so the signed checksums.txt covers it. The step fails if the file's version doesn't match the tag. install.sh and the Homebrew formula script look up files by name, so the extra asset doesn't affect them.
  • eMudhra's unpatched-go findings now carry CVE-2026-111943, so tools that file findings under CVEs can group them. Trust findings are about the CA keys and still carry no CVE.
  • detectors/all/all_test.go is a contract test over every real detector's entry. It caught brotli's note level, which the engine comment now lists.

Why

Tools that track Early Light releases, including DefectDojo, need to know which detectors a release contains and how to run each one, without downloading and running a binary.

Checks

  • go vet ./... and go test -race ./... pass.
  • govulncheck ./... finds no vulnerable code that is called.
  • The release step was simulated locally (-X main.version=v0.4.0-rc). It produced a 9 KB catalog listing all three detectors with the tag as its version.

🤖 Generated with Claude Code

`earlylight detectors --format json` prints every detector's ID, title,
CVEs, advisories, disclosure date, the commands that run it (fs, image,
host, repo, fix) and its finding kinds, all taken from the manifests. The
release workflow writes it to detectors.json before the checksums are
taken, so the signed checksums.txt covers it, and fails if its version
does not match the tag. Plain `earlylight detectors` is unchanged.

A contract test checks every real detector's entry: ID, a real disclosure
date, https advisories, at least one command and unique finding kinds.

eMudhra's unpatched-go findings now carry CVE-2026-111943, so tools that
file findings under CVEs can group them. Trust findings are about the CA
keys and still carry no CVE. The engine comment now lists the note level
brotli already uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@devGregA
devGregA merged commit 19c2e24 into main Nov 3, 2026
2 checks passed
@devGregA
devGregA deleted the devgrega/detector-catalog branch November 3, 2026 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant