En bug bounty nåede OpenAIs egen kode

Mellem 23. og 25. juli kædede et lille hold bug bounty-forskere, der arbejder under navnet Hacktron, to almindelige sikkerhedsfejl sammen til adgang til OpenAIs interne kildekode. Den første var et heap buffer overflow i libheif, et open source-billedbibliotek, en fejl der allerede var blevet stille rettet opstrøms året forinden, men aldrig fik tildelt et CVE-nummer, så de fleste, der kørte det, aldrig vidste, de skulle patche det. Den anden var en forkert konfigureret single sign-on på OpenAIs eget community-hjælpeforum. At uploade et manipuleret HEIF-billede via det forums Discourse-software udløste overflowet og gav forskerne kodeudførelse på afstand på forummets server inden morgenen den 25. juli.

Derfra lod SSO-fejlkonfigurationen dem overtage ChatGPT- og Codex-kontiene for medarbejdere, der brugte samme login på tværs af OpenAIs community-side og dets interne værktøjer. En af disse medarbejdere havde sin Codex-konto forbundet til OpenAIs GitHub-organisation. Ved at bruge den forbindelse åbnede forskerne en proof-of-concept pull request, nummereret 1186742, inde i OpenAIs eget interne kode-repository. OpenAI bekræftede samme nat, at problemet var rettet, og betalte en dusør på 6.500 dollar gennem sit program den 1. september.

En fejl, flere virksomheder

OpenAI var ikke det eneste mål. Den samme libheif-fejl, forfulgt under et projekt forskerne kalder HEIF Heist, gav holdet fodfæste hos flere andre virksomheder, der også kører billedbehandlings-pipelines bygget på det samme bibliotek.

MålHvad forskerne nåedeResultat
OpenAIMedarbejderkonto, så en PR inde i det interne monorepoDusør på 6.500 dollar, rettet inden for en dag
SlackBilledbehandlings-pipeline bygget på libheifIndberettet gennem Slacks bug bounty-program
MetaBilledbehandlings-pipeline bygget på libheifIndberettet gennem Metas bug bounty-program
GitHub EnterpriseBilledbehandlings-pipeline bygget på libheifIndberettet gennem GitHubs bug bounty-program

Forskerne siger, at hele det tomåneders HEIF Heist-projekt, over alle fire virksomheder, kostede dem under 3.000 dollar i AI-modelbrug. Det er det egentlige hovedtal: en enkelt, stille rettet fejl uden CVE, i et delt open source-bibliotek, var billig nok til, at et team på tre personer kunne gøre den til betalte fund hos fire af branchens bedst forsvarede virksomheder, ved at bruge en AI-model til at udføre det meste af triage- og udnyttelsesarbejdet.

Modellen var ikke det svage punkt

Det er fristende at læse dette som en historie om en AI-model, der bryder ind i systemer på egen hånd. Det er den ikke. Claude Opus 4.8 var forskernes redskab til at finde overflowet, bygge et fungerende exploit og kæde det til SSO-fejlen hurtigere og billigere end et menneskeligt team kunne alene. De faktiske svage punkter var uglamourøse og velkendte: en gammel biblioteksfejl, der aldrig fik et CVE og derfor aldrig blev patchet alle de steder, den blev brugt, en single sign-on-opsætning, der lod et enkelt login åbne flere ikke-relaterede systemer, og en medarbejders kodeassistent-konto, der havde skriveadgang til en virksomheds mest sensitive repository.

Intet af det krævede at besejre OpenAIs egne AI-forsvar, fordi intet af det rørte OpenAIs AI-systemer overhovedet. Community-hjælpeforummet, en Discourse-installation der kørte forældet billedbehandlingskode, var døren. Medarbejderens egen konto, og alt det, den konto tilfældigvis var forbundet til, var gangen, der førte fra den dør til monorepoet.

Hvad en europæisk virksomhed faktisk bør undersøge

Hver af de fire virksomheder, der blev ramt i dette projekt, kører et seriøst leverandørsikkerhedsprogram, og hver havde alligevel den samme eksponering: et internt system, der kunne nås via en konto, hvis AI-kodeassistent-integration nåede længere end nogen havde kortlagt. En typisk leverandørrisikovurdering vurderer de SaaS-værktøjer, en virksomhed køber direkte. Den spørger sjældent, hvad en udviklers Codex-, Claude Code- eller Copilot-konto er forbundet til på den anden side, eller hvad der sker, hvis netop det ene login bliver overtaget et sted, der ikke har noget at gøre med virksomhedens egne systemer.

Det hul betyder noget under NIS2 og Cyber Resilience Act, hvor meldefristen starter, når en hændelse bliver opdaget, ikke når den sker. I dette tilfælde kom opdagelsen fra udenforstående forskere, der kørte et dusørprogram, ikke fra intern overvågning. En virksomhed, der i dag ikke kan svare på, hvilke af dens udvikleres AI-assistent-konti der er forbundet til hvilke andre platforme, har ingen realistisk måde at vide, om samme kæde allerede har nået den.