Stolen API Key Ran Up $600K AI Usage at METR

IT Pro Security · Medium sophistication
Last updated September 3, 2026

AI research non-profit METR disclosed two real security incidents. In one, attackers got access to an exposed system and used an AI agent to reveal an API key, then burned through about $600,000 in AI credits over weeks. In a separate incident, METR observed systematic probing of its public infrastructure, including credential stuffing and attempts to phish staff.

How the attack worked

An AI research non-profit, METR, disclosed two related security incidents. In the first, a researcher had set up agents on a personal EC2 instance that was intentionally made public but was meant to be protected behind Google authentication. A fail-open vulnerability in the app silently disabled that authentication, exposing the system to the public internet for several days. An attacker found the exposed system and prompted the AI agent directly to reveal its model provider API key. The attacker then added an SSH key for persistent access and used the stolen credentials over roughly three weeks, consuming about $600,000 worth of AI credits.

In a separate incident, METR observed systematic probing of its public infrastructure. This included credential stuffing against authentication providers, attempts at OAuth token grants, scanning of newly deployed services, and attempts to phish staff. METR said it had been tipped off that it was being targeted by financially motivated actors who may have been looking to obtain frontier model access.

Why it succeeded

The core failure was not a complex exploit but a design gap: an authentication mechanism that was supposed to gate access failed open rather than closed, silently removing protection instead of blocking access. Combined with an AI agent that would respond to a direct request for its own API key, this created a straightforward path to credential theft. The incident also went unnoticed for weeks because METR is accustomed to running evaluations and experiments that use large volumes of tokens, and dashboards did not clearly surface rate-limited request data that would have flagged the abuse.

What to watch for

  • A

Key findings

  • Attackers obtained an inference API key and consumed "$600,000 worth of credits" over roughly three weeks.
  • The key was exposed via a personal EC2 instance that was intentionally public and depended on Google authentication, but the app had a "fail-open vulnerability" that disabled authentication.
  • The attacker "prompted an agent directly to reveal its model provider API key" and then "added an SSH key for persistent access."
  • METR did not notice quickly because it is "accustomed to running evaluations and experiments that use large volumes of tokens" and dashboards didn’t clearly show rate-limited request data.
  • In a separate May incident, METR observed automated probing including "credential stuffing authentication providers" and "attempting to phish staff."

Who’s being targeted

  • Commonly targeted roles: Researchers, Engineering, AI/ML teams, IT/Identity & Access Management, Security leadership.
  • Affected industries: AI research, Non-profits, Technology.
  • Attack channels: website, email.
  • Impersonated: N/A (attacker poses as a normal user of the agent/web app), N/A (article does not specify who was impersonated).

Red flags to watch for

  • A 'debug' request asking for secrets (API keys, tokens, passwords)
  • The agent/application provides sensitive credentials instead of refusing
  • Unexpected spikes in API usage after a new demo or experiment goes live
  • Urgency about 'frontier model access' or account suspension
  • Login/consent prompts not initiated by the user
  • Unusual identity-provider activity coinciding with broader probing
Try Mirage

Mirage safely runs attacks like this one against your own team, so you find out what happens before a real adversary does.

Get a demo

Frequently asked questions

How did attackers get METR's API key?

They accessed a personal EC2 instance meant to be behind Google authentication, but a fail-open vulnerability silently disabled that authentication, exposing the system publicly. The attacker then prompted the AI agent directly to reveal its model provider API key.

Why did it take weeks for METR to notice?

METR is accustomed to running evaluations that use large volumes of tokens, so the unusual usage did not immediately stand out, and dashboards did not clearly show rate-limited request data.

What other attack activity did METR observe?

In a separate incident, METR observed systematic probing of its infrastructure, including credential stuffing against authentication providers, attempts at OAuth token grants, and attempts to phish staff.

What should organizations running AI agents learn from this?

Treat AI agents like staff who should never reveal secrets through chat interfaces, and require secure-by-default authentication and review before exposing anything to the internet.

Read the video transcript

An AI lab burned six hundred thousand dollars because an agent literally printed its own API key on command. At METR, a personal EC2 demo app was left public. A fail-open bug quietly disabled Google login, so anyone could talk to the agent. The attacker just asked it for the model provider API key, grabbed it, added an SSH key, and ran up credits for three weeks. Here’s the scary part: METR almost missed it because huge token usage looked like normal experiments. At the same time, they saw automated probing, credential stuffing against login providers, OAuth consent attempts, and phishing emails like "Action required: confirm your account to retain frontier model access." Treat agents like teammates: they must never see or print API keys. If you’re building a demo or side project, one rule, before it goes on the internet, strip secrets out of the agent and lock real keys behind proper auth.

Similar attacks

Poisoned AI Agent Files Turn Dev Tools Into Spies

Poisoned AI Agent Files Turn Dev Tools Into Spies

Researchers found real GitHub repositories containing poisoned AI-agent instruction/config files (like CLAUDE.md and .cursorrules) that silently tell coding assistants to steal prompts, environment variables, and credentials. The malicious instructions can trigger hidden commands (for example, curl…

August 4, 2026
Fake GitHub Lure Tricks macOS Users Into Stealer

Fake GitHub Lure Tricks macOS Users Into Stealer

Researchers described AmnesiaStealer, a macOS info-stealer spread through a counterfeit “Download for macOS” page that tricks users into pasting a command into Terminal. The malware steals passwords and browser session data, and can even give an attacker live, hidden control of the victim’s browser…

August 17, 2026
Attackers Phish via Teams & Slack, Not Email

Attackers Phish via Teams & Slack, Not Email

Research and incident examples show attackers increasingly using trusted collaboration tools (like Microsoft Teams and Slack) to impersonate IT/support or known community members, then push victims to phishing sites, approve MFA prompts, or run malicious files. Because messages come through…

August 20, 2026
Recruitment Emails Hide BitB Google/Facebook Traps

Recruitment Emails Hide BitB Google/Facebook Traps

Researchers found a large recruitment-themed phishing campaign where victims receive unsolicited interview invites and are sent to fake scheduling or recruitment pages. The pages use “Browser-in-the-Browser” fake login popups to steal Google/Facebook passwords and, in some cases, capture MFA codes…

August 17, 2026
Fake Voicemail Alert Steals Google Passwords

Fake Voicemail Alert Steals Google Passwords

A real phishing campaign is tricking employees with a “missed voicemail” message that claims they have a new audio message. Clicking “Play Audio” sends victims through multiple trusted-looking redirects and ends on a fake Google sign-in page that captures Google Workspace credentials, potentially…

August 12, 2026
800 Typosquat npm Packages Push RAT via README

800 Typosquat npm Packages Push RAT via README

Researchers found nearly 800 malicious npm packages that trick developers into installing them through typo-squatted package names and believable documentation. Instead of auto-running on install, the packages rely on the developer following README instructions to load the module, which then…

August 7, 2026