Add dependency vulnerability scan CI gates#57
Conversation
Signed-off-by: Nathan Gillett <nathan@intentproof.io>
PR SummaryMedium Risk Overview Introduces Dependabot weekly update configuration (grouped patch vs minor/major for pip, plus grouped GitHub Actions updates), adds initial Reviewed by Cursor Bugbot for commit d47b605. Bugbot is set up for automated code reviews on this repo. Configure here. |
Signed-off-by: Nathan Gillett <nathan@intentproof.io>
Download the raw osv-scanner release binary instead of a missing tarball and allow repos without lockfiles to pass the OSV gate. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
Freeze installed requirements for OSV-Scanner and harden the gate script for repos without committed lockfiles. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
Parse optional lockfiles without a brittle shift, share allowlist expiry validation in one script, and fix codeql allowlist empty-entry handling. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 021bb03. Configure here.
| rm -f "$tmp" | ||
| fi | ||
|
|
||
| args=(scan source --format=table --no-call-analysis=all --allow-no-lockfiles) |
There was a problem hiding this comment.
Unrecognized osv-scanner flag may silently pass gate
High Severity
The --allow-no-lockfiles flag does not appear in any osv-scanner v2 documentation, CLI reference, changelog, or source code. The documented approach for handling missing lockfiles in v2 is --include-git-root. If the flag is unrecognized, osv-scanner exits with code 1 (cobra default for unknown flags). The status -gt 1 check on line 55 does not catch exit code 1, so execution falls through to the Python parser, which finds no severity summary or vulnerability IDs in the error text and prints "PASS" — a false pass where the scanner never actually ran.
Reviewed by Cursor Bugbot for commit 021bb03. Configure here.
Write osv-scanner output to a temp file and pass the path to the severity parser instead of embedding the full table in sys.argv. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
Drop the misleading codeql-allowlist default so invoking the shared script without arguments fails fast instead of silently skipping. Signed-off-by: Nathan Gillett <nathan@intentproof.io>


Summary
Test plan
Review
No blocking findings.