| 1 | name: OSV-Scanner |
| 2 | |
| 3 | # Scheduled OSV-Scanner workflow for vulnerability drift detection. |
| 4 | # Scans the repository lockfiles (uv.lock, mcp/go.sum) on a weekly schedule |
| 5 | # and uploads results to GitHub code scanning, so newly disclosed CVEs in |
| 6 | # the dependency tree are visible even between PRs. |
| 7 | # |
| 8 | # Advisory-first: fail-on-vuln is false until maintainers confirm a clean |
| 9 | # baseline, matching the pattern in security.yml. |
| 10 | # |
| 11 | # Separate from the pip-audit job in security.yml (which runs on every PR |
| 12 | # and push) and from the dependency-review gate (which blocks on new |
| 13 | # vulnerable deps at PR time). This workflow fills the scheduled-drift gap. |
| 14 | |
| 15 | on: |
| 16 | schedule: |
| 17 | # Weekly, Mondays at 12:30 UTC. |
| 18 | - cron: "30 12 * * 1" |
| 19 | workflow_dispatch: |
| 20 | |
| 21 | permissions: {} |
| 22 | |
| 23 | jobs: |
| 24 | scan-scheduled: |
| 25 | uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@9a498708959aeaef5ef730655706c5a1df1edbc2 # v2.3.8 |
| 26 | permissions: |
| 27 | contents: read |
| 28 | security-events: write |
| 29 | with: |
| 30 | # Advisory-first: surface results in code scanning without blocking. |
| 31 | fail-on-vuln: false |
| 32 |