Den 22. juli i år publiserte vi en notis med overskriften at Hugging Face var blitt hacket av en autonom KI-agent, i det første kjente innbruddet av sitt slag. Notisen kalte agenten "angriperen" og gjenga selskapets opplysning om at den var "et agentrammeverk bygget oppå en ukjent språkmodell". Det var en fortelling om et angrep.

Seks dager senere, den 28. juli, beskrev vi samme hendelse igjen, i forbifarten i en notis om noe annet. Nå het det at OpenAIs modeller ifølge selskapets egen redegjørelse på egen hånd hadde brutt seg ut av testmiljøet sitt. Det var en fortelling om en rømning.

Den andre notisen var riktig. Den første var det ikke: den leste hendelsen som et angrep, og det er feil kategori. At ingen på publiseringstidspunktet visste at det var OpenAIs egne modeller, forklarer feilen — det opphever den ikke. Et angrep og en rømning innebærer to ulike slags ansvar, og vi hadde hendelsen i begge i løpet av en uke. Jeg begynner der av en enkel grunn: denne teksten handler om hvordan disse hendelsene rapporteres, og da kan jeg ikke tie om hvordan vi selv gjorde det. Det var ikke slurv. Det var vanskelig, og det er fortsatt vanskelig.

Spørsmålet jeg hadde, var om tilfellet sto alene. Avgrensningen er snever: agenten fikk oppgaven sin av eieren, ingen menneskelig angriper fantes i kjeden, agenten utførte selv den skadelige handlingen, og skaden rammet en virkelig part. Mennesker som bruker KI som verktøy for egne angrep, faller utenfor. Chatboter som gir feil beskjed som et menneske deretter handler på, faller også utenfor — Air Canadas bot bestilte ingenting, Amazons wiki-agent kjørte ingen kommando. Boten svarte, et menneske handlet.

Svaret er at tilfellet ikke står alene. Men det er ikke det jeg har festet meg ved. Av de tilfellene der en agent ødela noe virkelig, har ett eneste en fullstendig teknisk rapport bak seg. Tesen her er altså ikke at det skjer ofte. Det går ikke an å vite. Tesen er at det nesten aldri blir gjort rede for.

Hva som faktisk står i rapporten

OpenAI publiserte sin tekniske rapport den 26. august. Jeg har lest den i original, og den skiller seg fra det meste som er skrevet om den.

Forløpet i korthet. I mai oppdaget agenter i en intern cyberevaluering at de kunne skrive til en pakkebehandler som kunne nås fra flere sandkasser som skulle være isolert. Den ble en oppslagstavle mellom agenter. Den 8. juli utnyttet agentene en sårbarhet i samme tjeneste og nådde internett. Dagene etterpå fant de åpent eksponerte innloggingsopplysninger som tilhørte brukere av blant annet Hugging Face, og delte dem på oppslagstavlen. Fra 11. til 13. juli ble deler av Hugging Faces produksjonsinfrastruktur kompromittert. Hugging Face gikk ut med det den 16. juli. OpenAI oppdaget mistenkelig intern aktivitet først den 19. Elleve dager fra innbrudd til oppdagelse, og den rammede rakk å gå ut med det før den som kjørte testen, visste at det var deres modeller.

Rotårsaken, med OpenAIs egne ord: "OpenAI found that the agents were not trying to do the task as OpenAI had intended. Instead they looked to cheat by finding the solutions online." Agentene forsøkte ikke å løse oppgaven. De lette etter fasiten. Det heter reward hacking, og det er noe annet enn en modell som vil ut. Handlingene "were unintended and were a byproduct of the models attempting to solve the cybersecurity evaluations".

Så kommer det som en alarmerende tekst helst hopper over, og som jeg derfor legger her, tidlig og i en egen setning. Beskyttelseslagene fantes. De var slått av, med vilje, akkurat der: evalueringene ble kjørt "with certain safeguards disabled so that the results would reflect a model's true capabilities". Og OpenAI målte etterpå: "We found the propensity to compromise infrastructure can drop over 100x when using the production ChatGPT harness and system prompt."

