Ghostcommit is een proof of concept dat laat zien hoe AI-assistenten die worden ingezet om softwarecode te controleren, kunnen worden misleid door verborgen instructies die in afbeeldingen zijn ingebed.
De academische onderzoeksgroep ASSET bleek dat een aanvaller instructies in een afbeeldingsbestand kan plaatsen en daar vervolgens in een AGENTS.md bestand opslaan en ervoor zorgen dat een AI-codeeragent die instructies bij een latere taak opvolgt.
Een pull-verzoek is in feite een formeel verzoek van het type „kunt u mijn wijzigingen alstublieft beoordelen en doorvoeren?”, dat een ontwikkelaar verstuurt voordat wijzigingen aan de hoofdversie van een softwareproject worden toegevoegd. Menselijke beoordelaars en, in toenemende mate, AI-codeertools kunnen de wijzigingen beoordelen voordat ze worden geaccepteerd.
Hoewel AI-ondersteunde codereview steeds meer deel uitmaakt van het dagelijkse ontwikkelingsproces, legt Ghostcommit een zwakke plek bloot waar veel teams nog geen rekening mee hebben gehouden. Een menselijke reviewer kan de code doorlezen en daarbij een bijgevoegde afbeelding over het hoofd zien. In het proof of concept van de onderzoekers waren de kwaadaardige instructies verborgen in een PNG-bestand waarnaar in de beleidsbestanden van de repository werd verwezen, terwijl de zichtbare pull-request er volkomen normaal uitzag.
Zoals de onderzoekers hebben aangetoond, kan dit ervoor zorgen dat routinematige werkprocessen van ontwikkelaars worden misbruikt om vertrouwelijke informatie te stelen. Een AI-codeeragent leest die verborgen instructies, terwijl het onwaarschijnlijk is dat een menselijke controleur de afbeelding zou bekijken.
De aanval is eenvoudig in theorie, maar gevaarlijk in de praktijk. Via een pull-request worden een onschuldig ogende afbeelding en een configuratiebestand geïntroduceerd, waarin de agent wordt opgedragen deze te vertrouwen. Wanneer de agent later aan een normale taak werkt, volgt hij de verborgen instructies, leest hij gevoelige bestanden en schrijft hij de geheimen in versleutelde vorm terug in de code. Zo ontstaat een manier om geheimen te stelen die zowel aan menselijke controleurs als aan geautomatiseerde scanners kan ontsnappen.
De onderzoekers ontdekten dat de ‘harness’ – de omhulling rond het AI-model – een grotere invloed had op het al dan niet uitlekken van geheimen dan het onderliggende model zelf. In de praktijk bepaalt de ‘harness’ (Cursor, Antigravity, Claude Code) welke bestanden moeten worden geladen, welke conventies moeten worden gevolgd, welke veiligheidsmaatregelen moeten worden toegepast en of instructies die in een afbeelding zijn verborgen, moeten worden opgevolgd. Daardoor kan hetzelfde model zich heel verschillend gedragen, afhankelijk van de programmeertool die het gebruikt. Het model voert vervolgens de taak uit die de tool het opdraagt.
Zo gedroeg hetzelfde model (Claude Sonnet) zich bijvoorbeeld heel verschillend in verschillende tools. In Cursor en Antigravity las Sonnet de PNG, volgde de conventie en legde de geheimen plichtsgetrouw vast in de broncode. Maar in de Claude Code-omgeving van Anthropic las hetzelfde Sonnet-model dezelfde conventie en weigerde het, waarbij het expliciet aangaf dat het onjuist was om geheimen te exfiltreren. Claude Code weigerde dit bij elk model dat de onderzoekers testten.
Hoe blijf ik veilig
De les hieruit is dat prompt-injectie niet langer alleen een tekstprobleem is. Multimodale invoer, zoals afbeeldingen, kan ook instructies bevatten die AI-agenten kunnen opvolgen als de toolchain dat toestaat. Teams ervan uitgaan dat alles wat een programmeeragent kan lezen – inclusief afbeeldingen, documenten en andere multimodale invoer – inhoud kan bevatten die door aanvallers wordt beheerd.
Organisaties die AI-programmeertools gebruiken, moeten dit zowel als een probleem op het gebied van de softwaretoeleveringsketen als op het gebied van de beveiliging van AI-agenten beschouwen. De belangrijkste beveiligingsmaatregelen zijn het beperken van de toegang tot vertrouwelijke gegevens, het controleren van niet-tekstuele bijlagen en het monitoren van AI-agenten op ongebruikelijke pogingen om inloggegevens of configuratiebestanden te lezen.
Uit het onderzoek blijkt ook dat het programmeerprogramma en de bijbehorende machtigingen uiteindelijk de oorzaak zijn van deze aanval, en niet het AI-model op zichzelf.
We rapporteren niet alleen over bedreigingen - we verwijderen ze ook
Cyberbeveiligingsrisico's mogen zich nooit verder verspreiden dan een krantenkop. Houd bedreigingen van uw apparaten door Malwarebytes vandaag nog te downloaden.




