ci(security): add osv-scanner job to security workflow - #32
Merged
Conversation
epitelesis ran cargo-audit and cargo-deny but no OSV scan, so it saw only RustSec advisories and missed the broader OSV database that org PRs are gated on. Add the osv-scanner job exactly as sphragis defines it (the only fleet repo proven to report all four check groups the org auto-merge workflow waits on): the reusable google/osv-scanner-action workflow, pinned by commit SHA, name "osv scanner", scoped to the existing osv-scanner.toml config and Cargo.lock. No existing job touched.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
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.
What was missing
epitelesis's
.github/workflows/security.ymlrancargo-denyandcargo-auditbut had no OSV scan, so it only ever saw RustSec advisories,not the broader OSV database.
What I added
One new job,
osv-scanner(display nameosv scanner), appended after theexisting
cargo-auditjob — nothing else in the file was touched. It'scopied verbatim from sphragis's
security.yml, which is the only fleetrepo currently proven to report all four check groups the org auto-merge
workflow waits on:
The commit SHA pin (
9a498708959aeaef5ef730655706c5a1df1edbc2) is copiedverbatim from sphragis, not re-resolved — an unpinned or differently-pinned
action would be a supply-chain difference, not a formatting one.
epitelesis already had a matching
osv-scanner.tomlat repo root (with aheader noting it's derived from
deny.toml [[advisories.ignore]]viakanon audit derive-ignores --apply) and a rootCargo.lock, so thescan-argsreference both correctly with no other repo changes needed.sphragis vs. kanon's template — where they differed, and which I took
The kanon template (
workflow/templates/ci/security.yml) also defines anosv-scanner job at the same pinned SHA, but with one difference: it sets
upload-sarif: falseexplicitly underwith:. sphragis's version omitsthat key (using the reusable workflow's default). Per the task instructions
to prefer sphragis where the two disagree, I took sphragis's form
(no
upload-sarifoverride). I did not investigate what the reusableworkflow's default resolves to, so if epitelesis wants SARIF upload
suppressed the same way kanon's template does, that's a follow-up, not
something this PR silently decided.
The kanon template also carries additional jobs (
secret-scanviaTruffleHog,
gitleaks) that neither sphragis nor epitelesis have. Pertask scope ("add ONLY the osv-scanner job... do not restructure the jobs
that already work"), I left those out — not proposing them here.
What I could not verify
I did not and could not run the workflow in GitHub Actions from this
worktree (box-shared, no build/CI access per task constraints). YAML
syntax validity was confirmed locally (
yaml.safe_loadsucceeds), and thediff is confirmed purely additive via
git diff, but whether the jobactually executes green — e.g. whether
osv-scanner.toml'sIgnoredVulnslist needs entries once the scan actually runs against epitelesis's real
dependency tree — is unverified and should be checked on the first CI run
after merge.
Note on gate check naming
epitelesis's gate check is
gate / gate-attestation, notgate / gatelike other repos — this PR doesn't touch that, just flagging per task
instructions that I did not assume the other spelling exists anywhere in
this change.