You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Workflows Scanned: 125 (123 analyzed by zizmor, all checked by other tools)
Workflows Affected: 125+ (nearly all workflows have at least one finding)
Findings by Tool
Tool
Total
Critical
High
Medium
Low
Info
zizmor (security)
18
0
0
2
1
15
poutine (supply chain)
128
0
0
0
0
128
actionlint (linting)
23
0
0
0
0
23
Key Observation: Most findings are informational or low severity, indicating good security practices are already in place. The high volume from poutine (128) is due to a single repeated pattern across all workflows.
Clustered Findings by Tool and Type
🔒 Zizmor Security Findings
Issue Type
Severity
Count
Affected Workflows
template-injection
Informational
16
11 workflows
excessive-permissions
Medium
1
layout-spec-maintainer.lock.yml
artipacked
Medium
1
release.lock.yml
Medium Severity Issues (Priority):
excessive-permissions in layout-spec-maintainer.lock.yml - Job has overly broad permissions
artipacked in release.lock.yml - Potential credential persistence through artifacts
This is the installation of the awf (agentic workflow firewall) binary. While marked as "info" level, this represents a supply chain security opportunity for improvement.
✅ Actionlint Linting Issues
Issue Type
Count
Description
expression
19
Undefined properties in expressions (e.g., steps.check_command_position.outputs)
shellcheck
4
Shell script style issues (SC2129: suggest using command grouping)
Common Expression Errors:
Missing check_command_position step outputs referenced in activation jobs
Missing bead needs outputs in beads-worker workflow
Severity: Info → Upgrade to Medium (Supply Chain Risk) Impact: All 125+ workflows download and execute installation script without verification Risk: Man-in-the-middle attacks, compromised source repository, version drift
Recommendation: Implement checksum verification or use pre-built binaries from GitHub releases.
2. Excessive Permissions (Zizmor - 1 occurrence)
Severity: Medium Workflow: layout-spec-maintainer.lock.yml Issue: Job-level permissions are overly broad Reference: (redacted)
Recommendation: Apply principle of least privilege and scope permissions to only what's needed.
3. Credential Persistence (Zizmor - 1 occurrence)
Severity: Medium Workflow: release.lock.yml Issue: Potential credential persistence through GitHub Actions artifacts Reference: (redacted)
Recommendation: Review artifact uploads to ensure no credentials are inadvertently included.
Severity: Error (Linting) Impact: Workflows may fail or behave unexpectedly at runtime Common Issue: References to undefined step outputs or workflow inputs
Recommendation: Fix undefined property references in expressions to prevent runtime failures.
🔧 Fix Suggestion: Unverified Script Execution
Issue: Shell scripts downloaded from remote URLs without integrity verification Severity: Info (Supply Chain) Affected: 128 instances across all 125+ workflows
Description: Code injection via template expansion Severity: Informational (Low risk in most cases) Reference: (redacted)
These findings flag step names that use GitHub Actions expressions. Most are likely false positives as they use trusted contexts (secrets, configuration) rather than user input. Each should be reviewed to confirm.
excessive-permissions (1 occurrence)
Workflow: layout-spec-maintainer.lock.yml:69 Description: Job has overly broad permissions Severity: Medium Reference: (redacted)
The agent job has permissions that are broader than necessary. Apply principle of least privilege.
artipacked (1 occurrence)
Workflow: release.lock.yml:1092 Description: Credential persistence through GitHub Actions artifacts Severity: Medium Reference: (redacted)
Review artifact uploads in the release workflow to ensure credentials aren't inadvertently included.
Actionlint Findings (Examples)
Expression Errors (19 total)
Example 1: archie.lock.yml:71
property "check_command_position" is not defined in object type
Example 2: beads-worker.lock.yml:1101-1103
property "bead" is not defined in needs object
property "reason" and "state" not defined in inputs
Example 3: brave.lock.yml:62, cloclo.lock.yml:98, craft.lock.yml:58
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Analysis Summary
Daily security scan completed for all agentic workflow files using three static analysis tools: zizmor, poutine, and actionlint.
Findings by Tool
Key Observation: Most findings are informational or low severity, indicating good security practices are already in place. The high volume from poutine (128) is due to a single repeated pattern across all workflows.
Clustered Findings by Tool and Type
🔒 Zizmor Security Findings
Medium Severity Issues (Priority):
layout-spec-maintainer.lock.yml- Job has overly broad permissionsrelease.lock.yml- Potential credential persistence through artifacts📦 Poutine Supply Chain Findings
Pattern: All instances involve the same command:
curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bashThis is the installation of the
awf(agentic workflow firewall) binary. While marked as "info" level, this represents a supply chain security opportunity for improvement.✅ Actionlint Linting Issues
steps.check_command_position.outputs)Common Expression Errors:
check_command_positionstep outputs referenced in activation jobsbeadneeds outputs in beads-worker workflow🎯 Top Priority Issues
1. Unverified Script Execution (Poutine - 128 occurrences)
Severity: Info → Upgrade to Medium (Supply Chain Risk)
Impact: All 125+ workflows download and execute installation script without verification
Risk: Man-in-the-middle attacks, compromised source repository, version drift
Recommendation: Implement checksum verification or use pre-built binaries from GitHub releases.
2. Excessive Permissions (Zizmor - 1 occurrence)
Severity: Medium
Workflow:
layout-spec-maintainer.lock.ymlIssue: Job-level permissions are overly broad
Reference: (redacted)
Recommendation: Apply principle of least privilege and scope permissions to only what's needed.
3. Credential Persistence (Zizmor - 1 occurrence)
Severity: Medium
Workflow:
release.lock.ymlIssue: Potential credential persistence through GitHub Actions artifacts
Reference: (redacted)
Recommendation: Review artifact uploads to ensure no credentials are inadvertently included.
4. Expression Errors (Actionlint - 19 occurrences)
Severity: Error (Linting)
Impact: Workflows may fail or behave unexpectedly at runtime
Common Issue: References to undefined step outputs or workflow inputs
Recommendation: Fix undefined property references in expressions to prevent runtime failures.
🔧 Fix Suggestion: Unverified Script Execution
Issue: Shell scripts downloaded from remote URLs without integrity verification
Severity: Info (Supply Chain)
Affected: 128 instances across all 125+ workflows
Current Pattern
curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bashRecommended Fix Options
Option 1: Checksum Verification (Most Secure)
Option 2: Pin to Commit SHA (Better)
Option 3: Use Pre-built Binary (Best)
Implementation Strategy
Since this pattern is repeated across all workflows via the compilation system:
gh aw compile --allto apply the fix to all 125+ workflows automaticallyThis single fix will resolve all 128 poutine findings at once.
Detailed Findings by Workflow (Click to Expand)
Zizmor Findings
template-injection (16 occurrences)
Affected Workflows:
Description: Code injection via template expansion
Severity: Informational (Low risk in most cases)
Reference: (redacted)
These findings flag step names that use GitHub Actions expressions. Most are likely false positives as they use trusted contexts (secrets, configuration) rather than user input. Each should be reviewed to confirm.
excessive-permissions (1 occurrence)
Workflow: layout-spec-maintainer.lock.yml:69
Description: Job has overly broad permissions
Severity: Medium
Reference: (redacted)
The
agentjob has permissions that are broader than necessary. Apply principle of least privilege.artipacked (1 occurrence)
Workflow: release.lock.yml:1092
Description: Credential persistence through GitHub Actions artifacts
Severity: Medium
Reference: (redacted)
Review artifact uploads in the release workflow to ensure credentials aren't inadvertently included.
Actionlint Findings (Examples)
Expression Errors (19 total)
Example 1: archie.lock.yml:71
Example 2: beads-worker.lock.yml:1101-1103
Example 3: brave.lock.yml:62, cloclo.lock.yml:98, craft.lock.yml:58
Impact: These errors indicate workflow logic issues that may cause runtime failures.
Shellcheck Warnings (4 total)
All in: beads-worker.lock.yml:961
Issue: SC2129 - Style suggestion
Impact: Code style issue, not a functional problem. Can be safely addressed for better maintainability.
📊 Historical Trends
First Scan: This is the baseline scan for the repository.
Future Tracking:
/tmp/gh-aw/cache-memory/security-scans/2026-01-05.json/tmp/gh-aw/cache-memory/vulnerabilities//tmp/gh-aw/cache-memory/fix-templates/Subsequent scans will compare against this baseline to track:
💡 Recommendations
Immediate Actions (Medium Severity)
Short-term Actions (Supply Chain Security)
Long-term Actions (Process Improvements)
🎯 Next Steps
📎 References
/tmp/gh-aw/cache-memory/fix-templates//tmp/gh-aw/cache-memory/security-scans/2026-01-05.jsonBeta Was this translation helpful? Give feedback.
All reactions