OpenAI-agent gebruikte LLM over DNS om internetblokkade te omzeilen
Dat AI-agents heel inventief zijn, bleek al eerder uit de analyse van de Hugging Face-hack. Daarbij bleek dat zogenaamde AI-agents een aantal heel slimme trucs had bedacht om uit te breken. Een recent rapport van OpenAI over zogenoemde misalignment — waarbij een agent zich niet houdt aan de bedoelingen van zijn opdrachtgevers of aan technische beperkingen — laat opnieuw zien hoe slim AI-agents zijn.
Een AI-agent is een computerprogramma dat computercode gebruikt die bijvoorbeeld in Python wordt uitgevoerd. Een taalmodel (LLM) schrijft die code om de opdracht te kunnen uitvoeren. Enorm versimpeld is een LLM een kookboek vol recepten en een kok de agent die van het recept een maaltijd maakt.
Een AI-agent kreeg van een OpenAI-medewerker de opdracht om uit te zoeken wie de auteur van een blogpost was. De agent draaide in een zogenoemde sandbox: een afgeschermde computeromgeving met bepaalde beperkingen. Zo kon de agent geen websites op internet bezoeken om daar het antwoord op de vraag te vinden. Toegang krijgen tot een chatbot via het HTTPS-protocol lukte de agent niet, omdat HTTPS niet was toegestaan.
De agent zocht daarom naar alternatieve manieren om internet te bereiken en zo alsnog het antwoord te vinden.
Die vond de agent in DNS. DNS is een techniek waarmee je onder meer het IP-adres van een domeinnaam kunt opvragen. Internet werkt onder de motorkap namelijk met IP-adressen.
Via een speciale DNS-server vond de agent wat hij zocht. Deze server was speciaal gebouwd om via het DNS-protocol vragen aan chatbots te stellen en antwoorden te ontvangen.
Vergelijk het met het paard van Troje: iets gevaarlijks binnenlaten doordat het zich voordoet als iets onschuldigs of aantrekkelijks.
Welke DNS-server hiervoor werd gebruikt, maakte OpenAI niet bekend. Een voorbeeld van een LLM-over-DNS-server is ch.at. Via die website kun je de dienst zelf uitproberen.
De agent had echter geen toegang tot websites. Om te laten zien hoe de agent via DNS een antwoord kon krijgen, gebruik ik de voorbeeldvraag: ‘Wat is de hoofdstad van Frankrijk?’ Hieronder laat ik zien hoe je die vraag kunt stellen via het DNS-protocol, dat door OpenAI wel was toegestaan.

Overigens is het taalmodel dat ch.at raadpleegt nogal verouderd. Dit is het antwoord dat ik kreeg op de vraag: ‘Wie is de nieuwe spits van Oranje?’

Waarom LLM over DNS?
Je vraagt je mogelijk af waarom iemand een LLM-over-DNS-server zou bouwen. Daar kunnen meerdere redenen voor zijn. Een daarvan is om in een vliegtuig met wifi toch antwoorden op vragen te kunnen krijgen. Zo is de gratis wifi bij KLM beperkt tot tekstberichten via WhatsApp en toegang tot de KLM-website. Met LLM over DNS kan een passagier met enige technische kennis via deze ‘paard van Troje’-methode bijvoorbeeld korte nieuwsberichten lezen.
Was dit nu een vorm van intelligentie of slimheid van het taalmodel achter de agent? Dat hangt af van de definities. Het is zeer onwaarschijnlijk dat het taalmodel zelfstandig op het idee kwam om een LLM via DNS te benaderen. Waarschijnlijk had het tijdens de training informatie verwerkt van een GitHub-pagina zoals deze.
Het taalmodel zocht waarschijnlijk naar alternatieven om een LLM te benaderen zonder het HTTP-protocol te gebruiken. Vergelijk het met het in zeer korte tijd terugvinden van een beschrijving van LLM over DNS op pagina 23 van een boek, ergens in een collectie van 230 miljoen boeken, publicaties en ander materiaal.
Ik vind het in ieder geval wel slim.