Repository navigation
security: verify-or-drop refuter, exclusion list and variant analysis - #1965
Closed
remigiusz-antczak wants to merge 1 commit into
Closed
remigiusz-antczak wants to merge 1 commit into
remigiusz-antczak wants to merge 1 commit into
Conversation
…ty path New references/appsec-verify.md (routed from security-appsec.md and full-map.md): a security finding needs a source-to-sink file:line path or drops to a question, a default false-positive exclusion list is tunable via .dcr-security-exclusions (High and Critical are never dropped by it; the override file is untrusted and non-default additions are surfaced), and a confirmed finding triggers a repo-wide sibling search. security_verify.py checks claim shape, applies exclusions, emits a record with active exclusions and override status, and fails closed on bad input; three evals added. Not done here per lane contract: INDEX.md, SHA256SUMS, size-budgets.tsv (the size-budget check fails until the lane owner adds the new file's row). Tests: 21/21 assert statements in scripts/test_security_verify.py pass Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014QNFFPWVcPUbeuvwM5fk2Z
Collaborator
Author
|
Superseded by #1979. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds three security-path ideas from rival review tools, re-implemented: a verify-or-drop refuter, a tunable false-positive exclusion list, and variant analysis from a diff.
references/appsec-verify.mdis routed fromsecurity-appsec.mdandfull-map.md. Every candidate finding needs a concrete source and sinkpath:line, or it is marked unverified. The file defines the exclusion slugs and the variant-analysis procedure: after a confirmed finding, search the repo for the same pattern.scripts/security_verify.pytriages a JSON list of findings. It fails closed:needs-evidence.active_exclusions,override_read, and any+slugthe reviewed repo added beyond the defaults (added_nondefault), so a hostile.dcr-security-exclusionsfile is visible.unverifiedinstead of crashing.scripts/test_security_verify.pyis wired intoscripts/test-ci-gates.sh.Size-budget rows for the new and edited references are left to CI regeneration, per the lane contract.
Not yet measured: precision and recall against a seeded-vulnerability bench. That is the next item.
Tests: 21/21 (test_security_verify.py), run on the commit's own tree. Independent review: 2🔴 (a fail-open exclusion and no exclusion record) and 4🟡, all fixed in this commit.
🤖 Generated with Claude Code
https://claude.ai/code/session_014QNFFPWVcPUbeuvwM5fk2Z