Static Analysis Report - 2026-03-31 #23763
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Static Analysis Report. A newer discussion is available at Discussion #23942. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Analysis Summary
Daily static analysis scan of 178 agentic workflows using zizmor, poutine, and actionlint. All 178 workflows compiled successfully (0 compilation errors, 24 warnings). Total findings: 8,562 across all three tools — a slight increase of +42 from yesterday's 8,520.
secrets-outside-env)Findings by Tool
Clustered Findings by Tool and Type
Zizmor Security Findings
secrets-outside-envtemplate-injectionobfuscationgithub-envartipackedsecrets-inheritunpinned-usesPoutine Supply Chain Findings
github_action_from_unverified_creator_useduntrusted_checkout_execunverified_script_execunpinnable_actionpr_runs_on_self_hostedActionlint Linting Issues
shellcheckSC2086\$\{RUNNER_TEMP}variables — double-quote to prevent globbingshellcheckSC2129{ cmd; } >> fileinstead of individual redirectspermissionscopilot-requests(41 workflows)expressionactivatednot defined inactivation.outputsrunner-labelaw-gpu-runner-T4(12 workflows)shellcheckSC2012findinstead oflsTop Priority Issues
1. Template Injection (High Severity)
run:shell scripts via$\{\{ github.event.* }}expressions, enabling arbitrary shell command execution2. Dangerous Use of Environment File — github-env (High Severity)
$GITHUB_ENVallows injecting environment variables into subsequent steps, potentially leading to code execution or secret theft3. Unknown Permission Scope
copilot-requestscopilot-requests: writepermission is not recognized by actionlint's known permission scopes. This may be a custom/preview scope — add it toactionlint.yamlconfig if it's a valid self-hosted scope.Fix Suggestion: template-injection
Issue: User-controlled GitHub context values interpolated directly into shell scripts
Severity: High
Affected Workflows: 45 workflows, 102 occurrences
Prompt to Copilot Agent:
After (fixed):
Common untrusted sources to fix:
$\{\{ github.event.issue.title }}→$ISSUE_TITLE$\{\{ github.event.issue.body }}→$ISSUE_BODY$\{\{ github.event.pull_request.title }}→$PR_TITLE$\{\{ github.event.pull_request.body }}→$PR_BODY$\{\{ github.event.comment.body }}→$COMMENT_BODY$\{\{ github.head_ref }}→$HEAD_REF$\{\{ github.event.discussion.title }}→$DISCUSSION_TITLEPlease apply this fix to all affected .md workflow files (NOT .lock.yml files).
The .lock.yml files are auto-generated — fix the source .md files only.
Beta Was this translation helpful? Give feedback.
All reactions