Repository navigation
fix(security): keep the signature probe's cache guard honest on CI runners - #3783
Conversation
…nners The probe checked whether a ref was already cached by piping the node's image list into grep -q. GitHub Actions ignores SIGPIPE, so when grep matched early the writer failed with a broken pipe, and pipefail turned that failure into "not cached". A cached ref could pass the guard. The checks now use here-strings. Cleanup also re-lists the node when a removal fails. A ref that is no longer there, such as a refused pull that stored nothing, is reported as not present instead of asking for manual cleanup. A ref still present, or a node that cannot be listed, still warns. Fixes #3781 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A pipe reports a match as no match on CI runners, which is what let a cached ref past the cache guard. Say so where the helper is defined, so a later tidy-up does not restore the pipe. Part of #3781 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai full review |
|
|
|
Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Readiness at
|
Why
The image-signature probe's first live run passed, but it logged a broken-pipe error and asked the operator to remove an image by hand. Looking into the broken pipe turned up something more serious. On GitHub's runners, the check that stops the probe from testing an image the node already has could report a cached image as absent. A cached image is never re-pulled, so the probe could pass without the node verifying anything.
In that run, the error appeared at exactly that check. So the signed control was most likely already on the node, and its "accepted" result says nothing about verification. The unsigned image was refused, and that half of the evidence stands.
What
Fixes #3781
🤖 Generated with Claude Code