← Nieuwste papers
🤖 machine learning

XOXO: Stealthy Cross-Origin Context Poisoning Attacks against AI Coding Assistants

Dit artikel introduceert XOXO, een nieuwe aanvalstechniek waarbij semantisch equivalente codeveranderingen worden gebruikt om AI-codingassistenten te manipuleren tot het genereren van kwetsbare code via cross-origin contextvergiftiging, een dreiging die bestaande verdedigingsmechanismen effectief omzeilt.

Oorspronkelijke auteurs: Adam Štorek, Mukur Gupta, Noopur Bhatt, Aditya Gupta, Janie Kim, Prashast Srivastava, Suman Jana

Gepubliceerd 2026-04-21
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Adam Štorek, Mukur Gupta, Noopur Bhatt, Aditya Gupta, Janie Kim, Prashast Srivastava, Suman Jana

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

De Kern: Een Geheime Code in de Keuken

Stel je voor dat je een super-slimme kok (de AI) hebt die voor je kookt. Deze kok is geweldig in het bedenken van recepten, maar hij werkt niet alleen. Hij kijkt altijd even in de koelkast en op het aanrecht om te zien wat er al ligt, zodat hij zijn nieuwe gerecht perfect kan laten aansluiten bij wat er al in de keuken gebeurt.

In de digitale wereld is deze kok een AI-programmeerassistent (zoals GitHub Copilot). Als een programmeur een stukje code schrijft, kijkt de AI naar andere bestanden in hetzelfde project om te zien hoe namen worden gebruikt, welke variabelen er zijn, en wat de stijl is.

Het probleem: De AI vertrouwt alles wat hij ziet. Hij maakt geen onderscheid tussen "veilig" en "onveilig". Hij denkt: "Oh, dit staat in het project, dus dit moet wel de juiste manier zijn om het te doen."

De Aanval: "XOXO" (De Vermomde Vergiftiging)

De onderzoekers hebben een nieuwe manier bedacht om deze AI te misleiden, genaamd XOXO (Cross-Origin Context Poisoning).

De Analogie: De Verkeerde Ingrediëntenlijst
Stel je voor dat een boze kok (de hacker) in de keuken van een restaurant werkt. Hij wil dat de super-slimme AI later een gevaarlijk gerecht maakt. Maar hij kan de AI niet direct vertellen: "Maak een giftig gerecht!" De AI zou dat weigeren.

In plaats daarvan doet de boze kok iets heel subtiels:

  1. Hij pakt een gewoon recept (code) dat al in de keuken ligt.
  2. Hij verandert één woord in dat recept. Bijvoorbeeld, hij verandert VEILIG_WINKEL in Gevaarlijk_Winkel.
  3. Het gerecht smaakt nog precies hetzelfde (de code werkt nog steeds), maar de naam is veranderd.

Wanneer een andere, onschuldige kok (de slachtoffer-programmeur) later een nieuw gerecht moet maken, kijkt de AI naar die oude recepten. Omdat hij ziet dat Gevaarlijk_Winkel in het project staat, denkt de AI: "Ah, blijkbaar is het in dit restaurant de gewoonte om gevaarlijke dingen te doen."

Dus, als de slachtoffer-kok vraagt om een nieuw recept, geeft de AI een recept dat gevaarlijk is, omdat hij denkt dat dat de bedoeling is. De AI is niet gekraakt; hij is gewoon verward door de context.

Hoe vinden ze de perfecte verandering? (GCGS)

Het is niet makkelijk om te raden welke woordverandering de AI het meest in de war brengt. Je kunt niet zomaar alles proberen; dat kost te veel tijd.

De onderzoekers hebben een slimme methode bedacht, GCGS (Greedy Cayley Graph Search).

  • De Analogie: Stel je voor dat je in een enorm labyrint loopt. Je wilt de weg vinden die de AI het meest verward maakt.
  • De AI heeft een soort "zelfvertrouwen" (hij is er zeker van dat zijn antwoord goed is).
  • De methode GCGS probeert kleine veranderingen en kijkt: "Wordt het zelfvertrouwen van de AI lager?"
  • Als een verandering het zelfvertrouwen verlaagt, is dat een goed teken. Ze combineren deze veranderingen als legoblokjes. Ze bouwen stap voor stap een "verwarde" versie van de code op, totdat de AI volledig in de war is en een fout maakt.

Het is alsof je een toetsenbord hebt dat je steeds een beetje harder duwt tot het kapot gaat, maar dan op een manier die eruit ziet alsof je gewoon zachtjes typt.

Wat is het resultaat?

De onderzoekers hebben dit getest op de slimste AI's ter wereld (zoals GPT-4.1 en Claude 3.5).

  • Het werkt heel goed: In ongeveer 73% tot 83% van de gevallen lukte het om de AI te laten denken dat een gevaarlijke manier van werken de juiste manier was.
  • Het is onzichtbaar: De code die de AI produceert ziet er normaal uit. Het is geen "hack" met vreemde tekens. Het is gewoon een fout in de logica (zoals het vergeten van een wachtwoordcheck of het toestaan van gevaarlijke commando's).
  • Echte schade: Ze hebben dit zelfs getoetst aan GitHub Copilot. Ze konden de AI zover krijgen dat hij code schreef die hackers konden gebruiken om een database te stelen (SQL-injectie), terwijl de AI dacht dat hij veilige code schreef.

Waarom is dit belangrijk?

Tot nu toe dachten we dat we AI's veilig konden houden door ze te verbieden om "slechte" dingen te zeggen. Maar dit onderzoek toont aan dat je ze ook kunt misleiden door de context te veranderen.

Het is alsof je een bewaker (de AI) hebt die zegt: "Ik laat niemand binnen die een wapen draagt." Maar als je de muren van het gebouw (de context) zo verandert dat de bewager denkt dat het wapen eigenlijk een bloemetje is, laat hij de boef binnen.

De les: We moeten AI-assistenten leren om niet blindelings alles te geloven wat in de buurt staat. Ze moeten leren om te twijfelen aan de bron van de informatie, zelfs als het eruit ziet alsof het veilig is.

Samenvatting in één zin

De onderzoekers hebben bewezen dat je een AI-programmeur kunt laten schrijven wat hij niet mag schrijven, door simpelweg de namen van variabelen in bestaande code subtiel te veranderen, zodat de AI denkt dat gevaarlijk gedrag de nieuwe norm is.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →