🔍 Static Analysis Report - December 8, 2025 #5845
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 all 103 agentic workflow files using three industry-standard security and code quality tools: zizmor (security scanner), poutine (supply chain security), and actionlint (workflow linter).
Scan Results Overview
Key Findings by Severity
Full Report Details
Detailed Analysis by Tool
🛡️ Zizmor Security Scanner
Total Findings: 17 (2 High, 1 Medium, 1 Low, 11 Informational, 2 Unknown)
Critical Security Issues (High Severity)
1. Cache Poisoning Vulnerability
release(.github/workflows/release.lock.yml:382:1)cache: true) which could allow an attacker to inject malicious code into the build cache, compromising release integrity.2. Excessive Permissions
speckit-dispatcher(.github/workflows/speckit-dispatcher.lock.yml:502:3)Medium Severity Issues
3. Artipacked (Credential Persistence)
release(.github/workflows/release.lock.yml:6269:9)Low/Informational Issues
4. Template Injection
breaking-change-checker(Informational)changeset(Informational)daily-performance-summary(Informational, 2 occurrences)duplicate-code-detector(Informational)mcp-inspector(Low)test-python-safe-input(Informational, 2 occurrences)📋 Actionlint Workflow Linter
Total Findings: 18 (16 Errors, 4 Warnings)
Shellcheck Issues (Code Quality)
Count: 10 errors across 2 workflows
Affected Workflows:
daily-performance-summary,test-python-safe-inputIssue Breakdown:
SC2086: Double quote to prevent globbing and word splitting
SC2129: Use
{ cmd1; cmd2; } >> fileinstead of individual redirectsSC2009: Consider using
pgrepinstead of greppingpsoutputExpression Errors
Count: 6 errors
Affected Workflow:
issue-monsterIssue: Property "search_issues" is not defined in object type
Missing Permissions Warnings
Count: 4 warnings
Affected Workflows:
firewall-escapesmoke-srt-custom-configsmoke-srttest-discussion-expiresIssue: Missing required permissions for github toolsets
🔗 Poutine Supply Chain Security
Total Findings: 0
No supply chain security issues detected. All workflows appear to follow best practices for supply chain security.
Findings Clustered by Issue Type
By Frequency
Most Affected Workflows
Fix Recommendation: Cache Poisoning (Highest Priority)
Issue Overview
Severity: High
Affected: release workflow
Reference: (redacted)#cache-poisoning
Problem
The release workflow uses Go module caching which can be vulnerable to cache poisoning attacks where an attacker injects malicious code into the build cache.
Solution
For release workflows, disable caching entirely to ensure maximum security:
Current Code (.github/workflows/release.md:75-79):
Recommended Fix:
Why This Fix?
Alternative: Cache with Trust Boundaries
If caching is needed, use explicit cache keys with trust boundaries:
The
github.ref_protectedcontext ensures different caches for protected vs unprotected refs.Steps to Apply Fix
.github/workflows/release.mdcache: truetocache: falsewith commentgh aw compile releaseto regenerate lock fileHistorical Context
This is the first comprehensive static analysis scan recorded in the cache memory system. Future scans will include trend analysis to track:
Recommendations by Priority
Immediate Actions (Next 24-48 hours)
Fix cache-poisoning in release workflow (High severity)
Review excessive-permissions in speckit-dispatcher (High severity)
Address artipacked credential persistence in release (Medium severity)
Short-term Actions (Next week)
Fix expression errors in issue-monster workflow
Fix shellcheck issues in 2 workflows
Add missing permissions to 4 workflows
Long-term Actions (Next month)
Review template-injection warnings
Establish automated static analysis
Update workflow creation guidelines
Regular security audits
Next Steps
Scan Artifacts
Analysis data stored in cache memory:
/tmp/gh-aw/cache-memory/security-scans/2025-12-08.json- Full scan results/tmp/gh-aw/cache-memory/vulnerabilities/by-tool.json- Vulnerabilities by tool/tmp/gh-aw/cache-memory/fix-templates/zizmor-cache-poisoning.md- Fix templateScan Timestamp: 2025-12-08T09:20:00Z
Analysis Tool: gh-aw compile with --zizmor --poutine --actionlint
Report Generated by: Static Analysis Report Agent
Beta Was this translation helpful? Give feedback.
All reactions