🔍 Static Analysis Report - November 14, 2025 #3945
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 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 14, 2025
Executive Summary
Comprehensive static analysis scan completed on 70 agentic workflows using three security tools: zizmor (security), poutine (supply chain), and actionlint (linting). The scan identified 1 HIGH severity security issue, 2 MEDIUM severity issues, and 2 LOW severity issues requiring attention.
Key Finding: The
ci-doctor.mdworkflow uses theworkflow_runtrigger, which is fundamentally insecure and poses a HIGH risk for privilege escalation and secret exposure.Full Static Analysis Report
Analysis Overview
Findings by Tool
🔴 Critical Findings
1. Dangerous Workflow Trigger (HIGH SEVERITY)
Issue:
dangerous-triggers- Use of fundamentally insecure workflow triggerSeverity: 🔴 High
Tool: zizmor
Reference: (redacted)#dangerous-triggers
Affected Workflow:
ci-doctor.md(line 47)Description:
The CI Doctor workflow uses the
workflow_runtrigger, which is fundamentally insecure because:Security Impact:
An attacker could potentially:
Recommended Fix:
Replace
workflow_runtrigger with a scheduled trigger that uses the GitHub API to check for failed workflow runs. This approach is safer because it doesn't execute in response to potentially malicious triggers.🟡 High Priority Findings
2. Excessive Permissions (MEDIUM SEVERITY)
Issue:
excessive-permissions- Overly broad permissions grantedSeverity: 🟡 Medium
Tool: zizmor
Reference: (redacted)#excessive-permissions
Affected Workflow:
ci-doctor.md(2 locations: lines 57, 570)Locations:
permissions: read-allagentjobDescription:
The workflow grants broader permissions than necessary, violating the principle of least privilege. This increases the attack surface if the workflow is compromised.
Recommended Fix:
Specify only the exact permissions needed:
🟢 Medium Priority Findings
3. Template Injection Risk (LOW SEVERITY)
Issue:
template-injection- Code injection via template expansionSeverity: 🟢 Low
Tool: zizmor
Reference: (redacted)#template-injection
Affected Workflows (2):
mcp-inspector.md(line 1130) - "Setup MCPs" step namecopilot-session-insights.md(line 205) - continue-on-error directiveDescription:
Potential for code injection if untrusted data flows into template expressions. While marked as Low severity, this could escalate if combined with other vulnerabilities.
Recommended Fix:
Review template expressions to ensure no untrusted user input is interpolated. Use environment variables or intermediate steps to sanitize inputs before template expansion.
📊 Additional Findings (Non-Security)
Outdated Action SHAs (3 workflows)
ci-doctor.md:actions/github-script@v8(60a0d83 → ed59741)dictation-prompt.md:actions/upload-artifact@v5(ea165f8 → 330a01c)test-secret-masking.md:actions/github-script@v8(60a0d83 → ed59741)Recommendation: Update action references to use the latest commit SHAs for improved security.
Missing Permissions (2 workflows)
daily-multi-device-docs-tester.md: Missingpull-requests: readexample-permissions-warning.md: Missing multiple write permissionsRecommendation: Add required permissions to workflow frontmatter or reduce toolsets that require them.
Network Firewalling Warnings (10 workflows)
Multiple Claude-based workflows specify network restrictions, but the Claude engine doesn't support network firewalling. Affected workflows:
Note: Network may not be properly sandboxed for these workflows.
🔧 Fix Recommendation: dangerous-triggers
Priority: IMMEDIATE
Workflow: ci-doctor.md
Vulnerability: dangerous-triggers (High Severity)
Detailed Fix Instructions
The CI Doctor workflow monitors completed workflow runs for failures. The current implementation uses the insecure
workflow_runtrigger. Here's a secure alternative:Step 1: Change Trigger to Schedule
Step 2: Use GitHub API to Query Workflow Runs
Benefits of This Approach:
Implementation Notes:
workflow_dispatchallows on-demand execution📈 Compilation Status
Successfully Compiled: 70 workflows ✅
All compiled workflows and their lock files are available in
.github/workflows/*.lock.ymlFailed Compilation: 1 workflow ❌
Recommendation: Investigate typist.md compilation failure separately.
Not Compiled: 6 workflows⚠️
The following workflows were not included in this scan (marked as "No" or "N/A" in status):
Recommendation: Attempt to compile these workflows to ensure complete coverage.
🎯 Prioritized Action Plan
Immediate Actions (This Week)
✅ Fix dangerous-triggers in ci-doctor.md (HIGH severity)
workflow_runtrigger with scheduled API-based checks✅ Reduce excessive-permissions in ci-doctor.md (MEDIUM severity)
permissions: read-allwith specific permissionsShort-term Actions (Next 2 Weeks)
🔍 Review template-injection findings (LOW severity)
🔄 Update outdated action SHAs
🔧 Investigate typist.md compilation failure
Long-term Actions (Next Month)
📋 Add missing permissions to workflows
🔐 Review network firewalling warnings
✅ Compile remaining 6 workflows
🔁 Establish regular security scanning
📚 Resources
💾 Scan Data
All scan data has been stored in the cache memory for future reference:
/tmp/gh-aw/cache-memory/security-scans/2025-11-14-raw-findings.md/tmp/gh-aw/cache-memory/security-scans/index.json/tmp/gh-aw/cache-memory/vulnerabilities/by-tool.json/tmp/gh-aw/cache-memory/fix-templates/🔍 Summary
This static analysis scan provides a comprehensive security review of 70 agentic workflows. The most critical finding is the use of the insecure
workflow_runtrigger in ci-doctor.md, which poses a HIGH risk for privilege escalation and should be fixed immediately.Overall, the repository has a relatively strong security posture with only 5 total findings, none of which are CRITICAL severity. The recommended fixes are straightforward and can be implemented with minimal disruption to existing workflows.
Next Steps:
Quick Stats
Top Priority
🔴 CRITICAL: Fix
dangerous-triggersinci-doctor.md- Replace insecureworkflow_runtrigger with secure scheduled API-based workflow monitoring.Detailed fix instructions are available in the full report above.
Scan Date: 2025-11-14
Tools: zizmor v1.x, poutine, actionlint
Generated by: Static Analysis Report Agent
Beta Was this translation helpful? Give feedback.
All reactions