fix(ci): remediate code-scanning alerts #778-#790 - #1363
Merged
Merged
Conversation
CodeQL flagged six cache-poisoning findings (#785-#790): the `tag` input flowed through preflight's `ref` output into every downstream checkout, and the build/deb/rpm jobs then executed that checkout under a write-capable trigger on the default-branch cache scope. The input was never necessary. `workflow_dispatch` can be run from the tag itself (`gh workflow run release.yml --ref v0.0.0-test1`), so `github.ref` is the tag for both triggers and nothing user-typed reaches a checkout. Preflight now refuses a dispatch from a non-tag ref instead of laundering an input, and the per-job `ref:` overrides go away because `github.sha` is already the tag's commit.
Scorecard Pinned-Dependencies findings on the dev container (#778-#780): - `FROM ubuntu:noble` is digest-pinned, with a `docker` Dependabot entry so the digest keeps moving. - cargo-binstall comes from a SHA256-verified release tarball rather than the upstream `curl | bash` installer, and the tools it installs are version-pinned (cargo-about and mdbook to the CI pins). The uv installer at the same pattern was not yet flagged (Scorecard reports one instance per rule) and is converted in the same way so it does not reopen the alert. - The npm globals are pinned to exact versions. A global install has no lockfile, so this is as far as npm pinning goes.
dekobon
force-pushed
the
fix/code-scanning-778-790
branch
from
August 29, 2026 19:23
0e5baa7 to
ca36cd2
Compare
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.
Remediates the open code-scanning alerts in the #778–#790 range.
CodeQL cache-poisoning #785–#790 (
release.yml)All six traced to the
workflow_dispatchtaginput flowing throughpreflight's
refoutput into every downstream checkout, followed bycargo/crossexecuting that checkout. The input was never needed:a rehearsal now dispatches from the tag
(
gh workflow run release.yml --ref v0.0.0-test1), sogithub.refisthe tag for both triggers and nothing user-typed reaches a checkout.
Preflight refuses a non-tag ref, and the per-job
ref:overrides goaway because
github.shais already the tag commit.Note: these jobs use no
actions/cache, and dispatch already requiredwrite access, so the practical risk was low — removing the taint
source was simply cheaper than six dismissals. Tags cut before this
change still carry the old workflow file and need
-f tag=torehearse;
RELEASING.mdsays so.Scorecard Pinned-Dependencies #778–#780 (
Dockerfile)FROM ubuntu:nobledigest-pinned, plus adockerDependabot entry.of
curl | bash(uv was not yet flagged; Scorecard reports oneinstance per rule, so it would have reopened the alert).
#780 will likely stay open — Scorecard wants a lockfile-driven
npm ci, which a global install cannot do — and should be dismissedas won't-fix once this lands.
Not actionable
#781/#782 are stale clippy hits on the merged PR #1015 ref;
#783/#784 are already
fixed.make pre-commit:BCA_GATE: pass. A probe image exercised both newtarball blocks on x86_64.