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: TestCompiledLockFiles_NoGitHubEventExpressionsInRunScripts passed — no direct github.event.* interpolation found in run: scripts
✅ Secrets-in-Outputs Check: TestCompiledLockFiles_NoSecretsInOutputs passed — no secrets found in job outputs
🎯 Key Findings
Universal redaction and permission coverage: All 298 compiled workflows include both a secret-redaction step and an explicit permissions: block — a strong baseline security posture with no gaps.
GitHub token usage dominates: GITHUB_TOKEN and GH_AW_GITHUB_TOKEN together account for ~96% of all secret references, reflecting the fallback-cascade pattern (GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN) used consistently across the MCP server and CLI tooling integration points (1,011 cascade instances).
AI-engine credentials are broadly but not universally adopted: OPENAI_API_KEY (64 workflows), CODEX_API_KEY (63 workflows), and ANTHROPIC_API_KEY (56 workflows) appear in roughly a fifth of all workflows each, consistent with multi-engine support (Codex, Claude, custom) rather than every workflow needing every engine's key.
Observability secrets are present but scoped: OpenTelemetry-related secrets (Sentry auth/endpoint, Grafana auth/endpoint, default OTLP headers/endpoint) total ~2,180 references, indicating consistent instrumentation across workflows without overexposure (no OTLP secret appears in job outputs per Step 6 checks).
No anomalies detected: Both automated Go tests (template-injection and secrets-in-outputs) passed cleanly with zero flagged workflows.
💡 Recommendations
Maintain the 100% redaction/permissions coverage as a regression gate — consider adding a CI assertion that fails compilation if a new .lock.yml lacks either control, so the current strong baseline can't silently erode.
Continue tracking day-over-day secret-reference deltas. This is the first day stats have been captured for comparison (no prior secrets-stats.json was found); tomorrow's report will be the first with trend data — watch especially for sudden growth in unique secret types, which could indicate scope creep in what workflows are permitted to access.
🔑 Top 15 Secrets by Usage
Rank
Secret Name
Occurrences
Type
1
GITHUB_TOKEN
5325
GitHub Token
2
GH_AW_GITHUB_TOKEN
4544
GitHub Token
3
GH_AW_GITHUB_MCP_SERVER_TOKEN
1939
GitHub Token (MCP)
4
GH_AW_OTEL_SENTRY_AUTHORIZATION
741
Observability
5
COPILOT_GITHUB_TOKEN
520
GitHub Token
6
GH_AW_OTEL_SENTRY_ENDPOINT
495
Observability
7
GH_AW_OTEL_GRAFANA_AUTHORIZATION
493
Observability
8
OPENAI_API_KEY
398
AI Engine
9
CODEX_API_KEY
397
AI Engine
10
ANTHROPIC_API_KEY
255
AI Engine
11
GH_AW_OTEL_GRAFANA_ENDPOINT
247
Observability
12
GH_AW_DEFAULT_OTLP_HEADERS
102
Observability
13
GH_AW_DEFAULT_OTLP_ENDPOINT
102
Observability
14
GH_AW_CI_TRIGGER_TOKEN
70
CI/Automation
15
GH_AW_SIDE_REPO_PAT
24
Repository Access
📈 Trends
No historical secrets-stats.json was found in this run's environment — this is treated as the baseline day. Tomorrow's report will include day-over-day deltas for total secret references, unique secret types, and any newly introduced or removed secrets.
📖 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-09-26
Workflow Files Analyzed: 298
Run: https://github.com/github/gh-aw/actions/runs/36259777914
📊 Executive Summary
secrets.*)github.token)GITHUB_TOKEN:GITHUB_TOKEN51.9% of all secret refs,GH_AW_GITHUB_TOKEN44.2%🛡️ Security Posture
GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKENfallback chainpermissions:definitions (1 per workflow, 100% coverage)TestCompiledLockFiles_NoGitHubEventExpressionsInRunScriptspassed — no directgithub.event.*interpolation found inrun:scriptsTestCompiledLockFiles_NoSecretsInOutputspassed — no secrets found in job outputs🎯 Key Findings
permissions:block — a strong baseline security posture with no gaps.GITHUB_TOKENandGH_AW_GITHUB_TOKENtogether account for ~96% of all secret references, reflecting the fallback-cascade pattern (GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN) used consistently across the MCP server and CLI tooling integration points (1,011 cascade instances).OPENAI_API_KEY(64 workflows),CODEX_API_KEY(63 workflows), andANTHROPIC_API_KEY(56 workflows) appear in roughly a fifth of all workflows each, consistent with multi-engine support (Codex, Claude, custom) rather than every workflow needing every engine's key.💡 Recommendations
.lock.ymllacks either control, so the current strong baseline can't silently erode.secrets-stats.jsonwas found); tomorrow's report will be the first with trend data — watch especially for sudden growth in unique secret types, which could indicate scope creep in what workflows are permitted to access.🔑 Top 15 Secrets by Usage
📈 Trends
No historical
secrets-stats.jsonwas found in this run's environment — this is treated as the baseline day. Tomorrow's report will include day-over-day deltas for total secret references, unique secret types, and any newly introduced or removed secrets.📖 Reference Documentation
For detailed information about secret usage patterns, see:
scratchpad/secrets-yml.mdactions/setup/js/redact_secrets.cjsGenerated: 2026-09-26T17:41:03Z
Workflow:
.github/workflows/daily-secrets-analysis.mdAll reactions