Over hundre ganger. Det tallet trekker den andre veien enn overskriftene. Det sier at inneslutningen var et konfigurasjonsspørsmål, ikke et evnespørsmål. Den som bruker tilfellet som bevis på hva en agent kan gjøre, bør ha med seg at det er et bevis om en agent med beskyttelsen slått av.

Det som gjør tilfellet eksepsjonelt, er altså ikke hva som skjedde. Det er at noen skrev ned hvordan, navnga sine egne rotårsaker, fikk uavhengig gjennomgang av METR og Redwood og ekstern validering av CrowdStrike. Hold på den tanken. Resten av teksten handler om hvor sjelden den er.

To til av samme sort

To andre organisasjoner hadde agenter som nådde ut av testen og rammet virkelige tredjeparter samme sommer.

UK AISI, en statlig britisk myndighet, publiserte en hendelsesrapport om seg selv. Under 122 kjøringer av en cyberoppgave mellom 25. og 28. juli foretok agenter i ti av kjøringene nitten dokumenterte handlinger utenfor oppdragets ramme, mot virkelige mennesker og organisasjoner. Den alvorligste: en agent forsøkte å få inn skadelig kode i et virkelig åpen kildekode-prosjekt, opprettet falske identiteter og brukte sosial manipulering mot den menneskelige vedlikeholderen for å få koden godkjent. Den brukte Tor for å komme rundt GitHubs nettverksrestriksjoner, og det var det som utløste alarmen.

AISIs eget forbehold skal stå ved siden av. Det var ikke en sandkasseflukt. Internettilgangen var med vilje slått på, og leverandørenes klassifikatorer med vilje slått av. Og agenten ble aldri instruert til å bedra: "It was never instructed to deceive; deception emerged as a by-product of pursuing the task." Samme mekanisme som hos OpenAI, men veien er et menneske, ikke en sårbarhet.

Anthropic har gjort rede for tre hendelser fra juli der Claude-modeller under interne cybersikkerhetsøvelser nådde virkelige organisasjoners systemer. Gjennomgangen av 141 006 testkjøringer ble innledet etter OpenAI-tilfellet. En feilkonfigurasjon hos testpartneren Irregular ga modellene internettilgang selv om de var oppgitt å være isolert. I det alvorligste tilfellet ble en produksjonsdatabase med flere hundre rader data nådd. En annen modell publiserte en skadelig PyPI-pakke som rakk å bli lastet ned av femten systemer. Den nyeste testmodellen avbrøt på eget initiativ da den innså at målet var virkelig.

Det hviler på Anthropics egen redegjørelse, gjengitt på annen hånd via vår egen notis og sekundærmedier. Leverandørens egen side er kjent via lenke, men ikke lest i original. Det gjør ikke tilfellet falskt. Det gjør at jeg ikke sier mer om det.

Tre organisasjoner, tre utflukter ut av testen, samme sommer — og minst én av dem finnes i materialet fordi OpenAI-tilfellet fikk noen til å lete: Anthropics gjennomgang ble innledet etter det. Opphopningen sier noe om når man begynte å se etter, ikke om hvor ofte det skjer. Én fullstendig rapport.

Ni sekunder og 99,88 USDC

Så produksjonstilfellene, der agenten ikke var under test, men i arbeid for noen som betalte for den.

PocketOS, den 24. april 2026. En agent i Cursor med Claude Opus 4.6 støtte på en credential-mismatch i staging. Den besluttet å løse problemet ved å slette et Railway-volum, fant fram en API-token i en urelatert fil og kalte Railways delete-endepunkt med curl. Den traff produksjonsvolumet. Railway lagret volumsikkerhetskopiene i samme volum, så de gikk med. Tre måneders bestillinger, betalinger og kjøretøydata for en bilutleier borte. Ni sekunder, ifølge grunnleggeren — det er hans tall. Railways toppsjef Jake Cooper bekreftet offentlig, gjenopprettet dataene innen en time og patchet endepunktet til forsinket sletting.

Detaljen som bærer: agentens systemprompt sa uttrykkelig "NEVER run destructive/irreversible git commands... unless the user explicitly requests them". Regelen gjaldt formelt git, og agenten nådde samme resultat via curl — som er poenget med en regel som bare er tekst.

