En bug bounty nådde OpenAIs egen kod

Mellan 23 och 25 juli länkade ett litet team av bug bounty-forskare, som arbetar under namnet Hacktron, samman två vanliga säkerhetsbrister till åtkomst till OpenAIs interna källkod. Den första var en heapbuffertöverskridning i libheif, ett bildbibliotek med öppen källkod, en bugg som redan tystlåtet åtgärdats uppströms året innan men aldrig fick något CVE-nummer, så de flesta som körde det aldrig visste att de behövde patcha det. Den andra var en felaktigt konfigurerad enkel inloggning på OpenAIs eget community-hjälpforum. Att ladda upp en manipulerad HEIF-bild via det forumets Discourse-programvara utlöste överskridningen och gav forskarna fjärrkodexekvering på forumets server före morgonen den 25 juli.

Därifrån lät SSO-felkonfigurationen dem ta över ChatGPT- och Codex-kontona för anställda som använde samma inloggning både på OpenAIs communitysida och dess interna verktyg. En av dessa anställda hade sitt Codex-konto kopplat till OpenAIs GitHub-organisation. Genom den kopplingen öppnade forskarna en proof-of-concept-pull request, numrerad 1186742, inuti OpenAIs eget interna kodförvar. OpenAI bekräftade samma natt att problemet var åtgärdat, och betalade en belöning på 6 500 dollar genom sitt program den 1 september.

En bugg, flera företag

OpenAI var inte det enda målet. Samma libheif-brist, jagad inom ett projekt forskarna kallar HEIF Heist, gav teamet fotfäste hos flera andra företag som också kör bildbehandlingspipelines byggda på samma bibliotek.

MålVad forskarna nåddeResultat
OpenAIAnställds konto, sedan en PR inuti det interna monorepotBelöning på 6 500 dollar, åtgärdat inom en dag
SlackBildbehandlingspipeline byggd på libheifRapporterad via Slacks bug bounty-program
MetaBildbehandlingspipeline byggd på libheifRapporterad via Metas bug bounty-program
GitHub EnterpriseBildbehandlingspipeline byggd på libheifRapporterad via GitHubs bug bounty-program

Forskarna säger att hela det tvåmånaders HEIF Heist-projektet, över alla fyra företagen, kostade dem under 3 000 dollar i AI-modellanvändning. Det är den egentliga huvudsiffran: en enda, tystlåtet åtgärdad bugg utan CVE, i ett delat bibliotek med öppen källkod, var billig nog för att ett team på tre personer skulle förvandla den till betalda fynd hos fyra av branschens bäst försvarade företag, med hjälp av en AI-modell för att göra det mesta av triage- och exploitkopplingsarbetet.

Modellen var inte den svaga punkten

Det är lockande att läsa detta som en historia om en AI-modell som på egen hand bryter sig in i system. Så är det inte. Claude Opus 4.8 var forskarnas verktyg för att hitta överskridningen, bygga en fungerande exploit och länka den till SSO-felet snabbare och billigare än ett mänskligt team kunde ensamt. De faktiska svaga punkterna var oglamorösa och välkända: en gammal biblioteksbugg som aldrig fick något CVE och därför aldrig patchades överallt där den användes, en enkel inloggningsuppsättning som lät en enda inloggning öppna flera orelaterade system, och en anställds kodassistent-konto som hade skrivåtkomst till ett företags mest känsliga förvar.

Inget av detta krävde att besegra OpenAIs egna AI-försvar, eftersom inget av detta rörde OpenAIs AI-system alls. Community-hjälpforumet, en Discourse-installation som körde föråldrad bildhanteringskod, var dörren. Den anställdes egen konto, och allt den kontot råkade vara kopplad till, var korridoren som ledde från den dörren till monorepot.

Vad ett europeiskt företag faktiskt bör kontrollera

Vart och ett av de fyra företag som drabbades i detta projekt kör ett seriöst leverantörssäkerhetsprogram, och vart och ett hade ändå samma exponering: ett internt system som gick att nå via ett konto vars AI-kodassistent-integration räckte längre än någon hade kartlagt. En typisk leverantörsriskbedömning bedömer de SaaS-verktyg ett företag köper direkt. Den frågar sällan vad en utvecklares Codex-, Claude Code- eller Copilot-konto är kopplat till på andra sidan, eller vad som händer om just den ena inloggningen kapas någonstans utan koppling till företagets egna system.

Det glappet spelar roll under NIS2 och Cyberresiliensakten, där tidsfristen för anmälan startar när en incident upptäcks, inte när den inträffar. I detta fall kom upptäckten från utomstående forskare som drev ett belöningsprogram, inte från någon intern övervakning. Ett företag som i dag inte kan svara på vilka av dess utvecklares AI-assistentkonton som är kopplade till vilka andra plattformar har inget realistiskt sätt att veta om samma kedja redan har nått det.