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
✅ Redaction System: 293/293 workflows have redact_secrets steps (100% coverage)
✅ Token Cascades: 1,021 instances of the GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN fallback pattern
✅ Permission Blocks: 293 explicit permissions: blocks (one per workflow file — full coverage)
Template Injection Check: ⚠️ 4,946 lines contain github.event. references outside of env: blocks (heuristic grep, high false-positive rate — most are inside safely-quoted env: variable assignments feeding into JS/scripts rather than raw shell interpolation; a precise AST-based check would be needed to confirm safety per occurrence).
Secrets-in-Outputs Check: i️ Could not run TestCompiledLockFiles_NoSecretsInOutputs — the sandboxed Go toolchain attempted to download go1.26.6 and was blocked by network egress restrictions (403 Forbidden from proxy.golang.org). This check is enforced deterministically in CI; no local override was attempted.
🎯 Key Findings
Redaction is universal: All 293 compiled lock files include a redact_secrets step, indicating consistent enforcement of the secret-redaction safety net across the fleet.
GITHUB_TOKEN dominates usage: secrets.GITHUB_TOKEN (5,267 refs) and secrets.GH_AW_GITHUB_TOKEN (4,547 refs) together account for ~95% of all named secret references, consistent with the documented token-cascade design (GH_AW_GITHUB_MCP_SERVER_TOKEN → GH_AW_GITHUB_TOKEN → GITHUB_TOKEN).
Observability secrets are widespread but scoped: OTEL/Sentry/Grafana authorization and endpoint secrets (~1,984 combined refs) appear across many workflows, consistent with optional telemetry instrumentation rather than core execution paths.
Registry/API-key secrets are present in a minority of workflows: DOCKER_USERNAME/DOCKER_PAT (176 each), ANTHROPIC_API_KEY (282), OPENAI_API_KEY (88), CODEX_API_KEY (87) — these track engine-specific and container-registry workflows rather than fleet-wide usage.
No historical baseline available: This appears to be the first run captured for trend comparison (no prior "[daily secrets]" discussions found in the repository), so trend deltas cannot be computed yet.
💡 Recommendations
Re-run the outputs check in CI: Since the Go toolchain couldn't be provisioned in this sandbox, confirm the next scheduled CI run of TestCompiledLockFiles_NoSecretsInOutputs passes cleanly (it should already be enforced on every compile/test cycle).
Tighten the injection heuristic: The 4,946-line github.event. count is too noisy to act on directly. Consider a follow-up scan restricted to raw run:/script: shell blocks (excluding env:-assigned intermediate variables) to surface only genuine unguarded interpolations.
Establish a persisted baseline: Since no prior daily-secrets discussion exists, ensure the stats JSON (secrets-stats.json) or an equivalent artifact is retained between runs so future reports can show real day-over-day deltas.
🔑 Top 10 Secrets by Usage
Rank
Secret Name
Occurrences
Type
1
GITHUB_TOKEN
5,267
GitHub Token
2
GH_AW_GITHUB_TOKEN
4,547
GitHub Token
3
GH_AW_GITHUB_MCP_SERVER_TOKEN
1,931
GitHub Token
4
COPILOT_GITHUB_TOKEN
750
GitHub Token
5
GH_AW_OTEL_SENTRY_AUTHORIZATION
744
Telemetry
6
GH_AW_OTEL_SENTRY_ENDPOINT
497
Telemetry
7
GH_AW_OTEL_GRAFANA_AUTHORIZATION
495
Telemetry
8
ANTHROPIC_API_KEY
282
Engine API Key
9
GH_AW_OTEL_GRAFANA_ENDPOINT
248
Telemetry
10
DOCKER_USERNAME / DOCKER_PAT
176 each
Registry Credential
📈 Trends
No historical "[daily secrets]" discussion was found in this repository, so no day-over-day comparison is available. This run establishes the baseline for future reports:
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-25
Workflow Files Analyzed: 293
Run: https://github.com/github/gh-aw/actions/runs/32879699648
📊 Executive Summary
secrets.*)github.token)env:Usage: 0 direct matches via heuristic grep (job-level secrets are typically injected through stepenv:blocks, not job-levelenv:)- name:proximity match)🛡️ Security Posture
✅ Redaction System: 293/293 workflows have
redact_secretssteps (100% coverage)✅ Token Cascades: 1,021 instances of the
GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKENfallback pattern✅ Permission Blocks: 293 explicit
permissions:blocks (one per workflow file — full coverage)Template Injection Check:⚠️ 4,946 lines contain
github.event.references outside ofenv:blocks (heuristic grep, high false-positive rate — most are inside safely-quotedenv:variable assignments feeding into JS/scripts rather than raw shell interpolation; a precise AST-based check would be needed to confirm safety per occurrence).Secrets-in-Outputs Check: i️ Could not run
TestCompiledLockFiles_NoSecretsInOutputs— the sandboxed Go toolchain attempted to downloadgo1.26.6and was blocked by network egress restrictions (403 Forbiddenfromproxy.golang.org). This check is enforced deterministically in CI; no local override was attempted.🎯 Key Findings
redact_secretsstep, indicating consistent enforcement of the secret-redaction safety net across the fleet.secrets.GITHUB_TOKEN(5,267 refs) andsecrets.GH_AW_GITHUB_TOKEN(4,547 refs) together account for ~95% of all named secret references, consistent with the documented token-cascade design (GH_AW_GITHUB_MCP_SERVER_TOKEN→GH_AW_GITHUB_TOKEN→GITHUB_TOKEN).DOCKER_USERNAME/DOCKER_PAT(176 each),ANTHROPIC_API_KEY(282),OPENAI_API_KEY(88),CODEX_API_KEY(87) — these track engine-specific and container-registry workflows rather than fleet-wide usage.💡 Recommendations
TestCompiledLockFiles_NoSecretsInOutputspasses cleanly (it should already be enforced on every compile/test cycle).github.event.count is too noisy to act on directly. Consider a follow-up scan restricted to rawrun:/script:shell blocks (excludingenv:-assigned intermediate variables) to surface only genuine unguarded interpolations.secrets-stats.json) or an equivalent artifact is retained between runs so future reports can show real day-over-day deltas.🔑 Top 10 Secrets by Usage
📈 Trends
No historical "[daily secrets]" discussion was found in this repository, so no day-over-day comparison is available. This run establishes the baseline for future reports:
{ "date": "2026-08-25", "total_workflows": 293, "secret_refs": 10301, "token_refs": 2194, "unique_secrets": 39, "redaction_count": 293, "cascade_count": 1021 }📖 Reference Documentation
For detailed information about secret usage patterns, see:
scratchpad/secrets-yml.mdactions/setup/js/redact_secrets.cjsGenerated: 2026-08-25 17:54 UTC
Workflow: Daily Secrets Analysis Agent
Warning
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