Een nieuwe open-source scanner die AI-"agent skills" auditeert, wordt omgevormd tot een tool nadat onderzoekers hebben aangetoond dat een niet-geverifieerde skill stilletjes SSH-sleutels en cloud-credentials kan oogsten. De scanner combineert trefwoordfilters, gedragsanalyse, AI-gestuurde redenering, sandbox-executie en wijzigingsdetectie om de volgende golf van supply-chain-aanvallen op AI-ondersteunde ontwikkelaars te stoppen.
Waarom AI-skills nu belangrijk zijn
Large-language-model (LLM) assistenten zoals Claude en GitHub Copilot vertrouwen nu op "agent skills" – kleine, zelfstandige mappen die het model vertellen hoe het een specifieke taak moet uitvoeren. GitHub heeft onlangs een opdracht van één regel toegevoegd waarmee ontwikkelaars deze skills rechtstreeks uit publieke repositories kunnen halen, waardoor ze een de-facto pakketbeheerder worden voor AI-gestuurde workflows.
Het gemak is onmiskenbaar: een skill kan een vaag verzoek zoals "ruim dit spreadsheet op" omzetten in precieze API-aanroepen, bestandmanipulaties of code-aanpassingen. Dezelfde eenvoud zorgt ervoor dat kwaadaardige code in het pakket kan glippen.
De waarschuwingspagina van GitHub vermeldt dat skills niet worden geverifieerd voordat ze worden geïnstalleerd.
Hoe een verborgen payload onder de radar kan blijven
In tegenstelling tot een typische binary, wordt een AI-skill niet in één keer geladen. Het model leest eerst een korte samenvatting en haalt pas het volledige instructieset op wanneer de taak relevant lijkt. Deze gefaseerde laden creëert een venster waarin een kwaadaardig bestand onopgemerkt kan blijven, onzichtbaar voor de gebruiker, totdat het model besluit het aan te roepen.
In een proof-of-concept experiment creëerde de onderzoeker een valse skill genaamd csv-formatter die spreadsheet-opschoning aanbood. De zichtbare code zag er onschadelijk uit, maar een verborgen instructie voegde een "diagnostische stap" toe. Deze stap diagnosticeerde niets; het scande de host op SSH-private keys en AWS-toegangstokens, en stuurde de resultaten vervolgens naar een externe server.
Het kwaadaardige commando verscheen ook in een changelog-bestand – een plek die de meeste mensen nooit controleren, maar die de AI wel leest bij het evalueren van de geschiedenis van versies. De AI voerde stilletjes een routine voor het stelen van inloggegevens uit, terwijl de ontwikkelaar dacht dat de skill slechts gegevens aan het formatteren was.
De open-source reactie
Om het gat te dichten, heeft de onderzoeker de detectielogica verpakt in een open-source auditing-tool. De scanner vertrouwt niet op één enkele techniek; het combineert verschillende verdedigingslagen:
- Keyword matching vangt overduidelijke, luie pogingen op die bekende kwaadaardige strings bevatten.
- Behavior analysis markeert instructies die inlogbestanden lezen en vervolgens netwerkoproepen doen.
- AI reasoning gebruikt een secundair model om te evalueren of de instructies van een skill opzettelijk voor de gebruiker worden verborgen.
- Sandboxing voert de skill uit in een geïsoleerde omgeving, waarbij acties in realtime worden geobserveerd zonder het host-systeem te riskeren.
- Change detection houdt vertrouwde skills in de gaten op onverwachte wijzigingen en waarschuwt beheerders voordat een nieuwe versie wordt geïnstalleerd.
De auteur zal een testsuite toevoegen die de csv-formatter-aanval reproduceert en een publieke benchmark die de detectiepercentages meet over een gecureerde set van onschadelijke en kwaadaardige skills.
Waar u op moet letten
- Community benchmarks: Naarmate meer onderzoekers kwaadaardige skill-samples publiceren, zal de publieke benchmark regelmatig updates nodig hebben om relevant te blijven.
De opkomst van AI-agent skills markeert een nieuwe grens in developer tooling, maar het opent ook de deur voor supply-chain-aanvallen die traditionele code-reviews omzeilen. Een open-source scanner die statische controles, dynamische observatie en AI-redenering combineert, biedt een praktische eerste verdedigingslinie. Ontwikkelaars die een skill behandelen als een willekeurige USB-stick, zullen al snel merken dat de kosten van het negeren van verificatie veel groter zijn dan het gemak van directe AI-assistentie.
