Tre Timer, Ikke Tre Måneder

Den 23. juli sad tre sikkerhedsforskere fra Hacktron og kiggede på et heap buffer overflow i libheif, biblioteket der afkoder HEIC- og HEIF-billedfiler. De havde en teori. OpenAI's eget community-forum, community.openai.com, kørte på Discourse. Discourse's upload-pipeline sendte ukendte billedformater direkte videre til ImageMagick, som afhang af den samme sårbare libheif. Claude Opus 4.8 brugte flere sessioner på at forsøge at omsætte teorien til en fungerende exploit og kunne ikke komme forbi address space layout randomization. Forskerne lagde forsøget til side.

Så, om aftenen den 24. juli, udgav Anthropic Claude Opus 5. Teamet gav den nye model det samme problem. Inden for tre timer havde den en fungerende ARM64-exploit til en lokal Mac og portede den selv videre til Discourse's produktionsmiljø på x86-64 og jemalloc. Klokken 06:00 UTC den 25. juli virkede exploiten mod et lokalt mål. Klokken 10:00 UTC virkede den mod OpenAI's live forum.

Fejlen Ingen Egentlig Skulle Rette

Libheif-fejlen var ikke en opdagelse. Den var allerede rettet opstrøms, stille og roligt, uden at der blev tildelt et CVE-nummer. Intet CVE betød ingen alarm hos Debians sikkerhedsteam, så Debian 12, basisbilledet Discourse kørte på, hentede aldrig rettelsen. Discourse arvede fejlen via ImageMagick. OpenAI's forum arvede den via Discourse. Tre organisationer, tre separate beslutninger om ikke at handle, ingen af dem forkert i sig selv.

Forumindbruddet alene ville have været indeholdt. Det, der gjorde det til en OpenAI-hændelse, var et single sign-on mellem forummet og medarbejdernes ChatGPT- og Codex-konti. At kompromittere en forumkonto gav forskerne en session, der førte videre ind i Codex. Codex var koblet til GitHub. GitHub husede openai/openai-monorepoet. Ni komponenter, ni separate teams, en sammenhængende vej fra et urettet fotobibliotek til kildekoden.

Hvor Hurtigt Kæden Egentlig Lukkede Sig

Hacktron offentliggjorde sin egen tidslinje ned til minuttet. Lagt ved siden af hinanden var afstanden mellem en model, der ikke kunne fuldføre opgaven, og en model, der gik lige igennem OpenAI's identitetsgrænse, præcis en produktudgivelse.

Tid (UTC)HændelseAktør
23. jul, 05:00-06:00libheif-overflow identificeret; Opus 4.8 mislykkes med en pålidelig exploitMenneske + Opus 4.8
24. jul, aftenClaude Opus 5 udgivet; får samme målAnthropic
25. jul, 06:00Fungerende ARM64-exploit bekræftet lokalt på en MacOpus 5
25. jul, 10:00Remote code execution opnået på Discourse Cloud, /etc/hosts læstOpus 5, menneskestyret
25. jul, 13:30-15:30Medarbejderkonto nået i ChatGPT og Codex; adgang påvist, test stoppetMenneskelige forskere
25. jul, 22:49OpenAI bekræfter, at et fix er udrulletOpenAI
1. sepOpenAI betaler 6.500 dollar i bounty, kun for SSO-fundetOpenAI

Exploiten på tre timer er overskriften. Den del, der er værd at dvæle ved, er de 22 timer og 49 minutter mellem forskernes adgang til en medarbejderkonto og OpenAI's bekræftelse af fixet. Det var den egentlige reaktionstid, kæden blev testet mod. Den holdt.

Hvorfor Det Betyder Noget For Enhver Operatør I EU, Ikke Kun AI-Laboratorier

Hacktrons egen konklusion er ligeud: sikkerhed har længe lænet sig op ad kompleksitet som voldgrav, ud fra antagelsen om at exploitudvikling kræver et velfinansieret team og måneder med tid. Netop den voldgrav fjernede Opus 5 på denne fejl. Forskerne skrev, at arbejde, der tidligere krævede knappe specialistkræfter, nu kan komprimeres til regnekraft. De tilføjede, at springet fra Opus 5 til den næste model allerede var synligt i deres egne tests.

For en virksomhed under NIS2, i Danmark gennemført med tilsyn hos Center for Cybersikkerhed, lander den komprimering på uret, ikke kun på budgettet. Væsentlige og vigtige enheder skal indberette en betydelig hændelse inden for 24 timer efter, de bliver opmærksomme på den, og indsende en fuld rapport inden for 72 timer. Hacktrons egen kæde, fra fungerende exploit til kompromitteret internt repository, lukkede sig inden for netop det 72-timers vindue. Indberetningsuret og angriberens ur løber ikke længere med forskellig hastighed. En opdagelsesproces bygget til dage, ikke timer, er bygget til den forkerte modstander.

Kort Fortalt

Ingen i denne historie handlede overilet. OpenAI kørte et bug bounty-program og udbetalte inden for få dage. Hacktron offentliggjorde ansvarligt og stoppede, i det øjeblik adgangen var påvist. Discourse leverede et fix inden for 48 timer efter indberetningen. Systemet fungerede præcis som tiltænkt. En AI-model nåede alligevel kildekoden hos et førende AI-laboratorium, med udgangspunkt i en foto-upload-fejl, der for længst var rettet et andet sted på internettet.

OpenAI's egne bounty-betingelser udelukkede test mod selve Discourse, så udbetalingen på 6.500 dollar dækkede kun identitetsgrænse-fejlen, ikke den exploit, der bragte forskerne ind. Det hul mellem, hvad et bounty-program dækker, og hvad en angriber egentlig har brug for, fortjener sin egen revision, modelassisteret eller ej.