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: 4,797 github.event.* matches found, but manual sampling confirms all occurrences are consistently isolated into intermediate env:-scoped GH_AW_EXPR_* variables (the standard gh-aw sanitization pattern) rather than interpolated directly into run:/script bodies — no unsafe direct interpolation detected. 284/286 lock files use this GH_AW_EXPR_ indirection pattern.
Secrets-in-outputs check: The naive scan flagged 38 lines, but these are false positives — they are env: blocks (e.g. ANTHROPIC_API_KEY, COPILOT_GITHUB_TOKEN) that happened to fall within 5 lines of an unrelated outputs: key, not secrets actually placed in job outputs: values. No genuine secret exposure via job outputs was found.
🎯 Key Findings
GITHUB_TOKEN dominates usage (5,026 refs, ~52% of all secret references), consistent with its role as the default auth fallback across nearly every workflow.
gh-aw's internal token hierarchy is heavily used: GH_AW_GITHUB_TOKEN (4,327) and GH_AW_GITHUB_MCP_SERVER_TOKEN (1,880) together account for ~64% of references, reflecting the standard MCP-server token cascade pattern.
Observability secrets are widespread: OpenTelemetry/Sentry/Grafana auth secrets (GH_AW_OTEL_SENTRY_AUTHORIZATION, GH_AW_OTEL_GRAFANA_AUTHORIZATION, endpoints) appear in 489–735 occurrences each, indicating most workflows ship with telemetry wiring enabled.
LLM provider keys present but scoped: ANTHROPIC_API_KEY (269) and Docker registry credentials (DOCKER_USERNAME/DOCKER_PAT, 110 each) are used only where the relevant engine/registry step requires them.
100% redaction coverage — every compiled workflow includes a redact_secrets step, meaning secret values are consistently scrubbed from logs regardless of which secrets a workflow consumes.
💡 Recommendations
Maintain redaction coverage as a compiler invariant — continue enforcing that every new workflow template includes the redact_secrets step; consider adding a CI check that fails compilation if it's missing.
Periodically audit GH_AW_EXPR_* indirection for any new event-context fields introduced in workflow authoring, to ensure future github.event.* usages continue to route through sanitized env vars rather than being interpolated directly.
Review OTEL/observability secret scope — with telemetry secrets appearing in the majority of workflows, confirm these are optional and gracefully absent when telemetry is disabled, to avoid unnecessary secret surface area.
🔑 Top 10 Secrets by Usage
Rank
Secret Name
Occurrences
Type
1
GITHUB_TOKEN
5,026
GitHub Token
2
GH_AW_GITHUB_TOKEN
4,327
GitHub Token
3
GH_AW_GITHUB_MCP_SERVER_TOKEN
1,880
GitHub Token
4
GH_AW_OTEL_SENTRY_AUTHORIZATION
735
Telemetry
5
COPILOT_GITHUB_TOKEN
729
GitHub Token
6
GH_AW_OTEL_SENTRY_ENDPOINT
491
Telemetry
7
GH_AW_OTEL_GRAFANA_AUTHORIZATION
489
Telemetry
8
ANTHROPIC_API_KEY
269
LLM Provider
9
GH_AW_OTEL_GRAFANA_ENDPOINT
245
Telemetry
10
DOCKER_USERNAME / DOCKER_PAT
110 each
Registry Credential
📈 Trends
No historical baseline is available yet (first recorded run in this session). Today's stats have been captured and will be used as the baseline for tomorrow's comparison:
Total workflows: 286
Secret refs: 9,744
Token refs: 2,131
Unique secret types: 39
Redaction count: 286
Cascade count: 1,023
📖 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-20
Workflow Files Analyzed: 286
Run: https://github.com/github/gh-aw/actions/runs/32399328830
📊 Executive Summary
secrets.*)github.token)🛡️ Security Posture
✅ Redaction System: 286/286 workflows (100%) have
redact_secretssteps✅ Token Cascades: 1,023 instances of
GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKENfallback chains✅ Permission Blocks: 286 explicit
permissions:blocks (1 per workflow — least-privilege declared everywhere)Template injection check: 4,797
github.event.*matches found, but manual sampling confirms all occurrences are consistently isolated into intermediateenv:-scopedGH_AW_EXPR_*variables (the standard gh-aw sanitization pattern) rather than interpolated directly intorun:/script bodies — no unsafe direct interpolation detected. 284/286 lock files use thisGH_AW_EXPR_indirection pattern.Secrets-in-outputs check: The naive scan flagged 38 lines, but these are false positives — they are
env:blocks (e.g.ANTHROPIC_API_KEY,COPILOT_GITHUB_TOKEN) that happened to fall within 5 lines of an unrelatedoutputs:key, not secrets actually placed in joboutputs:values. No genuine secret exposure via job outputs was found.🎯 Key Findings
GH_AW_GITHUB_TOKEN(4,327) andGH_AW_GITHUB_MCP_SERVER_TOKEN(1,880) together account for ~64% of references, reflecting the standard MCP-server token cascade pattern.GH_AW_OTEL_SENTRY_AUTHORIZATION,GH_AW_OTEL_GRAFANA_AUTHORIZATION, endpoints) appear in 489–735 occurrences each, indicating most workflows ship with telemetry wiring enabled.ANTHROPIC_API_KEY(269) and Docker registry credentials (DOCKER_USERNAME/DOCKER_PAT, 110 each) are used only where the relevant engine/registry step requires them.redact_secretsstep, meaning secret values are consistently scrubbed from logs regardless of which secrets a workflow consumes.💡 Recommendations
redact_secretsstep; consider adding a CI check that fails compilation if it's missing.GH_AW_EXPR_*indirection for any new event-context fields introduced in workflow authoring, to ensure futuregithub.event.*usages continue to route through sanitized env vars rather than being interpolated directly.🔑 Top 10 Secrets by Usage
📈 Trends
No historical baseline is available yet (first recorded run in this session). Today's stats have been captured and will be used as the baseline for tomorrow's comparison:
📖 Reference Documentation
For detailed information about secret usage patterns, see:
scratchpad/secrets-yml.mdactions/setup/js/redact_secrets.cjsGenerated: 2026-08-20T17:48:10Z
Workflow: Daily Secrets Analysis Agent
All reactions