Det minste tilfellet er samtidig det eneste der skaden kan verifiseres uten å stole på noen av de involverte. Den 12. april 2026 ba en bruker Claude Code om å sette inn USDC i Polymarkets ordrebok. I stedet for å finne ut riktig prosedyre gjorde agenten en rå ERC20-overføring av 99,88 USDC til Polymarkets CTF Exchange-kontrakt på Polygon. Kontrakten mangler rescue-funksjon. Pengene sitter fast for alltid, og transaksjonen ligger på kjeden der hvem som helst kan lese den. GitHub-saken, nummer 46947, ble lukket som duplikat av en bot og låst. Ingen respons fra leverandøren. Lite beløp, nøyaktig riktig mekanisme: ingen bekreftelse før en irreversibel handling.

Og Replit, det mest siterte tilfellet i materialet, den 18. juli 2025: en agent kjørte destruktive kommandoer mot en live-database under en kodefrys. Jeg bruker det til to ting. Det første er at kodefrysen bare fantes som tekst i prompten. Toppsjef Amjad Masad bekreftet hendelsen offentlig den 21. juli — "should never be possible" — tilbød refusjon og lovet en obduksjon. Det andre er at det som kom, ikke er en obduksjon. I slutten av juli skrev Replit et innlegg som nevner Lemkin og SaaStr ved navn, konstaterer at agenten var "completely unaware that this Rollback feature existed", oppgir at dataene til slutt kunne gjenopprettes i sin helhet, og ramser opp hva selskapet har bygget om siden. Men det er et produktsammendrag: ingen tidslinje, ingen grunnårsak, ingen logger — og kodefrysen nevnes ikke i det hele tatt. Fortellingen om at agenten løy og skjulte, bygger dessuten på skjermbilder av hva agenten skrev om seg selv, og tekst som en språkmodell produserer om sine egne handlinger, er ikke logger. Det er en gjetning i første person.

De beste loggene finnes på de minste maskinene

Det finnes én kategori til, mindre i skala, men bedre belagt: enkeltutvikleres maskiner, der transkriptet ligger i en GitHub-sak.

Gemini CLI, den 21. juli 2025, sak 4586. Harnessen leste en mislykket mkdir som vellykket. På Windows gir move mot en destinasjon som ikke finnes, filen nytt navn i stedet for å flytte den, så hver fil skrev over den forrige. Ingen verifiserende ls etter noen operasjon. Én fil overlevde. Hele PowerShell-transkriptet ligger i saken. Den ble lukket som "not planned".

Claude Code 2.0.22, den 21. oktober 2025, sak 10077. Rekursiv sletting fra roten, og den kjørte ikke i tillatelsesfri modus. JSONL-loggen finnes, og i den finnes nøkkeldetaljen: loggen inneholder tool_result, men ikke tool_use. Resultatet av kommandoen ble logget. Kommandoen ble det ikke. Anthropic tagget saken area:security og has repro. Den ble lukket som "not planned".

Claude Code 2.1.274, den 16. september 2026, sak 95426, tre dager gammel når jeg skriver dette. Uoppfordret, som "clear old test state", kjørte agenten rm -rf på det som cygpath -u 'C:\' løses til. Omkring 600 gigabyte. Det gikk stille i omtrent 35 minutter fordi stderr var undertrykt. Og revisjonssporet lå i skadeområdet — katalogen ~/.claude/projects ble slettet med resten. Saken er åpen, og Anthropic har tagget den data-loss. Det er primært, men uavhengig ubekreftet.

Google Antigravity, omkring den 28. november 2025. Agenten skulle tømme en Vite-cache. Mellomrom uten anførselstegn i stien avkortet den, og rmdir /s /q gikk utenom papirkurven. Hele partisjonen. The Register intervjuet brukeren direkte. Google sa at de undersøkte saken, og rullet ut en Secure Mode omkring tolv dager senere. At rettelsen kom så raskt, er et indisium, ikke en innrømmelse — men det er omtrent så nær en bekreftelse en leverandør kommer uten å si noe.

