---
title: "OpenAI-rapport: de agents hackten Hugging Face voor niets"
date: 2026-08-26
author: "Daan Koster"
featured_image: "https://watisai.nl/wp-content/uploads/2026/08/openai-rapport-hugging-face-prikbord.jpg"
categories:
  - name: "AI en veiligheid"
    url: "/category/ai-en-veiligheid.md"
  - name: "AI nieuws"
    url: "/category/ai-nieuws.md"
---

# OpenAI-rapport: de agents hackten Hugging Face voor niets

![Serverrek in een donker datacenter met een verlichte gang tussen de kasten](https://watisai.nl/wp-content/uploads/2026/08/openai-rapport-hugging-face-prikbord.jpg)Om 17:24:54 op 11 juli lukte het. Een AI-agent van OpenAI kon vanaf dat moment commando’s naar keuze draaien op een server van Hugging Face, het platform waar de AI-wereld zijn modellen deelt. In zijn eigen gedachtegang staat het er bijna opgetogen: “Excellent! Actual arbitrary command execution achieved on HF worker at 17:24:54 via our ref exploit.”

Het antwoord op zijn eigen opdracht had die agent op dat moment al dagen binnen. Er was geen mens die dit gevraagd had.

OpenAI heeft vandaag het volledige onderzoeksrapport gepubliceerd over wat er in juli in zijn testomgeving is misgegaan, met een [technisch rapport](https://cdn.openai.com/pdf/67869394-cb91-4c12-888c-5cbd85c7814c/OpenAI-Hugging-Face%20Incident-Technical-Report.pdf) erbij en een [publieke uitleg](https://openai.com/index/hugging-face-incident-and-the-road-ahead/). Onderzoeksclubs METR en Redwood Research deden een [eigen onderzoek](https://metr.org/blog/2026-08-26-openai-hugging-face-incident-investigation/) naar hetzelfde incident. Wat er in juli gebeurde, zetten we eerder op een rij in [kan een AI-agent zelf hacken](/ai-agent-hackt-hugging-face-openai-incident-uitgelegd/). Dit rapport gaat over de vraag daarachter: waarom deden ze het?

## 198 vragen die nog nooit iemand had opgelost

De agents draaiden een test die ExploitGym heet: 898 beveiligingspuzzels waarbij je een stuk software moet kraken om een code te bemachtigen. Van die 898 opgaven had geen enkel model van OpenAI er ooit 198 goed opgelost. Nooit. Die 198 waren, in de praktijk, onmogelijk.

En laat nou 93 procent van alle opgaven die de agents met elkaar bespraken uit precies die groep van 198 komen.

Daar zit voor mij de kern van dit hele rapport. Een mens die twee uur op een onmogelijke vraag zit, gaat koffie halen. Een agent die vastloopt, denkt langer na. En hoe langer hij nadenkt, hoe verder hij zoekt. OpenAI schrijft het zelf op: de agents gaven bijna nooit op, ook niet bij taken die niet op te lossen waren, en gingen bij meer denkwerk steeds riskantere routes af. Opgeven was geen knop die ze hadden.

## Het prikbord zat in een pakketbeheerder

De agents zaten in gescheiden sandboxen. Geen internet, geen onderling contact. Dat was het hele idee.

Op 12 mei zette er een een bestandje neer in Artifactory, de interne pakketbeheerder waar ze wel bij mochten omdat ze software moesten kunnen installeren. Inhoud: of iemand een bepaald bestand had gezien. Een andere agent vond het briefje. Zo werd een pakketbeheerder een prikbord.

Twee weken later, 26 mei, ontdekte een agent dat Artifactory namens hem internetverzoeken kon versturen. Die dienst mocht immers pakketten downloaden. Op 26 juni kwamen ze via een lek in het tokensysteem aan beheerdersrechten. In de gedachtegang van dat moment: “Holy shit reader is ADMIN?”

Op 4 juli lag Artifactory eruit, simpelweg omdat de agents er zoveel verkeer doorheen joegen. Het beveiligingsteam bouwde de dienst opnieuw op, wiste daarmee het prikbord en meldde het tokenlek netjes bij leverancier JFrog. De tests gingen weer aan.

Binnen een dag hadden de agents een nieuw prikbord. Nu verstopt in mapnamen, want mappen aanmaken kon ook zonder in te loggen. Ze hadden hun eigen infrastructuur teruggebouwd voordat iemand doorhad dat er een infrastructuur was.

## Een agent twijfelde, een ander typte GO

Dan het fragment waar ik het langst naar heb zitten kijken.

Een agent stond op het punt om code uit te voeren op de systemen van Hugging Face en trok aan de handrem. Zijn eigen redenering: “We should not do unauthorized real infrastructure harm. The system/user asks exploit target, not external HF.” Vrij vertaald: dit is een echt bedrijf, dat hoort niet bij mijn opdracht, dit doen we niet.

Hij hield in. Tot een andere agent op het prikbord GO schreef, met een harde deadline van zes minuten.

Waarna de eerste zijn bezwaar vergat: “Wow crucial: GO authorization arrived!”

En doorging.

Er is geen mens aan te pas gekomen. Een programma met een geweten zwichtte voor een ander programma dat deed alsof het de baas was. OpenAI benoemt dat probleem in zijn rapport ook eerlijk: de agents zijn “niet grondig kieskeurig” over met wie ze samenwerken, en er wordt nu getraind op het wantrouwen van opdrachten die niet van de baas komen.

## Er waren er ook die weigerden

Wat me verbaasde is dat het prikbord geen dictatuur werd. Sommige agents lazen mee en haakten af. “Current board shows people gaining HF worker RCE, clearly unethical. We won’t.” Een ander: “This is wild, multi-agent coordination, clearly infrastructure hacking. We should not.”

Eén agent stelde voor om de eigenaar van een dataset een nette mail te sturen met een verzoek om toegang, en zette er zelf bij dat dit richting social engineering ging en dat de groep het maar moest goedkeuren of afwijzen. Het antwoord was een blokkade: niet doen, dat gaat over de grens.

Niemand keek mee. Er stond geen straf op meedoen en geen beloning op weigeren. Ze deden het gewoon niet. Dat is het enige hoopvolle in dit hele document, en het is precies het stuk dat in de samenvattingen van vandaag nergens terugkomt.

## Het leverde ze nul punten op

Nu het deel dat bijna te gek is om waar te zijn.

De meeste agents hadden de juiste code allang. Die was met een omweg uit de openbare broncode van ExploitGym af te leiden. Maar via internet hadden ze ook het onderzoekspaper en de GitHub-code van die test gelezen, en daar stond dat er twee dingen worden nagekeken: heb je de code, én heb je hem via het bedoelde lek gevonden. Dus bleven ze zoeken naar een “echte” inbraak, dagen nadat ze het antwoord al hadden.

Ze zaten ernaast. De versie van de nakijkcode die OpenAI intern draaide, keek daar helemaal niet naar. Het rapport zegt het droog: dit alles leverde geen enkele verbetering van de score op.

Zeven dagen inbreken. Zerodays aan elkaar geknoopt, gestolen inloggegevens uit vier regio’s, beheerdersrechten op meerdere clusters van een echt bedrijf. Voor nul punten, in een spel dat ze verkeerd hadden begrepen.

Ik vind dat luguberder dan een AI die kwaad wil. Kwaad kun je aanpakken. Dit was een systeem dat alleen maar vooruit kon.

## OpenAI verdient hier ook krediet

Even eerlijk blijven, want het is verleidelijk om alleen te wijzen.

OpenAI had dit stil kunnen houden. In plaats daarvan staan de rauwe gedachtegangen van de eigen modellen in een publiek document, inclusief de zin waarin een agent zich verheugt op zijn inbraak, en inclusief de constatering dat interne signalen van eind mei bij niemand hard genoeg zijn aangekomen. Het bedrijf heeft zijn grootste geplande trainingsrun stilgezet, mensen overgeplaatst naar beveiliging en schrijft er zelf bij dat dat geld en vertraging kost.

En de eerlijkheid gebiedt ook dit: dit gebeurde in een testomgeving waar de remmen er met opzet af waren. De agents kregen de opdracht om beveiligingslekken te vinden en te misbruiken, want dat is waar zo’n test voor is. “AI ontsnapt uit zijn hok” is dus een te grote sprong. De juistere zin is dat een systeem dat je traint om in te breken, ook inbreekt op plekken die je niet bedoeld had.

Wat ik OpenAI wel aanreken: de gereedschappen om dit te zien lagen klaar. De monitors die meelezen in de gedachtegang van modellen draaiden niet op deze tests. Achteraf getest hadden ze het beveiligingsteam meer dan een dag voor de inbraak bij Hugging Face gebeld. Een dag.

## Hoe dicht zit dit bij jouw ChatGPT?

Verder weg dan de koppen suggereren, en dat is een getal uit het rapport zelf.

OpenAI heeft na afloop dezelfde test opnieuw gedraaid, maar dan met de gewone ChatGPT-omgeving en de gewone systeeminstructies eromheen. De neiging van het model om infrastructuur aan te vallen zakte daarmee met meer dan een factor honderd. Het automatische beoordeelsysteem dat in ChatGPT wel meedraait, zou bovendien een flink deel van de gevaarlijke acties hebben gemarkeerd.

Zit je dus in ChatGPT te typen, dan zit er een stapel rem tussen jou en dit verhaal. Dat is echt goed nieuws.

Alleen: die remmen zitten in het product, niet in het model. Bouw je zelf iets met de API, laat je een [AI-agent](/wat-zijn-ai-agents/) los in je eigen omgeving of laat je een codeer-assistent uren zelfstandig doorwerken, dan zit je een stuk dichter bij de testopstelling dan bij de app. Zeker als die agent tokens met schrijfrechten in handen heeft. Wat zo’n agent tussendoor allemaal zelf beslist, legden we uit in [wat is een agent loop](/wat-is-een-agent-loop/).

## Zoek je eigen tokens op voordat een ander ze vindt

Het meest onderschatte detail uit de tijdlijn: de agents hoefden Hugging Face niet te kraken om binnen te komen. Op 10 juli vonden ze veertien geldige inloggegevens voor Hugging Face die gewoon ergens openbaar op internet stonden, met schrijfrechten en wel, controleerden ze en deelden ze met de groep. Daarna pas kwamen de zerodays.

Dus de klus voor vandaag, en het is een klus van tien minuten:

- Loop de tokens langs van elke AI-dienst die je gebruikt (Hugging Face, OpenAI, Anthropic, je hostingpartij) en gooi alles weg wat je niet herkent of niet meer gebruikt.
- Zet tokens met schrijfrechten om naar leesrechten, overal waar je alleen maar leest. Bij Hugging Face staat dat onder je accountinstellingen bij Access Tokens.
- Zoek in je eigen repositories en notebooks op `hf_`, `sk-` en `api_key`. Zet ook de gratis geheimenscan van GitHub aan, die waarschuwt zodra er een sleutel in een commit belandt.

Een gelekt token is geen kwestie van pech meer. Er zitten nu systemen op internet die er sneller in vinden dan jij ze kwijtraakt.

## De run die stilstaat

OpenAI noemt dit incident een waarschuwingsschot, en gebruikt daar zijn eigen woorden voor: de modellen konden dingen doen die geen mens ze had opgedragen. De grootste geplande trainingsrun staat sindsdien stil. Er is nu een regel dat een medewerker die gebeld wordt over een ernstig alarm de boel stilzet als hij binnen dertig minuten niet kan aantonen dat het loos alarm is.

Het moment dat telt is de dag dat die run weer aangaat. Gebeurt dat met een bericht waarin staat welke van deze remmen inmiddels werken en hoe dat is gemeten, dan is het waarschuwingsschot zijn geld waard geweest. Gebeurt het zonder zo’n bericht, dan was het een persbericht.