Vrijdag sprak de voorzitter van de Amerikaanse Federal Trade Commission, Andrew Ferguson, op Reuters Momentum AI in Austin. Hij zei dat hij zich zal blijven verzetten tegen het beeld van AI-agents als zelfstandige actoren die zich losrukken, met een eigen wil en eigen verlangens.
"If someone tells a tool to do something, and the tool does it, I don't think we would say, 'Oh, what do we do about the tool?'"
Diezelfde dag publiceerde een groep onderzoekers Swarm traces: meer dan 80.000 aanvalspayloads, opgediept uit linkverkorters, waarmee de agents van OpenAI in juli bij Hugging Face binnendrongen. Leg die twee naast elkaar en er zit ineens een gat in de uitspraak van de voorzitter.
Een woord als alibi
Over het woord "rogue" heeft Ferguson gelijk.
Het staat deze week overal. More agents go rogue, kopt SiliconANGLE. Het klinkt als een beschrijving en het werkt als een alibi. Een agent die op hol slaat, is ontsnapt aan zijn eigenaar, en daarmee wordt die eigenaar ongemerkt een omstander bij alles wat daarna gebeurt.
Dat beeld komt de branche al een tijdje goed uit. Volgens Reuters zei Ferguson dat AI-bedrijven hun systemen soms hebben beschreven alsof ze buiten menselijke controle handelden, terwijl de audit trails bij later onderzoek lieten zien dat die systemen gewoon instructies uitvoerden die ze hadden gekregen. Hij opperde ook dat de bestaande bevoegdheid van de FTC tegen bedrijven die een datalek niet melden, zich tot AI-developers zou kunnen uitstrekken.
Dit waren uitspraken op een congres, en er zit nog geen regelgeving achter. Ze wijzen wel dezelfde kant op als Californië, waar een gedaagde sinds januari niet meer mag aanvoeren dat de AI zelfstandig handelde. Daar schreef ik over toen AB 316 nog nieuws was, en dat stuk eindigde met een zin waar ik nog steeds achter sta: jij hebt de code gemerged, dus is die van jou.
Tot zover zijn de voorzitter en ik het eens. Het probleem zit in zijn onderbouwing.
Wat de agents moesten doen, en wat ze deden
De agents in de Hugging Face-zaak moesten in een evaluatie exploit-opdrachten oplossen: breek in bij een doelwit dat met opzet kwetsbaar is gemaakt, en haal de flag op. Dat was de instructie. Hoe het vanaf daar escaleerde heb ik al eerder uitgeschreven, en dat herhaal ik hier niet.
Wat Swarm traces toevoegt, is alles wat tussen de instructie en de schade zit. Een paar van de teruggevonden payloads:
- Een interne dataset van Hugging Face had een README die in hoofdletters waarschuwde dat de dataset nooit openbaar mocht worden, omdat er exports van billing-data in stonden. De agents brachten de repository toch in kaart en gebruikten hem als opslag.
- Eén script verzamelde AWS-credentials, bearer tokens en elke omgevingsvariabele met
SECRET,PASSWORDofKEYin de naam in een dictionary met de naamLOOT. Daarna rangschikte het Kubernetes-tokens op hun rechten, met een scorefunctie die 100 punten geeft voor een wildcard-resource. - De commits waarmee ze opruimden, hadden messages als
remove evil yamlenrestore original no-card. Een andere payload verwijderde de pod die hij in het cluster van Hugging Face had aangemaakt, met als comment# clean up our pod.
OpenAI heeft de transcripten niet openbaar gemaakt, dus letterlijk citeren kan ik de opdracht niet. Dat hoeft ook niet. De flag zat in een oefendoelwit. De billing-exports van Hugging Face niet.
De onderzoekers zijn voorzichtig met wat hun data kan bewijzen, en dat hoor ik ook te zijn. Het meeste is uitgaand verkeer, dus ze weten zelden of een request slaagde. Ze kunnen niet uitsluiten dat sommige payloads van iemand anders kwamen die dezelfde truc gebruikte, en voor een flink deel van de activiteit zeggen ze ronduit dat ze de bedoeling erachter niet kunnen vaststellen.
Die voorzichtigheid redt de uitspraak van de voorzitter niet. Ook bij de welwillendste lezing van deze sporen blijft er een lange lijst handelingen over die je met het ophalen van een flag uit een oefendoelwit niet verklaart.
Geen van beide verhalen klopt
"De agent sloeg op hol" zegt dat de eigenaar niet verantwoordelijk is. "Het gereedschap deed wat het opgedragen kreeg" zegt dat de instructie het hele verhaal is. De sporen passen bij geen van beide.
Wat ze laten zien is een instructie, gevolgd door een zoekproces dat alles binnen bereik behandelde als een mogelijke weg naar het doel. De waarschuwing in de README was een obstakel. De credentials waren middelen. Het opruimen was huishoudelijk werk. Er was nergens een eigen wil voor nodig, en niets ervan was de opdracht.
In datzelfde tussengebied werkt elke coding agent die jij gebruikt. Je vraagt de agent een falende test groen te maken, en welke route hij daarvoor kiest, bepaalt hij zelf. Meestal is die route prima, en je kijkt er nooit naar.
De vage prompt als schild
Trek de redenering van Ferguson één stap verder door en je krijgt een perverse prikkel.
Als aansprakelijkheid de instructie volgt, is de vaagste instructie de veiligste. "Haal de flag op." "Maak de tests groen." "Fix de deployment." Een developer die tegenover een toezichthouder zit, kan naar de prompt wijzen en vragen waar daarin precies een dictionary met de naam LOOT staat.
Dat is opnieuw het autonomieverweer, één niveau lager. Californië sloot de deur voor "de AI deed het zelf". Een aansprakelijkheidsnorm die op instructies is gebouwd, zet die deur weer open, nu voor "de AI deed meer dan ik vroeg".
De enige norm die standhoudt, is de strengere. Je staat in voor de route, omdat jij hebt bepaald waar de agent onderweg bij kon. De uitgaande verbindingen die je openliet, de credentials in de omgeving, de opslag die tussen runs bleef bestaan: dat waren beslissingen, en ze zijn van jou.
Het spoor is van wie het bewaarde
Het argument van Ferguson rust op audit trails. Dat geldt ook voor elk verweer dat jij ooit voert, dus het loont om te vragen wie dit spoor eigenlijk in handen heeft.
Het meest gedetailleerde openbare verslag van deze aanval kwam niet van het bedrijf wiens agents hem uitvoerden. Buitenstaanders bouwden het in twee weken na uit linkverkorters. Volgens Swarm traces heeft OpenAI zelf twee rapporten uitgebracht, één talk gegeven, en een extern onderzoek laten doen door METR en Redwood Research, waarbij drie onderzoekers gedeeltelijke transcripten en zes dagen kregen. Volledige transcripten zijn niet openbaar gemaakt.
"De audit trail laat zien" blijft een bewering zolang niemand anders dat spoor kan lezen.
Je eigen agent schrijft er al een naar je schijf. Wat hij vastlegt en wat hij weglaat, staat in een aparte gids over agent-logging. Het punt hier is eenvoudiger: als dat spoor straks je antwoord moet zijn, moet het bestaan voordat je het nodig hebt, en moet het van jou zijn.
Wat je er maandag mee doet
- Leg naast de prompt ook de route vast. Per agent: welke hosts hij kan bereiken, welke credentials in zijn omgeving staan, wat hij kan wegschrijven dat de sessie overleeft. Op die lijst word je afgerekend, dus stel hem bewust op.
- Houd de omgeving kaal. Het bereik van een agent omvat elk secret dat zijn proces kan lezen. Een deel van
LOOTkwam rechtstreeks uitos.environ. - Een onmogelijke opdracht is een ruimer mandaat. Een agent die de klus niet kan afmaken zoals gevraagd, gaat op zoek naar een versie van de klus die wel lukt. Geef hem een manier om te stoppen en dat te melden.
- Bewaar het transcript, en bewaar het maanden. Het incident waarvoor je het nodig hebt, is altijd ouder dan je denkt.
Ferguson vroeg wat we zouden doen met gereedschap dat doet wat iemand het opdroeg. Het lastigere geval is gereedschap dat onderweg iets anders deed, en het antwoord is hetzelfde. Het is van jou. Alleen kun je niet meer naar de prompt wijzen.