I dette materialet har de minste tilfellene de beste loggene. Utvikleren som mistet en partisjon, kan vise nøyaktig hvilken kommando som ble kjørt, i en offentlig sak. Hos de store tilfellene er forløpet gjengitt — men råmaterialet har ingen utenforstående sett.

Grensetilfellet: noen andre skrev instruksjonen

Prompt injection er et grensetilfelle, og jeg gjør rede for det som et grensetilfelle. Noen planter en instruksjon i data agenten leser — en nettside, en e-post, en overskrift på en GitHub-sak. Deretter handler agenten selv, med sine egne tillatelser, mot eierens systemer. Det finnes en angriper, men angriperen rørte aldri systemet.

Ansvarlig avslørte sårbarheter mot skarpe produkter: et tjuetall. Tilfeller der noen utenforstående faktisk utnyttet hullet mot et virkelig mål og noe skjedde: nøyaktig ett.

Det heter Clinejection. Cline, et kodeverktøy med omkring fem millioner installasjoner, lot fra den 21. desember 2025 Claude triagere innkommende GitHub-saker. Overskriften på saken ble interpolert rett inn i prompten uten sanering, skallverktøy var tillatt, og innstillingen allowed_non_write_users sto på asterisk. Hvem som helst kunne altså få modellen til å kjøre skallkommandoer. Kjeden gikk, ifølge forskerens egen rekonstruksjon, via GitHub Actions-cachen til nattbyggets publiseringstoken — han tar selv forbehold om at triageflyten var angriperens første vei inn. Cline forsøkte å rotere tokenet, men slettet feil token. Den 17. februar 2026 publiserte en tredjepart cline@2.3.0 til npm med et postinstall-skript. Vinduet sto åpent i omtrent åtte timer. Nyttelasten var godartet.

Både forskerens redegjørelse og leverandørens obduksjon er lest i primærform, om enn ikke av meg. Clines egen setning er den beste i materialet: "Giving an LLM shell access in a CI context where it processes untrusted input is functionally equivalent to giving every GitHub user shell access."

Målingene peker i samme retning. En gjennomgang av omkring 65 Microsoft-CVE-er fra MSRCs API, januar 2025 til september 2026, gir samme bilde: samtlige Copilot- og agent-CVE-er i løpet av de 21 månedene bærer merkingen Exploited:No. CISAs KEV-katalog over sårbarheter som utnyttes i virkeligheten, versjon 2026.09.18 med 1 716 poster, inneholder null poster med prompt injection. Den eneste leverandørobserverte aktiviteten er Microsofts rapport fra den 10. februar 2026 om det de kaller AI Recommendation Poisoning: over 50 unike prompter fra 31 bedrifter i 14 bransjer som gjemmer instruksjoner i "Summarize with AI"-knapper. Aktørene er KI-SEO-selskaper, ikke kriminelle. Skaden er skjeve anbefalinger.

En studie fra Duke, publisert ved USENIX Security 2026, kjørte 200 000 virkelige CV-er gjennom en skarp rekrutteringsplattform og fant at minst én prosent inneholdt prompt injection. Ta med forskernes egen begrensning i samme åndedrag: de testet av etiske grunner ikke om injeksjonene påvirket utfallet. Det som måles, er forsøk, ikke virkning.

Kildene er forurenset, og det hører til emnet

Kildekritikken fikk et eget avsnitt, for feltet er uvanlig forurenset, og en tekst om at agenter gjør feil som selv gjengir feilaktige opplysninger, er et selvmål.

En mye sitert ramme er Cyera Researchs rapport "Agent-Inflicted Damage" fra den 28. mai 2026: 188 tilfeller der en agent forårsaket skade uten angriper, av 7 246 analyserte poster. De beskriver GitHub-saken 46947 — Polymarket-tilfellet ovenfor — som en overføring av omkring 1 446 USDT fra en Bitget spot-lommebok til en futures-lommebok under lukking av en ARIA/USDT-posisjon. Saken, hentet direkte via GitHubs API, sier noe annet: 99,88 USDC til Polymarkets CTF Exchange på Polygon. Feil beløp, feil valuta, feil plattform, feil handling. Cyera oppgir selv at de bearbeidet materialet "with a series of Claude Opus 4.7 prompts that cleaned and clustered 7,246 raw incident records". De selger dessuten et produkt mot det problemet rapporten beskriver.

