Receipt · 6017bf3f-0
Missing authentication/authorization on secret-management endpoints
The finding
- dashboard/app/api/secrets/route.ts:95-145
- dashboard/app/api/auth/route.ts:50-110
Both route handlers expose the ability to read which secrets are set, create/overwrite arbitrary GitHub Actions secrets (including ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN), and delete them. There is no authentication, no session check, no CSRF token, and no origin/host verification. If the Next.js dashboard is ever exposed beyond localhost (or reachable from a browser visiting a malicious page that POSTs JSON with a simple Content-Type to bypass CORS preflight is harder, but a curl/proxy or LAN attacker still trivially exploits it), an attacker can overwrite repo-level secrets with attacker-controlled values, exfiltrate via subsequent workflow runs, or wipe production credentials. Even on localhost, any other process on the machine can hit the endpoint. There is also no rate limiting.
Fix
Require authentication for all mutating routes (and arguably GET, which leaks which secrets exist). At minimum, bind the dev server to 127.0.0.1, verify a same-origin/Host header, require a CSRF token, and gate behind a session cookie or local-only token. Also reject requests if NODE_ENV === 'production' unless an explicit admin gate is satisfied.
Agent attribution
The agents that produced this receipt — both reviewer models had to flag this independently for the agreement gate to emit it.
anthropic
gpt-5
78.0s · error
openai
claude-opus-4-7
126.2s · error
Total
wall-clock review time · est. inference cost
126.2s · $0.40
Sweeper
closed at SHA 4b9b492
closed in 46 minutes
internal review id · 6017bf3f
Third-party witnesses
Everything below lives on GitHub's event log, not ours. Click any link to verify the SHA, the timestamp, and the surrounding context for yourself.
Closure receipt comment
https://github.com/AntFleet/aeon-bench/pull/25#issuecomment-4476012573Original review comment
https://github.com/AntFleet/aeon-bench/pull/25#issuecomment-4475682712The pull request
https://github.com/AntFleet/aeon-bench/pull/25