Closed
Clear recurring poutine untrusted_checkout_exec findings via .poutine.yml skip#51177
Conversation
…yml skip; fix SC2015 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update static analysis report for 2026-08-07
Clear recurring poutine untrusted_checkout_exec findings via .poutine.yml skip
Aug 7, 2026
6 tasks
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.
The static-analysis report flags 10 recurring
untrusted_checkout_execfindings onsmoke-workflow-call*.lock.yml, attributed across two reports to an off-by-one in where the compiler emits# poutine:ignore untrusted_checkout_exec.That diagnosis is wrong. Poutine 1.1.6 has no inline comment suppression mechanism — its parser discards YAML comments, and
skip:in.poutine.yml(or--skip) is the only supported acknowledgement path (seefindings.rego). No comment repositioning would have cleared these.Changes
.poutine.yml— added askipentry scoped to the rule plus the two affected lock files. The findings are false positives: the flagged steps run scripts staged under${RUNNER_TEMP}/gh-aw/actions, emitted by the compiler into the lock file itself rather than read from the caller-controlled checkout, so they can't be influenced by the untrusted ref.daily-vulnhunter-scan.md(+ recompiled lock) — fixed the new SC2015 note, preserving semantics:Running poutine locally before/after: 21 → 11 findings, all 10
untrusted_checkout_execcleared, no other rule affected.Deliberately out of scope
# poutine:ignorecomments (1,134 lines across 282 lock files) are left in place — no-ops either way, and removing them churns a huge diff for zero change in scanner output. Worth a follow-up decision rather than bundling here.dev-hawk.lock.yml— the report's own recommendation is an upstream runner-guard change or a suppression syntax that doesn't exist yet.[Unknown]-severity CVEs and base-image refreshes — container-image concerns, not repo code.