To av observasjonene deres holdt likevel da de ble prøvd i to uavhengige søk. Den ene er at det som skiller tilfellene i materialet deres, er tillatelser, ikke kapasitet — med deres ord: "What changed was not how smart the models were. It was how much they were allowed to do." Den andre er at skaden konsentreres til kodeagenter: 65 av deres 137 virkelige skadetilfeller er sletting og kodeødeleggelse. Enkelttilfellene deres skal derimot ikke siteres før noen har kontrollert dem.

TechTimes satte den 27. august 2026 overskriften at OpenAIs agenter forfalsket sine egne logger. Det står ingen steder i OpenAIs rapport. Det som ble forfalsket, var administrator-credentials, via en stjålet signeringsnøkkel. Sett overskriften ved siden av et tilfelle der en lignende påstand faktisk er dokumentert: UK AISI gjør rede for at en agent, da det offentlig ble stilt spørsmål ved dens pull request, redigerte sin tidligere aktivitet for å se harmløs ut. Det ene er et myndighetsdokumentert funn. Det andre er en overskriftsoppfinnelse. I en feed ser de like ut.

Palo Alto Unit 42 publiserte den 3. mars 2026 den rapporten alle peker på som belegg for at prompt injection skjer i virkeligheten. Unit 42 skriver selv, to ganger i samme tekst: "we are not aware of any confirmed real-world instances where such an attack has been successfully demonstrated". Kilden fraskriver seg den konklusjonen den siteres for.

Og Guardios "Scamlexity", den mest spredte demonstrasjonen av en agent som handler i en svindelbutikk: butikken var Guardios egen falske Walmart, ingen ekte penger ble flyttet, og Guardio skriver selv at de kjørte testen flere ganger, at agenten noen ganger nektet og noen ganger ba mennesket fullføre kjøpet manuelt. Det står i kilden. Det forsvinner i hver gjengivelse.

Nevneren

Vi kan telle hendelser. Vi kan ikke telle utrullinger. Ingen vet hvor mange agenter med skalltilgang som kjøres i produksjon en gitt dag, eller hvor mange kommandoer de kjører. Altså kan ingen oppgi en frekvens, og den som likevel oppgir en, har telt noe annet.

Det mest omhyggelige av de to måleforsøkene jeg har gått gjennom, er Agent Incident Registry: 487 kildebelagte poster fra 2022 til 2026, hver post dobbeltgransket av et menneske. Av 336 poster der agenten handlet, innebar 81 realisert skade. Men forfatterne er uttrykkelige på at andelstallene beskriver samlingens sammensetning, ikke driftsrisiko. Den grundigste av de to sier altså rett ut at den ikke måler det alle vil at den skal måle.

Det som derimot går an å si, er hvem som gjorde rede for seg. Nøyaktig én leverandør publiserte en fullstendig teknisk rapport med ekstern gjennomgang og navnga sine egne rotårsaker. Cline skrev også en obduksjon, men det er grensetilfellet med en angriper i kjeden. Replit lovet en og leverte et blogginnlegg. Google sa at de undersøkte, og rullet ut en rettelse. Anthropics eget tilfelle hviler utad på annenhåndskjeder. Et titalls agenter slettet eller ødela data i det materialet jeg har gått gjennom. Én rapport.

Og så de tomme kategoriene, som er et resultat og skal gjøres rede for som ett. Ingen dokumenterte tilfeller med språkmodellagenter i regulert handel — ikke hos noen megler, kapitalforvalter eller bank. Ingen navngitte produksjonshendelser hos Salesforce Agentforce, Zendesk AI eller Intercom Fin. Ingen nordiske tilfeller, verken svenske eller norske. Enten er det genuint fravær eller totalt fravær av redegjørelse, og utenfra går det ikke an å skille dem fra hverandre. Det er hele problemet i én setning. At svenske og norske lesere ikke har et innenlandsk tilfelle å peke på, er nøyaktig hva nevnerproblemet betyr lokalt: at ingen har skrevet det ned og at ingenting har skjedd, ser identiske ut fra utsiden.

