Skip to content

Document the verified CLI interface and both scanner baselines - #6

Merged
ralyodio merged 1 commit into
masterfrom
docs-refresh
Aug 1, 2026
Merged

Document the verified CLI interface and both scanner baselines#6
ralyodio merged 1 commit into
masterfrom
docs-refresh

Conversation

@ralyodio

@ralyodio ralyodio commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

The docs still called the ThreatCrush flags "unverified" and pointed readers at a run log. They're verified now, so that was stale and misleading.

Replaces it with what was actually observed — the real scan signature, the block output format, and the four parsing details that each caused a bug (scan-root-relative paths, inconsistent severity bracketing, line :0, Code: double-counting).

Adds both baselines to the README:

Scanner TPR FPR
ThreatCrush v0.1.0 15.6% (12/77) 0.0% (0/39)
Semgrep 1.172.0 27.3% (21/77) 7.7% (3/39)

Near mirror images — one finds secrets, the other code patterns.

Also fixes a mislabelled cross-reference (the dead-code-guard caveat was tagged as Open Question 1, which was actually about PR-level scanning).

🤖 Generated with Claude Code

The docs still described the ThreatCrush flags as unverified and told readers
to go read a run log. They have since been verified against the real binary,
so that guidance was stale and actively misleading.

Replaces it with what was actually observed: the scan command's true signature,
the multi-line block output format, and the four parsing details that each
caused a real bug (scan-root-relative paths, inconsistent severity bracketing,
line :0 on whole-file findings, and Code: excerpts double-counting).

Records both baselines side by side. ThreatCrush 15.6% TPR / 0.0% FPR and
Semgrep 27.3% / 7.7% are near mirror images — one finds secrets and not code
patterns, the other the reverse — which is the argument for a fixed corpus:
the numbers compare because the answer key does not move.

Also corrects a mislabelled cross-reference: the dead-code-guard caveat was
tagged as PRD Open Question 1, which actually asked about PR-level scanning.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

ThreatCrush scan results

9 finding(s) from threatcrush.

Severity Count
High / Critical 8
Medium 1

Detection coverage — FAIL

Metric Result
True positive rate 15.58% (12/77)
False positive rate 0.0% (0/39)
Missed detections 65

Findings

Severity Rule CWE Location
High / Critical threatcrush.aws-access-key vulns/secrets/aws-credentials-hardcoded.env:23
High / Critical threatcrush.stripe-key vulns/secrets/aws-credentials-hardcoded.env:36
High / Critical threatcrush.github-token vulns/secrets/github-pat-in-code.js:25
High / Critical threatcrush.slack-token vulns/secrets/slack-webhook-url.py:40
High / Critical threatcrush.sensitive-file vulns/secrets/aws-credentials-hardcoded.env:1
High / Critical threatcrush.database-url vulns/secrets/aws-credentials-hardcoded.env:30
High / Critical threatcrush.database-url vulns/secrets/aws-credentials-hardcoded.env:32
High / Critical threatcrush.generic-secret vulns/secrets/slack-webhook-url.py:41
Medium threatcrush.hex-token-32 vulns/secrets/slack-webhook-url.py:41

Every file under vulns/ contains intentional vulnerabilities used to
measure scanner accuracy. Findings there are the expected outcome, not a
regression. See docs/VULNERABILITY_CATALOG.md.

Posted by scripts/generate-report.py.

@ralyodio
ralyodio merged commit 3a61640 into master Aug 1, 2026
4 checks passed
@ralyodio
ralyodio deleted the docs-refresh branch August 1, 2026 06:16
ralyodio added a commit that referenced this pull request Aug 1, 2026
Replaces the stale "flags are unverified" guidance with the observed interface
and output format. Records ThreatCrush at 15.6% TPR / 0.0% FPR and Semgrep at
27.3% / 7.7%.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants