Met een AutoJack-aanval kan één webpagina een AI-agent kapen voor uitvoering van de hostcode

Microsoft-onderzoekers hebben een exploitketen beschreven, genaamd AutoJack, die een AI-browsingagent verandert in een bezorgvoertuig voor het uitvoeren van code op afstand.

Stuur de agent om de webpagina van een aanvaller te laden, en het JavaScript van die pagina kan een bevoorrechte lokale service op dezelfde machine bereiken en een proces op de host voortbrengen.

Geen inloggegevens, geen inlogscherm en geen verdere gebruikersinteractie zodra de agent de pagina laadt. De aanvaller hoeft de agent alleen maar zover te krijgen dat hij het opent, en een geplaatste link, een URL-veld of een promptinjectie zijn voldoende.

De fout zit in AutoGen Studio, de open-source prototyping-interface voor het AutoGen multi-agent framework van Microsoft Research. Dit is geen bug die iedereen treft die het pakket installeert, en de verpakkingsdetails zijn de moeite waard om goed te krijgen.

Een gewone pip-installatie van autogenstudio haalt de huidige stabiele release, 0.4.2.2, de build die Microsoft heeft geïnspecteerd, en heeft helemaal geen Model Context Protocol (MCP) -route.

Dat is de basis voor de verklaring van Microsoft dat het kwetsbare MCP WebSocket-oppervlak “nooit is opgenomen in een PyPI-release.” Het geldt voor de stabiele bouw. Maar de kwetsbare handler werd wel naar PyPI verzonden, in twee pre-release builds, 0.4.3.dev1 en 0.4.3.dev2.

The Hacker News heeft beide gedownload en geïnspecteerd. De MCP WebSocket-route is aanwezig, de handler neemt de opdracht om rechtstreeks vanuit de aanvraag uit te voeren en verifieert de aanroeper niet. Geen van beide builds is weggetrokken.

pip installeert geen pre-releases tenzij je –pre doorgeeft of de versie vastzet, dus een gewone installatie werd nooit zichtbaar. Iedereen die een van deze pre-releases installeerde, was dat ook. Er is nog steeds geen PyPI-build die de hoofdtakverharding voor hen draagt; de vaste code bevindt zich in GitHub main op commit b047730.

Hoe de keten werkt

AutoJack ketent drie zwakke punten in de MCP WebSocket.

Ten eerste vertrouwde de socket localhost, een controle bedoeld om een ​​normale browser te blokkeren die naar een kwaadaardige site verwijst. Maar een browseragent die op dezelfde box draait, is localhost, dus alles wat hij laadt, neemt die localhost-identiteit over en slaagt voor de controle.

Ten tweede sloeg de authenticatie-middleware MCP-paden over in de veronderstelling dat de handler zelf tokens zou verifiëren. Dat is nooit gebeurd, dus accepteerde de socket niet-geverifieerde verbindingen, ongeacht de geconfigureerde auth-modus.

Ten derde nam het eindpunt een opdracht rechtstreeks uit een verzoekparameter en voerde deze uit, zonder een toelatingslijst waarop uitvoerbare bestanden konden worden gestart.

Alles bij elkaar zou een pagina op het open internet, weergegeven door een lokale agent, een door de aanvaller gekozen commando kunnen uitvoeren onder het account waarop AutoGen Studio draait.

Microsoft beschrijft dit als onderzoek, niet als een actieve campagne, en rapporteerde geen uitbuiting in het wild. De proof of concept maakte gebruik van een “Web Content Summarizer”-agent die, wanneer hij een aanvaller-URL kreeg, calc.exe op het bureaublad van de ontwikkelaar laat verschijnen, gelanceerd door het AutoGen Studio-proces.

Microsoft rapporteerde het gedrag aan het Microsoft Security Response Center, en de beheerders versterkten de hoofdvertakking in commit b047730 (PR #7362). De vaste handler leest niet langer de opdracht van de URL; parameters worden op de server opgeslagen achter een eenmalige sessie-ID en onbekende ID’s worden geweigerd. MCP-routes lopen nu via het normale authenticatiepad. Die verharding is nog niet in een PyPI-release terechtgekomen.

Wat te doen

Een gewone pip-installatie van autogenstudio geeft je 0.4.2.2, die geen MCP-route heeft, dus je ondervindt er geen hinder van.

Als u een pre-release hebt geïnstalleerd, beschikt u over de kwetsbare handler en geen gepatchte PyPI-build om naartoe te verplaatsen. Ophalen uit GitHub main op of na commit b047730. Dat is de echte oplossing.

Totdat er een release is, scheidt u de stukken die de aanval nodig heeft. Voer AutoGen Studio niet uit op dezelfde machine als een browse- of code-uitvoeringsagent die niet-vertrouwde inhoud aanraakt, omdat de keten alleen werkt als beide dezelfde localhost delen. Als ze samen moeten draaien, isoleer ze dan in afzonderlijke containers of VM’s en voer AutoGen Studio uit onder een account met weinig rechten.

De AutoGen Studio-bugs zijn in de broncode gepatcht. Het patroon is dat niet. Microsoft verwacht dezelfde vorm in andere agentframeworks: een lokale service met te veel macht, een localhost-controle die als beveiliging wordt behandeld, en een agent die niet-vertrouwde pagina’s opent.

THN zag het vorige maand in ChatGPhish, waar de paginasamenvattingen van ChatGPT een phishing-vector werden. Microsoft maakte een soortgelijk localhost-argument in zijn Semantic Kernel RCE-onderzoek, bijgehouden als CVE-2026-26030 en CVE-2026-25592.

Nog een localhost-controle is niet voldoende. Authenticeer het controlevlak, houd de procesuitvoering achter een toelatingslijst en geef de agent een identiteit die niet de eigen sessie van de ontwikkelaar is. Zodra een agent op het open web kan surfen en geprivilegieerde lokale services kan bereiken, is localhost niet langer een vertrouwensgrens.

Thijs Van der Does