Het product kan schoon zijn terwijl de bouwketen vergiftigd is.
Dat is de harde les van moderne incidenten in de softwaretoeleveringsketen. Een bedrijf kan zorgvuldige code schrijven, populaire pakketten gebruiken, vertrouwen op de ondertekende herkomst en toch kwaadaardige code ontvangen via een route die er voor normale tooling legitiem uitziet.
In mei 2026 meldde The Hacker News dat een TanStack supply chain-aanval die verband hield met de Mini Shai-Hulud-campagne twee OpenAI werknemersapparaten bereikte en macOS updates afdwong. Openbare rapporten van OpenAI, TanStack, StepSecurity, Snyk en anderen beschreven een op inloggegevens gerichte malwarecampagne die zich richtte op ontwikkelaarsmachines, CI/CD-workflows, npm-pakketten en downstream-consumenten.
In dit artikel wordt gebruik gemaakt van openbare rapportage en richtlijnen van leveranciers. Het bevat geen privékennis van een getroffen bedrijf.
De les voor elk productteam is direct. Het bouwsysteem maakt deel uit van de productie. Ontwikkelaarsapparaten maken deel uit van het aanvalsoppervlak. De herkomst van pakketten helpt, maar kan de beoordeling van runtimegedrag, geheime hygiëne en responsbewijs niet vervangen.
Wat de openbare berichtgeving zegt
Hacker News meldde op 15 mei 2026 dat OpenAI onthulde dat twee werknemersapparaten in zijn bedrijfsomgeving waren getroffen door de Mini Shai-Hulud supply chain-aanval op TanStack. OpenAI zei dat er geen gebruikersgegevens, productiesystemen of intellectueel eigendom op ongeoorloofde wijze zijn aangetast of gewijzigd. OpenAI heeft uit voorzorg ook code-signing-certificaten voor verschillende producten gerouleerd, waarbij macOS-gebruikers werd geadviseerd om vóór 12 juni 2026 te updaten.
TanStack publiceerde een vervolg waarin stond dat het incident gepaard ging met een gecompromitteerd publicatiepad en kwaadaardige pakketversies. StepSecurity meldde dat TeamPCP een nieuwe golf Mini Shai-Hulud heeft gelanceerd, waarbij legitieme npm-pakketten in gevaar worden gebracht en gekaapte CI/CD-paden worden gebruikt om kwaadaardige versies te publiceren. Snyk meldde dat op 11 mei 2026, tussen 19:20 en 19:26 UTC, 84 kwaadaardige npm-pakketartefacten werden gepubliceerd in 42 pakketten in de naamruimte CI.
StepSecurity zei dat de aanval kwaadaardige versies publiceerde via de eigen GitHub Actions-releasepijplijn van het project met behulp van gekaapte OIDC-tokens. Snyk benadrukte dat de kwaadaardige pakketten een geldige SLSA Build Level 3-herkomst hadden, omdat de build-pijplijn zelf was gekaapt. Dat punt is belangrijk. Herkomst liet correct zien dat het pakket via het verwachte buildsysteem kwam. Het verwachte bouwsysteem was het probleem.
In verschillende openbare artikelen werd diefstal van legitimatiebewijzen als het hoofddoel beschreven. Gerapporteerde doelen waren onder meer GitHub-tokens, cloudreferenties, SSH-sleutels, CI/CD-geheimen, ontwikkelaarstoolbestanden en configuratiepaden voor AI-coderingsassistenten.
Waarom deze zaak ertoe doet
Moderne ontwikkeling is afhankelijk van gedeelde pakketten. Eén enkele webapplicatie kan honderden of duizenden directe en transitieve afhankelijkheden genereren. Teams gebruiken GitHub Actions, npm, pakketherkomst, OIDC, ondertekening, containers, geheimenmanagers, AI-coderingstools, desktop-apps en ontwikkelaarslaptops. Elk stuk helpt snelheid. Elk stuk creëert een pad dat controle nodig heeft.
De TanStack-zaak is van belang omdat deze zich op de kruising van die paden bevindt.
De getroffen pakketten werden op grote schaal gebruikt. De kwaadaardige versies werden gepubliceerd via een legitiem ogende infrastructuur. Downstream-consumenten zouden ze kunnen installeren als onderdeel van de normale ontwikkeling of CI. Inloggegevens van ontwikkelaars en lokale geheimen werden waardevolle doelwitten. Het incident raakte een AI-bedrijf met serieuze beveiligingsmiddelen, wat bewijst dat het risico zelfs voor volwassen teams relevant is.
De zakelijke vertaling is eenvoudig. Als uw product afhankelijk is van open-sourcepakketten en geautomatiseerde builds, omvat uw beveiligingscontour onderhouders, CI runners, pakketregisters, tokens, lokale werkstations, ondertekeningsidentiteiten en ontwikkelaarstools.
Hoe het aanvalspad werkte
Openbaar onderzoek beschreef een campagne die misbruik maakte van de bouw- en publicatie-infrastructuur. De exacte keten varieert per rapport, maar het defensieve model is stabiel.
Een legitiem pakket-ecosysteem werd aangetast. Er zijn schadelijke pakketversies gepubliceerd. Ontwikkelaars of CI-systemen die deze versies installeerden, zouden inloggegevens kunnen stelen. De malware zocht naar geheimen en tokens. Sommige rapporten beschreven persistentie-hooks in ontwikkelaarstools en AI-coderingsassistent-configuraties. Gestolen inloggegevens kunnen ertoe bijdragen dat de campagne zich over meer pakketten verspreidt of interne opslagplaatsen en cloudaccounts bereikt.
Dat betekent dat de eerste geïnfecteerde machine mogelijk niet het uiteindelijke doelwit is. Het waardevolle doelwit kan het volgende token zijn, de volgende repository, het volgende onderhoudsaccount, het volgende pakket of de volgende CI-taak.
Dit is de reden waarom de respons in de toeleveringsketen uit moet gaan van beweging. Het verwijderen van het pakket is slechts één stap. Teams moeten ook machines inspecteren, geheimen roteren, CI-logboeken bekijken, pakketvergrendelingsbestanden controleren, repository-activiteit verifiëren en zoeken naar abnormale pakketpublicatie.
Hoe de schade eruit ziet
Openbare rapporten rond OpenAI zeggen dat er geen gebruikersgegevens, productiesystemen of kernintellectueel eigendom zijn aangetast of op ongeoorloofde wijze zijn gewijzigd. Dat is belangrijk en moet behouden blijven.
De bredere risicoklasse is nog steeds ernstig.
De eerste schadecategorie is de blootstelling aan legitimatiebewijzen. Ontwikkelaarsmachines bevatten vaak GitHub-tokens, pakkettokens, SSH-sleutels, cloudprofielen, API-sleutels, omgevingsvariabelen, sessies voor wachtwoordbeheer en tijdelijke inloggegevens. Eén enkele machine kan toegang bieden tot vele systemen.
De tweede categorie is de blootstelling aan repository's. Zelfs alleen-lezen toegang kan architectuur, interne services, geheimen die in het verleden per ongeluk zijn vastgelegd, implementatiepatronen, productplannen, beveiligingstools en klantspecifieke logica onthullen.
De derde categorie is het ondertekenings- en distributierisico. De certificaatrotatie van OpenAI laat zien waarom identiteiten die code ondertekenen belangrijk zijn. Als een aanvaller ondertekeningsmateriaal kan misbruiken of verwarring rond ondertekende artefacten kan creëren, hebben gebruikers en klanten snelle duidelijkheid nodig.
De vierde categorie is de stroomafwaartse explosieradius. Populaire pakketten zitten in veel bedrijven tegelijk. Een kwaadaardige release kan binnen enkele uren productteams, CI-medewerkers, testomgevingen, ontwikkelaarslaptops, testsystemen en build-caches beïnvloeden.
De vijfde categorie is auditdruk. Na een supply chain-incident vragen klanten welke pakketten zijn geïnstalleerd, wanneer, waar, wie toegang had, welke geheimen zijn gerouleerd, welke releases tijdens de periode zijn gebouwd en of het eindproduct hierdoor is beïnvloed.
De zesde categorie is blootstelling aan AI-workflows. Ontwikkelaarstools omvatten nu AI-assistenten, lokale agenten, editorintegraties, aanwijzingen, modelsleutels en automatiseringshooks. Een pakket voor het stelen van inloggegevens dat deze paden wijzigt, kan de normale opruiming overleven en tijdens routinewerkzaamheden opnieuw worden geactiveerd.
Waarom normale controles deze les missen
Veel teams vertrouwen op de reputatie van pakketten, lockfiles, ondertekende commits, CI-machtigingen, herkomst en geautomatiseerde afhankelijkheidsscans. Die controles helpen. Ze hebben ook blinde vlekken.
De reputatie faalt wanneer een legitiem pakket wordt aangetast.
Lockfiles mislukken wanneer de kwaadaardige versie binnenkomt tijdens een toegestane updateperiode of in een tijdelijke vertakking terechtkomt.
Herkomst mislukt wanneer de goedgekeurde build-pijplijn het slechte artefact creëert.
Afhankelijkheidsscans mislukken wanneer het kwaadaardige gedrag nieuw is, onduidelijk is of wordt geleverd tijdens installatiescripts.
Eindpuntdetectie mislukt wanneer ontwikkelaarsmachines losjes worden beheerd of het verdachte gedrag op normale pakkettools lijkt.
Geheime managers falen als tokens ook voorkomen in lokale bestanden, CI-logboeken, shell-geschiedenis, applicatiecaches of editorplug-ins.
Het antwoord is gelaagd bewijs. Pakketbeleid, gedragsanalyse, beperkte CI-machtigingen, geheime rotatie, beheer van ontwikkelaarseindpunten, registerbewaking en incidentrunbooks moeten samenwerken.
Wat teams nu moeten inspecteren
Begin met de afhankelijkheidsinventarisatie. Identificeer het directe en transitieve gebruik van getroffen pakketten tijdens de publieke incidentperiode. Controleer pakketvergrendelingsbestanden, npm-caches, CI-logboeken, containerbuild-logboeken, ontwikkelaarsmachines en artefactrepository's.
Controleer installatiescripts. Een pakket dat tijdens de installatie code uitvoert, verdient speciale aandacht. Schakel levenscyclusscripts waar mogelijk uit in CI. Gebruik toelatingslijsten voor pakketten waarvoor deze nodig zijn.
Beperk CI-tokens. OIDC-tokens en pakketpublicatietokens moeten van korte duur zijn, een beperkte reikwijdte hebben en aan specifieke taken zijn gekoppeld. Bouwsystemen mogen geen brede register- of cloudautoriteit aan elke workflow geven.
Aparte bouw- en release-autoriteit. Een pull-request-build mag niet dezelfde geheime toegang hebben als een ondertekende release-build. Een testworkflow mag geen productieartefacten publiceren.
Controleer de publicatie van pakketten. Waarschuwing voor nieuwe pakketversies, ongebruikelijke publicatietijden, wijzigingen in beheerders, onverwachte herkomst, wijzigingen in het installatiescript en plotselinge verschuivingen in de afhankelijkheidsgrafiek.
Versterk eindpunten voor ontwikkelaars. Ontwikkelaarslaptops hebben EDR, schijfversleuteling, apparaatbeheer, lokale geheime controles, browsersessiehygiëne en duidelijke regels voor AI-coderingsassistenten en plug-ins nodig.
Roteer met discipline. Als een ontwikkelaarsmachine of CI-runner mogelijk een kwaadaardig pakket heeft uitgevoerd, roteer dan alle geheimen die vanuit die omgeving bereikbaar zijn. Dat omvat GitHub-tokens, npm-tokens, cloudsleutels, SSH-sleutels, API-sleutels, pakketregistratiegegevens, CI-geheimen en ondertekeningsmateriaal als blootstelling plausibel is.
Bewijs bewaren. Houd een overzicht bij van getroffen pakketten, gecontroleerde machines, gecontroleerde logboeken, gerouleerd geheimen, gewijzigde workflows en geverifieerde release-artefacten.

