En stulen API-nyckel kostade METR 600 000 dollar utan att någon larmade
Forskningsorganisationen METR förlorade AI-krediter för ungefär 600 000 dollar efter att en angripare kommit över en API-nyckel. Missbruket pågick i tre veckor innan det upptäcktes. METR, som utvärderar hur kapabla frontier-modeller är på långkörande autonoma uppgifter, publicerade en genomgång av händelsen den 31 augusti 2026. Att förlusten inte blev ekonomisk berodde på tur, krediterna var gratis, tillhandahållna av en modelleverantör. En vanlig kund hade fått fakturan.
Angriparen letade i Certificate Transparency-loggar efter nya AI-projekt
Rekognosceringen började inte med METR. Den började med en sökning i offentliga certifikatloggar efter nyregistrerade domäner med ord kopplade till LLM och agenter. Varje gång någon skaffar ett TLS-certifikat hamnar domännamnet i en publik logg. Det är hela poängen med Certificate Transparency men det gör också att en nystartad testmiljö med `agent` i namnet lyser upp som en flagga.
Det som hittades i mars 2026 var en experimentell agent-applikation på en EC2-instans. Den var avsiktligt exponerad mot internet men skyddad bakom Google-autentisering. Applikationen beskrivs som ”vibe-kodad”, alltså snabbt hopsatt med AI-assistans utan djupare arkitekturarbete.
Autentiseringen hade en fail-open-bugg. När den fallerade släppte den igenom trafik i stället för att blockera den. Skyddet var alltså inte ett skydd, det var en förhoppning.
Väl inne använde angriparen prompt injection för att få agenten att avslöja sin egen API-nyckel. Sedan lades en SSH-nyckel till för långsiktig åtkomst. Om du vill förstå varför en agent är särskilt sårbar för just den här typen av attack är grundmekaniken en loop med verktyg, inte en chatbot med lite extra funktioner. Agenten gör det instruktionerna säger och den skiljer inte på vem som skrev dem.
Tre veckors förbrukning drunknade i normal evalueringstrafik
METR genererar rutinmässigt enorma volymer modelltrafik. Det är själva verksamheten: köra modeller hårt, länge, i många parallella uppgifter. När en angripare börjar bränna krediter i samma API syns det inte som en avvikelse. Det ser ut som en tisdag.
Till det kom att nycklarna för gratis-krediter saknade utgiftsgränser. Ingen budget, ingen tröskel, inget larm. Kombinationen av hög baslinje och avsaknad av tak innebar att det inte fanns någon punkt där systemet kunde säga ”det här är för mycket”.
600 000 dollar i krediter förbrukades under tre veckor innan någon reagerade.
I maj 2026 kom en andra våg, av annan karaktär. Storskalig infrastrukturscanning, automatiserad sårbarhetssökning med agenter, credential stuffing och phishingförsök. Angriparen kom åt en read-only SQL-frågemekanism men det finns inga tecken på att känslig data exponerades. Ingen specifik grupp har identifierats.
Utgiftsgränser är billigare än att upptäcka intrång
METR återkallade credentials, roterade nycklar och införde utgiftsbegränsningar. Organisationen har också beskrivit hur säkerhetsprocessen ändras framåt i sin egen redogörelse för händelsen.
Sätt ett tak per nyckel även när krediterna är gratis. En nyckel utan spendgräns är en nyckel utan bromsar och gratis krediter har ett verkligt marknadsvärde som någon annan gärna realiserar. Det gäller lika mycket för en hobbynyckel mot OpenAI som för en forskningsorganisations testkonto.
Separera nycklar per miljö och per applikation. Om samma nyckel används i produktion, i testmiljön och i det där experimentet någon byggde en fredag, går det inte att avgöra varifrån trafiken kommer när något går fel. Det går heller inte att stänga av en del utan att stänga av allt.
Larma på förändringstakt, inte på absolut volym. En organisation som normalt kör mycket trafik kommer aldrig att slå i ett fast tak i tid. Det som avslöjar missbruk är att kurvan ändrar form: nya modellanrop vid ovanliga tider, andra endpoints än vanligt, trafik från IP-adresser som inte funnits tidigare. Absoluta tal döljer det, relativa tal visar det.
Behandla varje internetexponerad testmiljö som produktion. Fail-open-buggen är det klassiska felet i egenbyggd autentisering: när koden inte vet vad den ska göra släpper den igenom. Vill du ha rätt beteende ska felfallet neka åtkomst, alltid.
Snabbt hopsatt kod hamnar oftare på internet än förr
Det som gör den här incidenten värd att titta på är inte summan. Det är att alla tre komponenterna är vanliga i dag. AI-assisterad kodning gör det snabbt att bygga en fungerande prototyp och lika snabbt att exponera den.
Agenter som kan läsa instruktioner från omvärlden är per definition manipulerbara. Och AI-API:er har en förbrukningsmodell där kostnaden kan skena på timmar snarare än månader, vilket kortar tiden mellan intrång och skada dramatiskt.
En stulen databaslösenord ger tillgång till data. En stulen API-nyckel mot en modelleverantör ger tillgång till en pengakran som redan är påslagen. Skillnaden i hur snabbt det blir dyrt är stor och övervakningen har inte hunnit i kapp.
Om du driver något som anropar en betald modell: gå in i leverantörens konsol i dag och kolla om nycklarna har spendgränser. Det tar fem minuter. METR fick tre veckor på sig gratis och det var inte förtjänat, det var tur.
Källor
- egen redogörelse för händelsen metr.org