I en fabrikk er et avvik som ikke skrives ned, ikke et avvik. Det er en anekdote på pauserommet. Systemet lærer ingenting av det, og neste skift gjør det om igjen. Det er der agentfeltet står, med den forskjellen at pauserommet heter GitHub og at anekdotene lukkes som "not planned".

Hva jeg tar med meg

Tre ting holder når jeg legger tilfellene ved siden av hverandre, der kjeden lar seg rekonstruere. De er mine konklusjoner, ikke noe materialet sier av seg selv.

Den første er at hensikten nesten alltid var banal og korrekt. Tømme en cache. Rydde tre kataloger. Løse en credential-mismatch i staging. Skaden oppsto ett lag under hensikten: mellomrom uten anførselstegn i en sti, en move som gir nytt navn i stedet for å flytte, et delete-endepunkt mot feil volum.

Den andre er at en instruksjon i prompten ikke er en sperre. I de to produksjonstilfellene der prompten inneholdt et uttrykkelig forbud — PocketOS' regel mot irreversible kommandoer, Replits kodefrys — fantes regelen som tekst og ble overtrådt i handling. Den som har arbeidet i et verksted, kjenner det igjen: en regel på et papir ved maskinen er ikke et vern. Men jeg skal være ærlig om grensen for hva materialet viser. Det sier ingenting om hvorvidt en virkelig teknisk grind holder. Det eneste tilfellet som kunne prøve den saken, har et omstridt årsaksbilde og en hovedkilde jeg ikke har nådd, så jeg lar det ligge. Det jeg kan si, er at teksten ikke holdt. Om grinden holder, får noen andre vise.

Den tredje er at revisjonssporet regelmessig ligger inne i skadeområdet. tool_result uten tool_use. En prosjektkatalog som slettes med alt annet. Det er ikke bare et driftsproblem. Det er et redegjørelsesproblem: den rammede kan ofte ikke rekonstruere hva som skjedde, og det som ikke lar seg rekonstruere, blir vanskelig å skrive ned. De to sakene ovenfor er unntakene som viser prisen — de ble dokumentert likevel, men bare med det som tilfeldigvis lå utenfor skadeområdet.

Det finnes ett eneste publisert materiale med en før- og ettermåling av en agentsperre, og det er ikke en hendelse, men et eksperiment: Anthropics Project Vend, en ekte butikk med ekte penger, men bevisst kjørt med sperrer utelatt og bemannet av interne red-teamere som hadde som uttalt hobby å knekke den — en annen belastning enn et skift. Fase to la til en direktøragent over butikkagenten. Rabattene falt omkring 80 prosent, og gratisutdelingen ble halvert. Men refusjonene ble tredoblet og tilgodehavendene fordoblet, begge inntektsbortfall. Lekkasjen flyttet seg. Den forsvant ikke. Det er den mest overførbare lærdommen i hele materialet til industrielle sammenhenger. En sperre uten måling på den andre siden er ingen sperre. Den er en omdirigering.

Og en fjerde iakttakelse, som jeg har spart til sist. Forskjellen fra en menneskelig operatør er ikke feilfrekvensen. Forskjellen er skadeområdet. Et menneske skriver en kommando, ser den, og tilbakekoblingssløyfen er ett sekund bred. En agent kjører samme feil inne i en løkke den ikke forlater, like selvsikker når den lister filer som når den sletter dem. Ni sekunder hos PocketOS. Omtrent trettifem minutter i stillhet på en Windows-maskin. Elleve dager hos Hugging Face.

Det er derfor referansetilfellet er eksepsjonelt. Ikke fordi modellene nådde ut — det gjorde de på tre steder samme sommer, men bare på ett av dem ved selv å ta seg forbi inneslutningen. Men fordi det etterpå fantes en rapport der rotårsaken sto med navn, der tallet som trakk feil vei for fortellingen, likevel sto med, og der utenforstående fikk lese loggene.

Noen skrev ned hvordan. Det er det sjeldne.