🔍 Static Analysis Report - November 3, 2025 #3074
Closed
Replies: 2 comments 1 reply
-
|
/plan ignore self hosted runners. |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
This discussion was automatically closed because it was created by an agentic workflow more than 1 week ago. |
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.
-
🔍 Static Analysis Report - November 3, 2025
Executive Summary
Comprehensive static analysis scan of 67 agentic workflows using three industry-standard security and code quality tools: zizmor (security), poutine (supply chain security), and actionlint (linting).
Key Findings:
Analysis Summary
Findings by Severity
Top Priority Issues
1. 🔴 Self-Hosted Runners on PR Workflows (Security Risk)
Tool: Poutine⚠️ Warning (Security)
Rule:
pr_runs_on_self_hostedSeverity:
Count: 35 occurrences
Affected Workflows: 8 workflows
Workflows:
Risk: Running pull request workflows on self-hosted runners allows untrusted code to execute on your infrastructure, potentially leading to:
Recommended Action:
ubuntu-latest)Fix Template: Available in
/tmp/gh-aw/cache-memory/fix-templates/poutine-pr-self-hosted-fix.md2. 💬 SC2086: Unquoted Variables (Code Quality)
Tool: Actionlint (shellcheck)
Rule:
SC2086Severity: ℹ️ Info
Count: 1,420 occurrences
Affected Workflows: All 67 workflows
Issue: Variables used without double quotes can cause unexpected behavior with spaces or glob characters.
Common Patterns:
Impact:
Recommended Action: Add double quotes around all variable references
Fix Template: Available in
/tmp/gh-aw/cache-memory/fix-templates/actionlint-sc2086-fix.md3. 📝 SC2129: Use Grouped Redirects (Code Style)
Tool: Actionlint (shellcheck)
Rule:
SC2129Severity: Style
Count: 102 occurrences
Affected Workflows: All 67 workflows
Issue: Multiple echo commands redirect to the same file inefficiently.
Current Pattern (in every workflow):
Better Pattern:
{ echo "<details>" echo "<summary>Generated Prompt</summary>" echo "" } >> "$GITHUB_STEP_SUMMARY"Root Cause: This is generated by the workflow compiler template. Fixing the template once will fix all 102 occurrences.
Recommended Action: Update the workflow compiler template's "Generate Prompt" step
Fix Template: Available in
/tmp/gh-aw/cache-memory/fix-templates/actionlint-sc2129-fix.md4. 🔐 Template Injection (Low Severity)
Tool: Zizmor
Rule:
template-injectionSeverity: 🟡 Low
Count: 33 occurrences (11 unique instances)
Affected Workflows: duplicate-code-detector, mcp-inspector, smoke-codex
Issue: Code injection via template expansion in GitHub Actions expressions.
Reference: (redacted)#template-injection
Recommended Action: Review affected workflows and sanitize template inputs where user-controlled data is used.
5. 📋 SC2046: Quote Command Substitution
Tool: Actionlint (shellcheck)⚠️ Warning
Rule:
SC2046Severity:
Count: 67 occurrences
Affected Workflows: All 67 workflows
Issue: Command substitution should be quoted to prevent word splitting.
Recommended Action: Quote command substitutions:
$(command)→"$(command)"All Findings by Tool
Zizmor Security Findings (33 total)
Template Injection (Low Severity)
Reference: (redacted)#template-injection
These are low-severity findings that should be reviewed but are not critical security vulnerabilities.
Poutine Supply Chain Findings (83 total)
1. Self-Hosted PR Runners (35 occurrences)⚠️ HIGH PRIORITY
Severity: Warning (Security Risk)
Workflows: changeset, q, scout, smoke-claude, smoke-codex, smoke-copilot, smoke-copilot.firewall, smoke-opencode
Risk: Untrusted code execution on self-hosted infrastructure
2. Unpinnable Actions (43 occurrences)
Severity: Note
Description: Some GitHub Actions depend on mutable supply chain components and cannot be effectively pinned.
Affected:
3. Unverified Creator Actions (3 occurrences)
Severity: Note
Description: GitHub Actions from unverified creators are in use.
4. Injection Vulnerabilities (2 occurrences)
Severity: Warning
Workflow: create-branch
Description: Potential injection into bash/JavaScript with user input.
Actionlint Linting Findings (1,620 total)
Most Common Locations
SC2086 appears in:
SC2129 appears in:
SC2046 appears in:
$(find ...)patternsFix Priority and Impact
Priority 1: Security Issues (Immediate Action)
Self-hosted PR runners (35 occurrences) - Security risk
Injection vulnerabilities (2 occurrences) - Security risk
Priority 2: High-Volume Quality Issues (Template Fix)
Priority 3: Code Quality (Moderate Effort)
SC2086 quoted variables (1,420 occurrences) - Code robustness
SC2046 quoted command substitution (67 occurrences) - Code quality
Fix Templates
Detailed fix instructions have been created for the top 3 issues:
poutine-pr-self-hosted-fix.md- Self-hosted runner securityactionlint-sc2086-fix.md- Unquoted variablesactionlint-sc2129-fix.md- Grouped redirectsLocation:
/tmp/gh-aw/cache-memory/fix-templates/Each template includes:
Recommendations
Immediate Actions (This Week)
✅ Fix self-hosted runner security risk
ubuntu-latest✅ Fix injection vulnerabilities in create-branch workflow
Short-Term Actions (Next 2 Weeks)
✅ Fix SC2129 in compiler template
✅ Address template injection findings
Long-Term Actions (Next Month)
✅ Fix SC2086 across all workflows
✅ Establish automated security scanning in CI/CD
✅ Update workflow creation guidelines
Historical Trends
First comprehensive scan with all three tools: This establishes a baseline for future comparisons.
Baseline Metrics (November 3, 2025):
Future Scans: Compare against this baseline to track:
Verification Commands
After applying fixes, verify with:
Conclusion
This static analysis scan reveals 116 security-related findings and 1,620 code quality issues across 67 workflows. While most issues are informational (93.3%), there are important security risks that require immediate attention:
Critical Security Priority: 35 workflow jobs run on self-hosted runners with PR triggers, creating a significant security vulnerability. This should be addressed immediately.
Quick Wins: Fixing the SC2129 issue in the workflow compiler template will resolve 102 occurrences with a single change.
Long-Term Improvement: Implementing automated static analysis in CI/CD will prevent new issues and maintain security posture over time.
The detailed fix templates provide actionable guidance for addressing each issue category systematically.
Scan Metadata:
/tmp/gh-aw/cache-memory/security-scans/2025-11-03.jsonFix Templates:
/tmp/gh-aw/cache-memory/fix-templates/poutine-pr-self-hosted-fix.mdactionlint-sc2086-fix.mdactionlint-sc2129-fix.mdNext Steps:
Beta Was this translation helpful? Give feedback.
All reactions