Skip to content

feat: dependency scan reusable workflow — osv-scanner (issue #5)#53

Closed
ms280690 wants to merge 1 commit into
mainfrom
issue-5-dep-scan-app
Closed

feat: dependency scan reusable workflow — osv-scanner (issue #5)#53
ms280690 wants to merge 1 commit into
mainfrom
issue-5-dep-scan-app

Conversation

@ms280690

Copy link
Copy Markdown
Collaborator

Application-source dependency vulnerability scan, first sub-issue of #8.

  • .github/actions/osv-scanner: composite that installs a pinned, checksum-verified osv-scanner v2.4.0 binary and scans all lockfiles against the OSV database (language-agnostic). Produces SARIF (optionally uploaded to the Security tab) and emits job-level annotations per affected package. Gates on fail-on-severity by mapping it to a CVSS threshold (critical>=9.0, high>=7.0, medium>=4.0, low>=0.1) parsed from groups[].max_severity.
  • .github/workflows/dep-scan-app.yml: reusable gate; inputs directory, fail-on-severity, sarif-upload, actions-ref. Immutable self-reference pattern; no harden-runner; inherits caller permissions.
  • ci.yml: osv-scanner dogfood (smoke test — no lockfiles in this repo).
  • README + approved-actions: usage, CVSS threshold mapping, osv.dev egress note.

osv-scanner has no native fail-on-severity flag (nor does the official reusable workflow — only fail-on-vuln), so the gate is implemented by parsing the JSON report's max_severity. Kept the checksum-verified binary pattern (consistent with gitleaks/trufflehog/tflint/kubeconform; no new org-allowlist publisher).

Application-source dependency vulnerability scan, first sub-issue of #8.

- .github/actions/osv-scanner: composite that installs a pinned,
  checksum-verified osv-scanner v2.4.0 binary and scans all lockfiles against
  the OSV database (language-agnostic). Produces SARIF (optionally uploaded to
  the Security tab) and emits job-level annotations per affected package. Gates
  on fail-on-severity by mapping it to a CVSS threshold (critical>=9.0,
  high>=7.0, medium>=4.0, low>=0.1) parsed from groups[].max_severity.
- .github/workflows/dep-scan-app.yml: reusable gate; inputs directory,
  fail-on-severity, sarif-upload, actions-ref. Immutable self-reference
  pattern; no harden-runner; inherits caller permissions.
- ci.yml: osv-scanner dogfood (smoke test — no lockfiles in this repo).
- README + approved-actions: usage, CVSS threshold mapping, osv.dev egress note.

osv-scanner has no native fail-on-severity flag (nor does the official reusable
workflow — only fail-on-vuln), so the gate is implemented by parsing the JSON
report's max_severity. Kept the checksum-verified binary pattern (consistent
with gitleaks/trufflehog/tflint/kubeconform; no new org-allowlist publisher).

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

Copy link
Copy Markdown

🤖 Hi @ms280690, I've received your request, and I'm working on it now! You can track my progress in the logs for more details.

@ms280690 ms280690 closed this Jul 16, 2026
@github-actions

Copy link
Copy Markdown

🤖 I'm sorry @ms280690, but I was unable to process your request. Please see the logs for more details.

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