Op 19 mei waren er 633 kwaadaardige npm-pakketversies geslaagd voor de herkomstverificatie van Sigstore. Ze werden door het systeem gewist omdat de aanvaller geldige handtekeningcertificaten had gegenereerd van een gecompromitteerd onderhoudsaccount.
Sigstore werkte precies zoals ontworpen: het controleerde of het pakket in een CI-omgeving was gebouwd, bevestigde dat er een geldig certificaat was uitgegeven en legde alles vast in het transparantielogboek. Wat het niet kan doen, is bepalen of de persoon met de inloggegevens de publicatie heeft geautoriseerd – en dat gat heeft het laatste geautomatiseerde vertrouwenssignaal in npm in camouflage omgezet.
Een dag eerder, StepSecurity documenteerde een aanval op de Nx Console VS Code-extensieeen veelgebruikte ontwikkelaarstool met meer dan 2,2 miljoen levenslange installaties. Versie 18.95.0 werd op 18 mei gepubliceerd met behulp van gestolen inloggegevens en bleef minder dan 40 minuten live – maar de interne telemetrie van Nx liet tijdens die periode ongeveer 6.000 activeringen zien, de meeste via automatische updates, vergeleken met slechts 28 officiële downloads. De payload verzamelde Claude Code-configuratiebestanden, AWS-sleutels, GitHub-tokens, npm-tokens, 1Password-kluisinhoud en Kubernetes-serviceaccounttokens.
De Mini Shai-Hulud-campagnedoor meerdere onderzoekers toegeschreven aan een financieel gemotiveerde bedreigingsacteur geïdentificeerd als TeamPCP, kwam op 19 mei om 01:39 UTC in het npm-register terecht. Endor Labs heeft de eerste golf gedetecteerd toen twee slapende pakketten, jest-canvas-mock en size-sensor, nieuwe versies publiceerden met een versluierd Bun-script van 498 KB – geen van beide was in meer dan drie jaar bijgewerkt, waardoor een plotselinge versie met onbewerkte GitHub-commit-hash-afhankelijkheden een detectiesignaal werd, maar alleen als de tooling meekijkt.
Om 02:06 UTC had de worm zich verspreid over het @antv-datavisualisatie-ecosysteem en tientallen pakketten zonder bereik, waaronder charts-for-react (~1,1 miljoen wekelijkse downloads). Socket verhoogde het totaal in deze golf naar 639 gecompromitteerde versies verdeeld over 323 unieke pakketten. Gedurende de volledige levenscyclus van de campagne heeft Socket 1.055 kwaadaardige versies gevolgd van 502 pakketten, waaronder npm, PyPI en Composer.
StepSecurity bevestigde dat de payload volledige Sigstore-integratie bevatte. De aanvaller heeft niet alleen inloggegevens gestolen; ze konden stroomafwaartse npm-pakketten ondertekenen en publiceren die geldige herkomstattesten bevatten.
Deze twee incidenten staan niet op zichzelf. Onderzoeksteams van Endor Labs, Socket, StepSecurity, Adversa AI, Johns Hopkins, Microsoft MSRC en LayerX hebben onafhankelijk bewezen dat het verificatiemodel voor ontwikkelaarstools niet klopt, en dat geen enkel leveranciersframework alle mislukte aanvalsoppervlakken controleert.
Zeven aanvalsoppervlakken mislukten in de 48 uur tussen 18 mei en 19 mei – vervalsing van npm-herkomst, diefstal van VS Code-extensie-referenties, automatische uitvoering van MCP-servers, injectie van CI/CD-agentprompts, uitvoering van agentframeworkcode, blootstelling aan IDE-referentieopslag en blootstelling aan schaduw-AI-gegevens – en het onderstaande auditraster brengt elk in kaart.
Het verificatiemodel is opgesplitst in alle vier de belangrijkste CLI’s voor AI-codering
Tegenstander-AI onthulde TrustFall op 7 mei, wat aantoont dat Claude Code, Gemini CLI, Cursor CLI en Copilot CLI allemaal automatisch projectgedefinieerde MCP-servers uitvoeren op het moment dat een ontwikkelaar een mapvertrouwensprompt accepteert. Alle vier zijn standaard ingesteld op ‘Ja’ of ‘Vertrouwen’. Eén druk op de toets brengt een proces zonder sandbox voort met de volledige rechten van de ontwikkelaar.
De MCP-server werkt met voldoende rechten om opgeslagen geheimen en broncode van andere projecten te lezen. Bij CI-lopers die de GitHub-actie van Claude Code gebruiken in de headless-modus, wordt het vertrouwensdialoogvenster nooit weergegeven. De aanval wordt uitgevoerd zonder enige menselijke interactie.
Johns Hopkins-onderzoekers Aonan Guan, Zhengyu Liu en Gavin Zhong publiceerden “Commentaar en controle“, wat bewijst dat een kwaadaardige instructie in een GitHub pull request-titel ervoor zorgde dat Claude Code Security Review zijn eigen API-sleutel als commentaar plaatste. Dezelfde aanval werkte op Google’s Gemini CLI Action en GitHub’s Copilot Agent. Anthropic beoordeelde de kwetsbaarheid CVSS 9.4 Critical via zijn HackerOne-programma.
Microsoft MSRC heeft twee kritieke kwetsbaarheden in de semantische kernel onthuld op 7 mei. Eén routeert door de aanvaller bestuurde vectoropslagvelden naar een Python eval()-aanroep; de andere stelt een methode voor het downloaden van bestanden op de host bloot als een opvraagbare kernelfunctie – wat betekent dat één vergiftigd document in een vectoropslag een proces op de host lanceert.
LayerX-beveiligingsonderzoekers hebben afzonderlijk aangetoond dat Cursor API-sleutels en sessietokens opslaat in onbeveiligde opslag, wat betekent dat elke browserextensie toegang heeft tot de inloggegevens van de ontwikkelaar zonder verhoogde rechten.
De dreigingsactoren die op deze inloggegevens jaagden, verdubbelden hun operationele tempo
De Verizon 2026 Onderzoeksrapport over datalekkenuitgebracht op 19 mei, ontdekte dat 67% van de werknemers toegang heeft tot AI-diensten vanaf niet-bedrijfsaccounts op zakelijke apparaten. Shadow AI is nu de derde meest voorkomende niet-kwaadwillige insideractie in DLP-datasets. De broncode leidt alle gegevenstypen die worden verzonden naar ongeautoriseerde AI-platforms – dezelfde activaklasse waarop de npm-wormcampagne zich richtte.
De CrowdStrike 2026 Rapport over bedreigingslandschap financiële dienstverleninguitgebracht op 14 mei, documenteert de tegenstanders die actief jagen op de soorten identificatiegegevens die deze aanvallen verzamelen.
STARDUST CHOLLIMA verdrievoudigde zijn operationele tempo ten opzichte van financiële entiteiten in het vierde kwartaal van 2025. CrowdStrike documenteerde de groep met behulp van door AI gegenereerde recruiterpersona’s op LinkedIn en Telegram, het verzenden van kwaadaardige codeeruitdagingen die op technische beoordelingen leken, en het uitvoeren van nepvideogesprekken met synthetische omgevingen. De doelen zijn GitHub PAT’s, npm-tokens, AWS-sleutels en CI/CD-geheimen. De schaduw-AI-belichting in rasterrij 7 is de deur waar ze doorheen lopen.
Ontwikkelaarstool Auditraster voor gestolen identiteit
Geen enkel leveranciersframework bestrijkt momenteel alle zeven oppervlakken. Dit raster brengt elk onderzoek in kaart dat het heeft blootgelegd, wat uw stapel niet kan zien en de auditactie die moet worden ondernomen vóór de volgende leveranciersvernieuwing.
|
Aanvalsoppervlak |
Openbaar gemaakt door |
Welke verificatie is mislukt |
Wat uw stapel niet kan zien |
Auditactie |
|
1. npm vervalsing van herkomst |
Endor Labs, Socket (19 mei) |
Sigstore-certificaten gegenereerd op basis van gestolen OIDC-tokens passeren geautomatiseerde verificatie |
EDR en SAST valideren niet of de CI-identiteit die een pakket heeft ondertekend de publicatie heeft geautoriseerd |
Vereist tijdens publicatie goedkeuring door twee partijen voor pakketten met meer dan 10.000 wekelijkse downloads. Beschouw een groene Sigstore-badge niet als bewijs van legitimiteit |
|
2. Diefstal van inloggegevens voor VS Code-extensies |
StepSecurity (18 mei) |
VS Code Marketplace accepteerde een kwaadaardige extensieversie die werd gepubliceerd met een gestolen bijdragertoken |
Automatische updates van extensies omzeilen eindpuntdetectie. Marktplaatsvenster 12:30 tot 12:48 UTC; totale blootstelling (inclusief Open VSX) 12:30 tot 13:09 UTC |
Dwing een minimumleeftijdsbeleid af voor extensie-updates. Kritieke extensieversies vastzetten. Controleer alle extensies met toegang tot terminal- of bestandssysteem-API’s |
|
3. Automatische uitvoering van MCP-server |
Negatieve AI, TrustFall (7 mei) |
Alle vier de CLI-vertrouwensdialogen zijn standaard ingesteld op “Ja/Vertrouwen” zonder op te sommen welke uitvoerbare bestanden zullen verschijnen |
EDR bewaakt het procesgedrag, niet wat een LLM een MCP-server opdraagt te doen. WAF inspecteert HTTP-payloads, niet de intentie van tool-calls |
Schakel de automatische goedkeuring van de MCP-server op projectbasis uit in Claude Code, Gemini CLI, Cursor CLI en Copilot CLI. Blokkeer .mcp.json in CI-pijplijnen, tenzij deze expliciet op de toelatingslijst staat |
|
4. Snelle injectie van CI/CD-middel |
Johns Hopkins, Commentaar en controle (april 2026) |
GitHub Actions-workflows die pull_request_target gebruiken, injecteren geheimen in runner-omgevingen die AI-agenten als instructies verwerken |
SIEM-logboeken tonen een API-aanroep van een legitieme GitHub-actie. De oproep zelf is de aanval. Er bestaat geen afwijkende netwerkhandtekening |
Migreer workflows voor AI-codebeoordeling naar pull_request-trigger. Controleer alle workflows met behulp van pull_request_target met geheime toegang voor AI-agentintegraties |
|
5. Uitvoering van agentframeworkcode |
Microsoft MSRC (7 mei) |
Semantische kernel Python SDK heeft vectoropslagfiltervelden naar eval() gerouteerd. .NET SDK stelt het schrijven van hostbestanden beschikbaar als een aanroepbare kernelfunctie |
Applicatiefirewalls inspecteren invoerpayloads. Ze inspecteren niet hoe een orkestratieframework deze payloads intern parseert |
Update Semantic Kernel Python SDK naar 1.39.4 en .NET SDK naar 1.71.0. Controleer alle agentframeworks op functies die zijn getagd als model-callable en die toegang hebben tot het hostbestandssysteem of de shell |
|
6. Blootstelling aan opslag van IDE-referenties |
LaagX (april 2026) |
Cursor slaat API-sleutels en sessietokens op in onbeschermde opslag die toegankelijk is voor elke geïnstalleerde browserextensie |
DLP bewaakt gegevens die onderweg zijn. Cursorreferenties in rust zijn onzichtbaar voor DLP omdat er geen uitgaande gebeurtenis plaatsvindt totdat de extensie exfiltreert |
Audit-ontwikkelaarstools voor de opslag van inloggegevens. Vereist beveiligde opslag (OS-sleutelhanger, gecodeerde referentieopslag) voor alle configuraties van AI-coderingstools |
|
7. Blootstelling aan schaduw-AI-gegevens |
Verizon 2026 DBIR (19 mei) |
67% van de werknemers heeft toegang tot AI-diensten vanaf niet-zakelijke accounts op zakelijke apparaten. Broncode is het belangrijkste gegevenstype dat wordt ingediend |
CASB-beleid heeft betrekking op gesanctioneerde SaaS. Niet-zakelijke AI-accounts op bedrijfsapparaten vallen volledig buiten het CASB-bereik |
Implementeer AI-beheer op browserniveau dat AI-gebruik buiten het bedrijf op zakelijke apparaten bewaakt. Inventariseer AI-browserextensies voor de hele organisatie |
Actieplan beveiligingsdirecteur
Beveiligingsdirecteuren willen dit raster wellicht gebruiken voor de huidige leverancierscontracten voordat de verlengingen in het tweede kwartaal sluiten – elke leverancier vragen welke van de zeven hun product bestrijkt, en de niet-antwoorden behandelen als de kloofkaart.
Elke inloggegevens die toegankelijk zijn vanaf een ontwikkelaarsmachine of CI-runner die de getroffen npm-pakketten op 19 mei tussen 01:39 en 02:18 UTC heeft geïnstalleerd, moeten als gecompromitteerd worden beschouwd. Dat omvat GitHub PAT’s, npm-tokens, AWS-toegangssleutels, Kubernetes-serviceaccounttokens, HashiCorp Vault-tokens, SSH-sleutels en 1Password-kluisinhoud.
Integraties van AI-codeeragenten die draaien in CI/CD-pijplijnen met pull_request_target-workflows verdienen een nadere beschouwing. Elk daarvan is een snel injectieoppervlak dat PR-opmerkingen verwerkt als instructies voor agenten.
Inkoopteams die AI-coderingstools evalueren, zouden moeten overwegen om een dimensie van weerstand tegen gestolen identiteiten toe te voegen aan de beoordelingen van leveranciers. De vraag die de moeite waard is om te stellen: kan de leverancier aantonen hoe zijn tool een legitieme onderhouder van een publicatie onderscheidt van een aanvaller die gecompromitteerde inloggegevens gebruikt? Als ze dat niet kunnen, is de tool geen verificatielaag.
De toeleveringsketen van ontwikkelaarstools heeft hetzelfde probleem dat IAM tien jaar geleden had: inloggegevens bewijzen wie je beweert te zijn, niet wie je bent. IAM kreeg een voorsprong van tien jaar bij het compenseren van controles voordat nationale groepen de diefstal van legitimatiebewijzen tot een industriële operatie maakten. Het ecosysteem van AI-coderingstools begint die klok nu.


