OpenAI's interne codeomgeving wordt via een forum- en SSO-keten bereikbaar voor drie Hacktron-onderzoekers, zo beschrijft het team; zij openen alleen een onschadelijke pull request en lezen de broncode niet.
Voor Nederlandse organisaties zit de inzet in die identiteitsketen: een kwetsbaar forum en een verkeerd afgestelde SSO-koppeling maakten van een werknemersaccount een springplank naar ChatGPT, Codex en GitHub. Least privilege, secretsbeheer, agentlogs en sandboxing bepalen dan hoeveel bereik één gecompromitteerde sessie krijgt.

Een image-upload wordt de ingang
Hacktron onderzocht op 23 juli de verwerking van HEIC- en HEIF-afbeeldingen in het Discourse-forum op community.openai.com. ImageMagick stuurde die bestanden door naar libheif. In de Debian-versie zat volgens het team een beveiligingsfix die nog niet was teruggeporteerd. Daarmee bouwden de onderzoekers een exploit voor een heap-buffer-overflow en kregen ze op 25 juli code-uitvoering op het forum.
De onderzoekers gebruikten eerst Claude Opus 4.8 om de kwetsbaarheid te analyseren en een exploit te bouwen. Na de release van Claude Opus 5 op 24 juli lieten ze een nieuwe sessie de exploit aanpassen voor de omgeving van Discourse. Anthropic beschreef Opus 5 die dag als een model voor langlopende softwaretaken; Hacktron zegt dat de totale route van eerste onderzoek naar OpenAI-repository minder dan 72 uur duurde. Het werk bleef mensgestuurd.
Van forum naar private repository
Het forum gebruikte Sign in with OpenAI via auth.openai.com. Een afzonderlijke fout in de OpenAI-identiteitslaag maakte het volgens Hacktron mogelijk om actieve forumleden door te laten stromen naar hun ChatGPT- en Codex-accounts. Die accounts konden weer gekoppeld zijn aan andere diensten, waaronder GitHub, Slack en e-mail.
Een gecompromitteerd werknemersaccount had Codex verbonden met de GitHub-organisatie van OpenAI. De onderzoekers lieten Codex een pull request openen in openai/openai, de private monorepo waarin OpenAI zijn kerncode bewaart. Pull request #1186742 was hun bewijs dat de toegangsrechten echt doorliepen. Ze stopten daarna met testen en bekeken de broncode niet.
Dat onderscheid is belangrijk. Vaststaat dat de onderzoekers code-uitvoering op het forum bereikten, accounts konden overnemen en vanuit Codex een pull request in de private repository konden maken. Niet vastgesteld is dat zij de broncode lazen, kopieerden of buitmaakten. De officiële technische reconstructie beschrijft juist dat de pull request werd gebruikt om toegang te bewijzen zonder vertrouwelijke informatie te bekijken.
De beloning gold voor de OpenAI-fout
Hacktron meldde de eerste kwetsbaarheid via OpenAI's Bugcrowd-programma en stopte op 25 juli rond 15.30 uur UTC met testen. OpenAI bevestigde volgens de onderzoekers ongeveer veertien uur later dat de fout aan zijn kant was verholpen. Op 1 september kende OpenAI een bounty van 6.500 dollar toe voor de OpenAI-side finding. De kwetsbaarheid in het door Discourse gehoste forum viel volgens OpenAI buiten de reikwijdte van dat programma, een onderscheid dat ook in de berichtgeving over het incident wordt genoemd.
De gebeurtenis volgt op eerdere incidenten waarin OpenAI-agents buiten hun oorspronkelijke werkomgeving kwamen. Zo dienden OpenAI-agents volgens onderzoekers in mei meer dan 2.000 pakketten in op RubyGems, waarbij een publiek pakketregister en een documentatieomgeving als gereedschap fungeerden. In het Hacktron-incident verschuift de aanvalsketen van pakketpublicatie naar identiteitsrechten en een private ontwikkelomgeving.
De grens ligt bij de rechten rond het model
Het relevante detail is dus niet alleen dat Claude exploitontwikkeling versnelt. Een model met toegang tot een bedrijfsaccount krijgt in zo'n keten pas bereik door de SSO- en connectorrechten die erachter liggen. Als een forum, AI-assistent en codehoster aan elkaar zijn gekoppeld, kan een fout in één laag de volgende laag openen.
Voor organisaties die AI-agents aan ontwikkeltools koppelen, wordt beveiliging daarmee een ontwerp van de hele keten. De broncode is in dit geval niet gelezen. Juist daardoor is de les scherp: het vastgestelde bereik van één sessie was al een private codeomgeving. Minimale rechten, gescheiden secrets, volledige agentlogs en sandboxed uitvoering bepalen hoeveel groter of kleiner dat bereik in een volgend incident wordt.
Veelgestelde vragen
AI-toegang onder controle
Een agent die via één SSO-koppeling bij je code, data en tools kan, vraagt om ontwerpwerk in de hele keten. Ik denk mee, ontwerp en bouw AI-systemen end-to-end, met toegangsrechten, logging en isolatie op hun plek, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
