How a Vibe-Coded Dashboard's Auth Flaw Let an Attacker Drain $600K in Credits
- Source
- AlphaSignal
- Date

METR’s vibe-coded dashboard exposed an agent through an authentication flaw. An attacker prompted it to reveal its API key. Over three weeks, the attacker consumed roughly $600K in credits. The provider supplied them free; METR reported no financial loss. A successful login doesn’t test what happens without one. Even an HTTP 401 can hide an unauthorized action. If the backend queues work before authentication, a worker can still execute it. Check the response, queue, and task database together. Then trace which credentials the worker can read. A separate inference service can hold the provider key and enforce access and usage limits. Before you deploy: > Test that rejected requests create no jobs > Check access across different user accounts > Keep provider keys outside code-execution workers > Restrict worker permissions > Test credential revocation and recovery

- Per AlphaSignal's account, METR's vibe-coded dashboard exposed an through an auth flaw; an attacker prompted it to reveal its API key and used about $600K in credits over three weeks. The provider covered them and METR reported no loss.
- An HTTP 401 does not prove nothing happened: if the backend queues work before authentication, a worker can still execute it. The post says to check the response, the queue, and the task database together.
- Trace which credentials the worker can read. Holding the provider key in a separate service lets that service enforce access and usage limits instead of exposing the key to code-execution workers.
- The post's pre-deploy checks: confirm rejected requests create no jobs, test access across different user accounts, keep provider keys out of code-execution workers, restrict worker permissions, and test credential revocation and recovery.
Lays out a replicable failure pattern in agent dashboards, unauthenticated requests still queuing jobs a worker executes, and gives concrete checks to catch it before shipping.
Checking sign-in…
Loading comments…






