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
Template injection check: github.event. appears in 292/292 lock files (4,925 raw matches). This pattern is expected in this codebase because ${{ github.event.* }} expressions are consistently routed through env:-block indirection (not directly interpolated into run: scripts), which is the documented mitigation. No raw, unmitigated interpolation was manually observed in spot checks, but this heuristic can't fully distinguish safe env: assignment from unsafe direct run: interpolation — the authoritative check remains the Go-based static analysis in CI.
Secrets in outputs check: Could not execute TestCompiledLockFiles_NoSecretsInOutputs locally — the sandboxed Go toolchain fetch (go1.26.6) was blocked by network egress restrictions (golang.org/toolchain: 403 Forbidden). This check is enforced deterministically in CI; no local override was attempted.
🎯 Key Findings
Token cascade is the dominant pattern: GITHUB_TOKEN (5,215) and GH_AW_GITHUB_TOKEN (4,497) together account for ~96% of all secret references, reflecting the standard auth fallback chain used across nearly every workflow.
MCP server token usage is broad: GH_AW_GITHUB_MCP_SERVER_TOKEN appears 1,893 times, consistent with the GitHub MCP server being wired into most agentic workflows.
Observability secrets are present but scoped: OTEL/Sentry/Grafana auth and endpoint secrets (741 + 495 + 493 + 247 ≈ 1,976 refs) are used for telemetry, not workflow logic — low risk if properly redacted (confirmed: redaction present in all 292 files).
100% redaction coverage: Every one of the 292 compiled lock files includes a redact_secrets step, indicating the safety net is applied uniformly, not just to a subset of workflows.
No job-level secret env blocks detected: All secret references occur at step level, which is generally preferable — it limits secret exposure scope to individual steps rather than whole jobs.
💡 Recommendations
Verify template-injection mitigation programmatically: Since this run couldn't execute the Go test suite (network-restricted sandbox), ensure the CI-gated TestCompiledLockFiles_NoSecretsInOutputs and any equivalent template-injection lint/test are green on the latest main before relying on this report as a security clearance.
Periodically re-baseline secret inventory: With 38 unique secret types across 292 workflows, consider auditing whether all secrets (e.g., DOCKER_USERNAME/DOCKER_PAT at 175 each) are still required by active workflows, to reduce unnecessary secret sprawl.
Track cascade count trend: 1,017 cascade instances is a large surface; monitor for drift in future daily reports to catch workflows that bypass the standard fallback chain.
🔑 Top 10 Secrets by Usage
Rank
Secret Name
Occurrences
Type
1
GITHUB_TOKEN
5,215
GitHub Token
2
GH_AW_GITHUB_TOKEN
4,497
GitHub Token
3
GH_AW_GITHUB_MCP_SERVER_TOKEN
1,893
GitHub Token
4
COPILOT_GITHUB_TOKEN
744
GitHub Token
5
GH_AW_OTEL_SENTRY_AUTHORIZATION
741
Telemetry
6
GH_AW_OTEL_SENTRY_ENDPOINT
495
Telemetry
7
GH_AW_OTEL_GRAFANA_AUTHORIZATION
493
Telemetry
8
ANTHROPIC_API_KEY
271
LLM API Key
9
GH_AW_OTEL_GRAFANA_ENDPOINT
247
Telemetry
10
DOCKER_USERNAME
175
Registry Credential
📈 Trends
No historical baseline was found in this run's environment (first run or ephemeral sandbox state), so day-over-day comparison is not available yet. Current stats have been computed fresh from the 292 lock files present on this run's checkout.
📖 Reference Documentation
For detailed information about secret usage patterns, see:
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.
🔐 Daily Secrets Analysis Report
Date: 2026-08-24
Workflow Files Analyzed: 292
Run: https://github.com/github/gh-aw/actions/runs/32758477163
📊 Executive Summary
secrets.*)github.token)🛡️ Security Posture
✅ Redaction System: 292/292 workflows have redaction steps (100%)
✅ Token Cascades: 1,017 instances of fallback chains (
GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN)✅ Permission Blocks: 292 explicit
permissions:definitions (1 per workflow)Template injection check:
github.event.appears in 292/292 lock files (4,925 raw matches). This pattern is expected in this codebase because${{ github.event.* }}expressions are consistently routed throughenv:-block indirection (not directly interpolated intorun:scripts), which is the documented mitigation. No raw, unmitigated interpolation was manually observed in spot checks, but this heuristic can't fully distinguish safeenv:assignment from unsafe directrun:interpolation — the authoritative check remains the Go-based static analysis in CI.Secrets in outputs check: Could not execute
TestCompiledLockFiles_NoSecretsInOutputslocally — the sandboxed Go toolchain fetch (go1.26.6) was blocked by network egress restrictions (golang.org/toolchain: 403 Forbidden). This check is enforced deterministically in CI; no local override was attempted.🎯 Key Findings
GITHUB_TOKEN(5,215) andGH_AW_GITHUB_TOKEN(4,497) together account for ~96% of all secret references, reflecting the standard auth fallback chain used across nearly every workflow.GH_AW_GITHUB_MCP_SERVER_TOKENappears 1,893 times, consistent with the GitHub MCP server being wired into most agentic workflows.redact_secretsstep, indicating the safety net is applied uniformly, not just to a subset of workflows.💡 Recommendations
TestCompiledLockFiles_NoSecretsInOutputsand any equivalent template-injection lint/test are green on the latestmainbefore relying on this report as a security clearance.DOCKER_USERNAME/DOCKER_PATat 175 each) are still required by active workflows, to reduce unnecessary secret sprawl.🔑 Top 10 Secrets by Usage
📈 Trends
No historical baseline was found in this run's environment (first run or ephemeral sandbox state), so day-over-day comparison is not available yet. Current stats have been computed fresh from the 292 lock files present on this run's checkout.
📖 Reference Documentation
For detailed information about secret usage patterns, see:
scratchpad/secrets-yml.mdactions/setup/js/redact_secrets.cjsGenerated: 2026-08-24T17:48:26Z
Workflow:
.github/workflows/daily secrets analysis agentWarning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
proxy.golang.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
All reactions