🔍 Static Analysis Report - November 19, 2025 #4324
Replies: 2 comments 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
Do option 1 |
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 19, 2025
Executive Summary
Daily static analysis scan completed on 20 representative workflows using three security and quality tools: zizmor (security), poutine (supply chain), and actionlint (linting). This scan identified a critical systematic issue affecting all compiled workflows.
Key Findings
Findings by Tool
Historical Trend
Note: The dramatic increase is due to newly detected actionlint expression errors that reveal a systematic compiler issue, not a regression in workflow quality.
Critical Issue: Workflow Compiler Bug
🚨 Issue #1: Expression Property Undefined (80 occurrences)
Tool: actionlint
Severity: ERROR
Count: 80 errors (4 per workflow × 20 workflows)
Impact: HIGH - Workflows reference undefined outputs
Description
All compiled workflows contain actionlint errors when accessing
needs.activation.outputs.comment_idandneeds.activation.outputs.comment_repo. These properties are referenced but never defined in the activation job's outputs section.Affected Workflows
All 18 workflows in the sample:
Error Locations (per workflow)
Each workflow has 4 instances:
Debug job inputs step:
Collect outputs step:
Root Cause
The workflow compiler generates references to
comment_idandcomment_repooutputs from the activation job, but these outputs are never declared in the activation job'soutputs:section.Example Problem:
Impact Assessment
Recommended Fix
This is a compiler-level bug that should be fixed in the workflow compilation logic:
Option 1: Conditionally Define Outputs (Recommended)
Option 2: Remove Unused References
If these outputs aren't actually needed, remove the references from the Debug and Collect outputs steps.
Option 3: Use Default Values
Security Finding: Template Injection
🔒 Issue #2: Template Injection Vulnerability (1 occurrence)
Tool: zizmor
Severity: LOW
Rule: template-injection
Reference: (redacted)#template-injection
Description
Code injection via template expansion detected in the "Setup MCPs" step of the mcp-inspector workflow.
Affected Workflow
Details
Template expressions in the MCP setup step could potentially allow code injection if inputs are not properly sanitized. While the risk is low in this controlled environment, it's a security best practice to review and sanitize template usage.
Recommended Action
Compilation Warnings
Type: Configuration Warning
Severity: INFO
Impact: Medium - Network restrictions may not be enforced
Description
Four workflows specify network restrictions using
network.allowed, but the selected Claude engine does not support network firewalling. Network traffic may not be properly sandboxed.Affected Workflows
Recommendation
Detailed Analysis by Tool
Actionlint Findings (80 errors)
Expression Property Undefined
Pattern:
${{ needs.activation.outputs.comment_id }}and${{ needs.activation.outputs.comment_repo }}Error Message:
Occurrences by Workflow:
Total: 72 errors across 18 workflows (4 errors per workflow)
Note: Two workflows (scout, unbloat-docs) compiled without this error, suggesting they may have different activation logic.
Zizmor Security Findings (1 warning)
Template Injection - Low Severity
Workflow: mcp-inspector
Location: .github/workflows/mcp-inspector.lock.yml:925:9
Step: Setup MCPs
Severity: Low
Rule: template-injection
Description: Code injection via template expansion
Context:
Reference: (redacted)#template-injection
Recommendation: Review template usage in MCP setup and ensure proper input sanitization.
Poutine Supply Chain Findings (0 issues)
No supply chain security issues detected by poutine scanner.
✅ All workflows passed poutine security analysis.
Priority Recommendations
Immediate Actions (P0)
Fix Workflow Compiler Bug
Validate Fix Across All Workflows
Short-term Actions (P1)
Review Template Injection in mcp-inspector
Document Network Firewalling Limitations
Long-term Actions (P2)
Enhance Compiler Validation
Automate Static Analysis in CI/CD
Update Workflow Templates
Comparison with Previous Scans
November 18, 2025 Scan
November 19, 2025 Scan (Today)
Analysis
The dramatic increase from 1 to 81 findings is not a regression in workflow quality. Instead, today's scan revealed a pre-existing systematic issue in the workflow compiler that wasn't detected in the November 18 scan. This is actually a positive development - we've discovered a compiler bug that needs to be fixed at the framework level.
The template-injection finding in mcp-inspector remains consistent across both scans, confirming it's a persistent low-severity issue that should be addressed.
Fix Prompt for Workflow Compiler Team
Issue: Actionlint Expression Property Undefined
Severity: HIGH
Impact: All compiled workflows contain actionlint errors
Affected: 100% of workflows in sample
Problem Statement:
The workflow compiler generates references to
needs.activation.outputs.comment_idandneeds.activation.outputs.comment_repoin the Debug and Collect outputs steps, but these outputs are never defined in the activation job'soutputs:section.Required Fix:
Modify the workflow compiler to:
Testing:
After fixing, run:
Verify zero actionlint expression errors across all workflows.
Files to Examine:
Success Metrics
A successful scan resolution will achieve:
Cache Memory Updated
Scan results saved to:
/tmp/gh-aw/cache-memory/security-scans/2025-11-19.json/tmp/gh-aw/cache-memory/fix-templates/actionlint-expression-property-undefined.mdHistorical trend data maintained for future analysis.
Next Scan
Scheduled: November 20, 2025 at 09:00 UTC
Focus: Verify compiler fix implementation and validate zero expression errors
Beta Was this translation helpful? Give feedback.
All reactions