-
Notifications
You must be signed in to change notification settings - Fork 253
Closed as not planned
Closed as not planned
Copy link
Labels
Description
Objective
Fix unverified_script_exec supply chain findings (poutine) in workflows that execute scripts via curl ... | bash without integrity verification, as reported in discussion #18283.
Context
Two workflows execute scripts fetched from raw.githubusercontent.com via curl | bash without checksum verification. If the remote URL is compromised or points to a mutable ref, malicious code could execute.
- Tool: poutine
- Severity: Note
- Affected files:
.github/workflows/copilot-setup-steps.yml(line 17).github/workflows/daily-copilot-token-report.md(compiles to line 298 in.lock.yml)
Approach
For each affected location:
- Locate the
curl ... | bashpattern (e.g.,curl -fsSL (url) | bash) - Replace with a safer two-step approach that downloads, verifies, then executes:
# Option A: Pin to a specific immutable commit SHA in the URL
curl -fsSL https://raw.githubusercontent.com/owner/repo/(full-commit-sha)/script.sh | bash
# Option B: Download and verify checksum before executing
curl -fsSL https://raw.githubusercontent.com/.../script.sh -o /tmp/script.sh
sha256sum -c <<'EOF'
(expected-sha256) /tmp/script.sh
EOF
bash /tmp/script.sh- If the script URL already points to an immutable commit SHA, document this in a comment to suppress the warning
- Run
make recompileafter modifying.mdfiles - Run
make agent-finishto validate
Files to Modify
.github/workflows/copilot-setup-steps.yml— fix curl | bash at line ~17.github/workflows/daily-copilot-token-report.md— fix curl | bash
Acceptance Criteria
-
curl | bashpatterns either use immutable SHAs or are replaced with checksum-verified downloads -
make recompilesucceeds -
make agent-finishpasses - poutine no longer reports
unverified_script_execfor these workflows
Generated by Plan Command for issue #discussion #18283
- expires on Feb 27, 2026, 6:53 AM UTC
Reactions are currently unavailable