Static Analysis Report - 2025-11-29 #5071
Closed
Replies: 2 comments 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
This discussion was automatically closed because it was created by an agentic workflow more than 3 days 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.
-
Analysis Summary
Comprehensive static analysis scan completed on 2025-11-29 covering all 89 agentic workflow files using three industry-standard tools: zizmor (security scanner), poutine (supply chain security), and actionlint (workflow linter).
Key Findings:
Full Static Analysis Report
Tools Used
Executive Summary Statistics
Overview
Findings by Tool
Detailed Findings
🔒 Zizmor Security Findings
Total Security Issues: 364 affecting 100% of workflows (89/89)
By Severity
By Issue Type
Priority Issue: Template Injection (361 occurrences)
Description: Code injection via template expansion from user-controlled data
Impact: The workflows use GitHub Actions template expressions (e.g.,
${{ github.event.issue.number }},${{ github.event.comment.id }}) in contexts where they could expand attacker-controlled data. This creates a template injection vulnerability that could allow:Example Vulnerable Pattern:
Affected Workflows: All 89 workflows contain this pattern in the "Append GitHub context to prompt" step.
🔍 Actionlint Linting Findings
Total Issues: 14 affecting 12% of workflows (11/89)
By Kind
Details
Shellcheck Issues: Mostly minor shell script quality issues such as:
Syntax Check: Invalid key "names" in issues section (cloclo.lock.yml:377)
Expression Error: Undefined property
github.aw.inputs.count(close-old-discussions.lock.yml:547)🔗 Poutine Supply Chain Findings
Total Findings: 0
✅ No supply chain security issues detected - All action references and dependencies are secure.
Fix Recommendations
🚨 IMMEDIATE (High Priority)
1. Fix Template Injection Vulnerability (361 occurrences, all workflows)
Recommended Approach: Use environment variables instead of direct template expansion
Before (Vulnerable):
After (Secure):
Alternative: Consider whether GitHub context information is necessary at all. If the agent has access to GitHub API, this context injection might be redundant.
Implementation Strategy:
2. Fix Unpinned Action Reference
One workflow uses an unpinned action reference. Pin to a specific SHA for security.
3. Review Excessive Permissions
One workflow has overly broad permissions. Apply principle of least privilege.
📋 SHORT-TERM (Medium Priority)
1. Address Actionlint Issues
2. Review Artipacked Finding
One workflow may be persisting credentials through artifacts. Review and sanitize if needed.
🔄 LONG-TERM (Best Practices)
Integrate Static Analysis in CI/CD
Update Workflow Templates
Establish Security Baseline
Historical Context
This is the first comprehensive static analysis scan using all three tools. No historical comparison data is available yet. Future scans will track:
Action Items
Validation
After implementing fixes:
gh aw compile --zizmor --actionlint --poutineto verify all issues resolvedResources
Scan Artifacts
Full analysis results have been saved to the cache memory:
/tmp/gh-aw/cache-memory/security-scans/2025-11-29.json/tmp/gh-aw/cache-memory/security-scans/index.json/tmp/gh-aw/cache-memory/fix-templates/template-injection-fix.mdNext Steps
The most critical finding is the template injection vulnerability affecting all 89 workflows. This should be addressed immediately by updating the gh-aw workflow compiler to generate secure code patterns, then recompiling all workflows.
For detailed fix instructions, see the full report above. A fix template has been prepared and saved to the cache memory for reference.
Beta Was this translation helpful? Give feedback.
All reactions