Het besturingsmodel voor een veiligere bouwketen
Een veiligere bouwketen begint met autoriteitsgrenzen.
Ontwikkelingsbuilds moeten beperkte geheimen hebben. Releasebuilds moeten in gecontroleerde workflows worden uitgevoerd. Voor het publiceren van pakketten zijn smalle tokens, benoemde beheerders, beschermde branches en beoordeling vereist. Voor cloudimplementatie is een afzonderlijk toestemmingspad vereist. Ondertekening moet afzonderlijke bescherming en een sterke audit hebben.
Een nuttig controlemodel onderscheidt vijf soorten autoriteit:
- Codeautoriteit: wie kan de broncode wijzigen.
- Bouw autoriteit op: welke workflows kunnen artefacten creëren.
- Publicatieautoriteit: welke workflows pakketten of releases kunnen publiceren.
- Autoriteit inzetten: welke workflows de productie-infrastructuur kunnen bereiken.
- Ondertekeningsbevoegdheid: welke systemen kunnen artefacten creëren die gebruikers zullen accepteren.
Wanneer één token of één workflow verschillende soorten autoriteit met zich meebrengt, wordt een supply chain-incident groter. Een kwaadaardig pakket dat een breed token steelt, kan zich verplaatsen van het werkstation van de ontwikkelaar naar de opslagplaats, van de opslagplaats naar CI, van CI naar het pakketregister en van het pakketregister naar klanten.
Verminder die beweging. Houd de autoriteit beperkt. Houd banen van korte duur. Houd geheimen weg van routinematige testworkflows. Een strengere beoordeling vereisen voor vrijgavetaken.
AI-tools in de contour van de ontwikkelaar
AI-coderingstools veranderen het lokale werkstation. Ze voegen plug-ins, agenten, modelsleutels, contextvensters, lokale caches, editorhooks en soms achtergrondprocessen toe. In openbare berichtgeving over moderne malware in de toeleveringsketen is de belangstelling voor configuratiepaden voor AI-coderingsassistenten beschreven, omdat deze paden nuttige geheimen kunnen bevatten of persistentiemogelijkheden kunnen creëren.
Teams moeten AI-tools beschouwen als onderdeel van de beveiligingscontour van ontwikkelaars.
Dat betekent het inventariseren van goedgekeurde AI-tools, het controleren van extensies, het beoordelen van lokale opslag, het beschermen van API-sleutels, het beperken van de repositorycontext waar gevoelige gegevens bij betrokken zijn, en het letten op onverwachte configuratiewijzigingen. Het betekent ook dat u moet definiëren waartoe een AI-assistent toegang heeft tijdens de respons op incidenten. Een gecompromitteerde ontwikkelaarsmachine mag niet doorgaan met het verzenden van repositorycontext naar externe tools terwijl het team deze probeert te beheersen.
Dit is praktische discipline. Productteams kunnen AI-tools gebruiken en toch de controle behouden. Het bedrijf heeft regels, monitoring en bewijs nodig.
Wat kopers en investeerders vragen na een supply chain case
Serieuze kopers willen een directe lijn van de broncode naar het vrijgegeven product.
Ze vragen hoe afhankelijkheden worden goedgekeurd. Ze vragen of pakketjes vastgezet zijn. Ze vragen hoe kwaadaardige pakketten worden gedetecteerd. Ze vragen of installatiescripts zijn toegestaan. Ze vragen welke CI-workflows kunnen publiceren. Ze vragen hoe geheimen worden opgeslagen. Ze vragen of de eindpunten van ontwikkelaars worden beheerd. Ze vragen hoe codeondertekening wordt beschermd. Ze vragen zich af hoe snel het bedrijf weer kan herbouwen vanuit een schone staat.
Beleggers stellen een gerelateerde vraag. Als het product waardevol wordt, kan het bedrijf dan het vrijgavetraject op grote schaal beschermen?
Een vaag antwoord vertraagt het gesprek. Een duidelijk bewijspakket versnelt het proces. Het pakket moet het afhankelijkheidsbeleid, het CI-machtigingsmodel, het geheime rotatieproces, de status van eindpuntbeheer, controles voor het ondertekenen van releases, het incidentrunbook en recente beoordelingsresultaten bevatten.
Dat bewijs creëert commerciële kracht. De koper ziet een bedrijf dat snel kan verzenden zonder de controle te verliezen over het pad dat het product creëert.
Welke certificering moet betrekking hebben
Voor een software supply chain-contour kan StOFU Security Certification repository's, CI/CD-systemen, pakketbeheerders, artefactregisters, ondertekeningspaden, eindpuntcontroles voor ontwikkelaars, AI-coderingstools, geheime winkels en release-workflows een naam geven.
De beoordeling moet vragen over de exploitatie omvatten. Wat kan een kwaadaardige afhankelijkheid lezen? Welke taakgeheimen worden blootgesteld aan pull-aanvragen? Welke workflow kan publiceren? Welke tokens overleven na één taak? Welke machines bevatten signeermateriaal? Welke AI-tools kunnen privécode bereiken? Welke logbestanden bewijzen dat een gecompromitteerd pakket wel of niet is uitgevoerd?
Certificering moet ook triggers voor materiële veranderingen vermelden. Een nieuw register, een nieuw releasesysteem, een nieuwe AI-coderingsassistent, een nieuw ondertekeningsproces, een grote migratie naar de repository of een nieuw pad voor cloudimplementatie zouden de beoordeling opnieuw moeten openen.
Dat houdt het certificaat bruikbaar. Het wordt een levend bewijs van de bouwketen in plaats van een statisch marketingartefact.
Hoe SToFU deze risicoklasse bestrijdt
SToFU beoordeelt softwaretoeleveringsketens als onderdeel van de productbeveiligingscontour. We verbinden applicatiecode, afhankelijkheidsrisico, CI/CD, geheimen, release-autoriteit, ontwikkelaarsapparaten, cloudtoegang, AI-tooling en klantgerichte artefacten.
Voor supply chain-incidenten en gereedheidsbeoordelingen kunnen we helpen met:
- Afhankelijkheid en pakketinventarisatie tussen repository's en buildsystemen.
- CI/CD-toestemmingsbeoordeling voor GitHub-acties, OIDC, pakketpublicatie, cloudtoegang en ondertekening.
- Geheime blootstellingskartering op ontwikkelaarsmachines, CI-werknemers, opslagplaatsen, omgevingen, logboeken en artefactopslagplaatsen.
- Beoordeling van de impact van schadelijke pakketten op installatievensters, vergrendelingsbestanden, caches, containers en release-artefacten.
- Eindpuntbeoordeling door ontwikkelaars met de nadruk op inloggegevens, editorplug-ins, AI-tools, lokale agenten en persistentiepaden.
- Release-integriteitsbeoordeling voor ondertekende artefacten, herkomst van pakketten, certificaatrotatie en richtlijnen voor klantupdates.
- Saneringsplanning en hertest.
- Bewijsverpakking en veiligheidscertificering wanneer de beoordeelde contour gereed is.
Het certificaat is nuttig omdat vragen over de toeleveringsketen nu voorkomen in de verkoop van ondernemingen en in de diligence van investeerders. Kopers willen weten of een leverancier kan bewijzen hoe code van de ontwikkelaarsmachine naar het productieartefact gaat.
Een responsplan voor productteams
Als uw team erachter komt dat een pakket in uw grafiek is gecompromitteerd, handel dan snel en zorg ervoor dat het werk geordend blijft.
Bevries getroffen builds. Pauzeer releases die gebruik maakten van het getroffen afhankelijkheidsvenster totdat het team artefacten verifieert.
Identificeer de blootstelling. Zoek naar pakketvergrendelingsbestanden, pnpm-vergrendelingen, garenvergrendelingen, npm-caches, CI-logboeken, containerlagen, opslagplaatsen voor artefacten en de installatiegeschiedenis van ontwikkelaars.
Isoleer machines. Elke host die het kwaadaardige pakket tijdens deze periode heeft uitgevoerd, verdient een eindpuntbeoordeling. Ontwikkelaarslaptops en CI-hardlopers tellen beide.
Geheimen roteren. Roteer bereikbare inloggegevens, te beginnen met pakketregistertokens, GitHub-tokens, cloudsleutels, SSH-sleutels, CI-geheimen en ondertekeningsmateriaal wanneer de blootstelling geloofwaardig is.
Bekijk opslagplaatsen. Zoek naar ongebruikelijke toegang, nieuwe workflows, gewijzigde acties, gewijzigde releasescripts, nieuwe implementatiesleutels, nieuwe beheerders en onverwachte pakketpublicaties.
Herbouwen vanuit schone staat. Maak afhankelijkheden schoon, verwijder gecompromitteerde versies, bouw artefacten opnieuw op en vergelijk de resultaten waar dat praktisch mogelijk is.
Communiceer met bewijs. Klanten en partners hebben rustige feiten nodig: getroffen producten, getroffen versies, tijdvenster, herstel, rotatie van inloggegevens en eventuele vereiste gebruikersactie.
Het kopersignaal
De TanStack-zaak laat zien dat de beveiliging van de toeleveringsketen het middelpunt van de geloofwaardigheid van producten is geworden. Een bedrijf kan het vertrouwen van de koper verliezen zonder een productiebreuk als het niet kan uitleggen hoe afhankelijkheden, builds, geheimen en releases worden gecontroleerd.
De sterkste teams zullen antwoorden voordat hen gevraagd wordt. Ze weten welke pakketten ze gebruiken. Ze weten welke workflows kunnen worden gepubliceerd. Ze zullen weten waar geheimen leven. Ze zullen weten hoe AI-tools worden bestuurd. Ze zullen weten hoe ze moeten roteren, herbouwen en het resultaat moeten bewijzen.
SToFU helpt die toestand te creëren. Bekijk de bouwketen. Verminder autoriteit. Jaag op de blootstelling. Controleer het releasepad. Certificeer de contour.
Software beweegt snel. Bewijsmateriaal moet meebewegen.