Deze commits waren onschuldig ogend maar uiterst schadelijk. In de RedHatInsights/javascript-clients-repository injecteerde de aanvaller een malafide GitHub Actions-workflow. Deze vroeg OIDC-identiteitstokens op en voerde een versluierde payload uit . Deze payload publiceerde vervolgens 32 getrojaniseerde pakketversies onder de officiële
@redhat-cloud-services npm-scope, elk met de campagnemarkering “Miasma: The Spreading Blight” . Omdat de pakketten via Red Hat's legitieme CI/CD-pijplijn stroomden en geldige OIDC-workflows gebruikten, hadden ze authentieke SLSA-herkomsthandtekeningen. Dit betekende dat standaard beveiligingscontroles ze als betrouwbaar zouden markeren
.
De kwaadaardige pakketten werden gemiddeld zo’n 80.000 keer per week gedownload . Zodra een ontwikkelaar
npm installpreinstall lifecycle hook . De payload verzamelde inloggegevens van AWS, Azure, GCP, GitHub, HashiCorp Vault, Kubernetes-configuraties, SSH-sleutels en lokale ontwikkelomgevingen
. Vervolgens gebruikte hij deze gestolen geheimen om kwaadaardige code te injecteren in andere projecten waartoe het slachtoffer toegang had. Zo veranderde elke besmette ontwikkelwerkplek en CI/CD-pijplijn in een nieuw distributieknooppunt
.
Het meest verraderlijke gedrag van de worm was niet alleen het stelen van inloggegevens, maar ook de exploitatie van AI-coderingstools. Varianten van Miasma plaatsten schadelijke 'rule'-bestanden gericht op Claude Code, Cursor, Gemini CLI en GitHub Copilot. Deze bestanden worden automatisch uitgevoerd wanneer een ontwikkelaar de gecompromitteerde repository simpelweg kloont en opent in de IDE . Het lezen van de code—zonder ooit een pakket te installeren—kon dus al de payload activeren.
Op 5 juni 2026 bereikte de worm Microsoft. Een kwaadaardige commit met de titel "Switched DataConverter to OrchestrationContext [skip ci]" belandde in de Azure/durabletask-repository. De metadata ervan was gemanipuleerd om de commitdatum weer te geven als 9 maart 2020, waarschijnlijk in een poging argwaan te voorkomen . Die commit was het bruggenhoofd. Van daaruit verspreidde de worm zich naar 73 repositories in vier Microsoft GitHub-organisaties: Azure, Azure-Samples, Microsoft en MicrosoftDocs
. Getroffen projecten omvatten kerninfrastructuur zoals
azure-functions-host en de volledige Durable Task-familie voor .NET, Go, Java, JavaScript, MSSQL en Python .
Om Miasma te begrijpen, moet je de beslissing van TeamPCP begrijpen om hun wapen openbaar te maken.
TeamPCP (ook wel Replicating Marauder, TGR-CRI-1135 en UNC6780 genoemd) is een hackgroep die in 2025 en begin 2026 een familie van zelfpropagerende supply chain-wormen perfectioneerde. Hun activiteiten piekten op 11 mei 2026, toen ze 373 kwaadaardige pakketversies publiceerden in 172 npm- en PyPI-pakketten, met een gecombineerd aantal downloads van meer dan 518 miljoen . Die campagne toonde al het vermogen van de worm om OIDC-tokens uit het geheugen van GitHub Actions-runners te halen, geldige ondertekeningscertificaten te verkrijgen en malafide pakketten met geldige herkomstattesten te produceren
.
Op 12 mei 2026 publiceerde TeamPCP vervolgens de volledige Mini Shai-Hulud-broncode op GitHub onder een MIT-licentie . Daarnaast kondigde de groep een wedstrijd aan op het forum BreachForums, waarbij $1.000 in Monero werd uitgeloofd voor de grootste supply chain-aanval uitgevoerd met hun framework
. De boodschap was duidelijk: de toolkit was nu publiek eigendom.
Binnen vijf dagen had een enkele npm-gebruiker vier kwaadaardige pakketten gepusht, waaronder een bijna letterlijke kloon van de Shai-Hulud-worm. Beveiligingsbedrijf OX Security analyseerde de kloon en ontdekte dat deze "vrijwel zonder enige wijziging" was overgenomen, en alleen verschilde in de eigen command-and-control-server en privésleutel van de aanvaller . De industrialisatie van supply chain-aanvallen was begonnen, en verdedigers waren zich daar nog niet van bewust.
Zeventien dagen na het openbaar maken van de code, trof Miasma Red Hat. De code van de malware is een structurele variant van Mini Shai-Hulud, waarbij de oorspronkelijke thema's uit het sciencefictionboek Dune zijn vervangen door verwijzingen naar de Griekse mythologie . Maar de werkwijze—uitvoering via
preinstall-scripts, versluierde JavaScript-payloads, het stelen van inloggegevens en zelfverspreiding via CI/CD—is nagenoeg identiek .
Een cruciaal punt is dat onderzoekers Miasma niet met zekerheid aan TeamPCP zelf kunnen toeschrijven. De Cloud Security Alliance merkt expliciet op dat "copycat-actoren die dezelfde openbaar gemaakte codebasis gebruiken niet kunnen worden uitgesloten" . Unit 42 van Palo Alto Networks bevestigt dit door te stellen dat "de attributie onzeker blijft" omdat de openbare release van de broncode betekent dat elke competente actor dezelfde aanval kan repliceren
. Deze onduidelijkheid is geen voetnoot; het is een bewust kenmerk van de open-sourcingstrategie, bedoeld om het ecosysteem met ruis te overspoelen en toeschrijvingspogingen te overweldigen
.
Het open-source framework leidde niet alleen tot Miasma, maar zorgde ook voor een golf van onmiddellijke copycat-activiteit.
Op 3 juni 2026 dook een nieuwe variant op, Phantom Gyp genaamd, die 57 extra npm-pakketten bereikte, waaronder @vapi-ai/server-sdk en ai-sdk-ollama . Deze variant misbruikte een
binding.gyp-bestand om kwaadaardige code uit te voeren tijdens de installatie van het pakket, waarmee het de inmiddels streng gecontroleerde postinstall-uitvoeringsmethode omzeilde . Onderzoekers van OpenSourceMalware bevestigden dat deze campagne het eerste vastgestelde gebruik in de praktijk was van TeamPCP's framework, hoewel TeamPCP nooit de verantwoordelijkheid opeiste
.
Op 8 juni rapporteerde het SANS Internet Storm Center dat een bredere groep aanvallers nu actief het open-source Mini Shai-Hulud-framework gebruikte, waarbij meerdere onafhankelijke actoren hun eigen campagnes lanceerden . De malware had zich bovendien buiten npm verspreid: onderzoekers identificeerden een Ruby-variant die leek te zijn vertaald door een Large Language Model (LLM)—een primitieve maar functionele versie die geen deel uitmaakte van de oorspronkelijk vrijgegeven code
. De snelheid van aanpassing, van npm naar meerdere ecosystemen, onderstreepte hoe grondig het aanvalsoppervlak was veranderd.
De respons op Miasma was ongekend snel en openbaar, een weerspiegeling van zowel de omvang van de inbreuk als de betrokkenheid van grote platformeigenaren.
GitHub's reactie was onmiddellijk. Het platform schakelde meer dan 70 repositories van Microsoft uit binnen ongeveer 105 minuten na detectie op 5 juni 2026 . De uitgeschakelde repositories omvatten de organisaties Azure, Azure-Samples, Microsoft en MicrosoftDocs
. Binnen enkele dagen waren alle repositories hersteld en schoon verklaard, hoewel sommige getroffen Microsoft CI/CD-pijplijnen tijdens de actie waren verstoord
.
Microsoft publiceerde op 2 juni 2026 een gedetailleerde technische analyse via zijn Threat Intelligence-team, die de volledige aanvalsketen beschreef, van de initiële Red Hat-compromis tot de CI/CD-exploitatie . Microsoft nam ook de hoogst ongebruikelijke stap om 73 van zijn eigen repositories te verwijderen. Het bedrijf vertelde aan BleepingComputer dat dit gebeurde uit bezorgdheid dat de repo's "mogelijk schadelijke inhoud" verspreidden
. De verstoring van Microsofts interne CI/CD-workflows toonde aan dat zelfs de platformeigenaar niet immuun was voor de gevolgen van een supply chain-worm.
Red Hat publiceerde op 1 juni 2026 beveiligingsadvies RHSB-2026-006, waarin de inbreuk werd bevestigd en gesteld dat deze beperkt was tot interne ontwikkeltools zonder impact op Red Hat Enterprise Linux of OpenShift-producten . Het bedrijf trok alle getroffen npm-pakketversies in en waarschuwde afnemers.
Het Britse National Cyber Security Centre (NCSC) tilde het incident naar een bredere beleidsmatige aanpak. Op 4 juni 2026 publiceerde het NCSC een blogpost waarin organisaties expliciet werden opgeroepen hun open-source afhankelijkheden te herzien en hun blootstelling aan supply chain-aanvallen te verminderen . De timing was geen toeval—de post verwees direct naar de Miasma-campagne als katalysator
. Op 9 juni 2026 bracht het NCSC een bijgewerkt 'Cyber Essentials Supply Chain Playbook' uit, waarin Britse bedrijven werden opgeroepen om Cyber Essentials-certificering tot een standaardvereiste voor leveranciers te maken
.
De richtlijnen van het NCSC focusten op drie categorieën: zichtbaarheid (controleer pakketupdates, identificeer onverwachte afhankelijkheden en houd een Software Bill of Materials bij), beoordeling (evalueer de beveiligingspraktijken van leveranciers) en actie (beveilig de supply chain als een prioriteit op bestuursniveau) . De Britse overheid nam formeel stelling tegen de TeamPCP-campagne, wat een verschuiving weerspiegelt waarbij de beveiliging van open-source afhankelijkheden nu wordt behandeld als een kwestie van nationale cyberveiligheidspolitiek in plaats van individuele ontwikkelaarsdiscipline.
De Miasma-aanval is niet de grootste supply chain-inbreuk in de geschiedenis, noch de meest geavanceerde. Maar het is misschien wel de meest leerzame voor wat ons te wachten staat.
Ten eerste: open-source aanvalsframeworks hebben het ecosysteem gemilitariseerd. De beslissing van TeamPCP om Mini Shai-Hulud onder een MIT-licentie te publiceren is een bewuste strategie: bewapen een leger van copycats, creëer toeschrijvingschaos en dwing verdedigers om zich te weren tegen een onbekend aantal onafhankelijke actoren die hetzelfde draaiboek gebruiken . Dit is niet theoretisch—binnen vijf dagen na de release was er al copycat-activiteit gedocumenteerd, en de attributie van Miasma zelf blijft weken later onzeker
.
Ten tweede: de npm preinstall-hook is een systemische kwetsbaarheid. De aanval maakt herhaaldelijk misbruik van een functie die bedoeld is voor legitieme build-scripts, maar onvoldoende controles kent op de uitvoering van lifecycle-scripts . De opkomst van
binding.gyp als een extra uitvoeringsvector in de Phantom Gyp-variant toont aan dat aanvallers actief zoeken naar nieuwe levenscycli om te kapen . Beperkingen op registry-niveau voor preinstall- en andere lifecycle-scripts zijn nu een dringende prioriteit.
Ten derde: AI-coderingsassistenten zijn een uitvoeringsoppervlak geworden. Miasma is een van de eerste gedocumenteerde supply chain-aanvallen die zich specifiek richt op Claude Code, Cursor, Copilot en Gemini CLI als mechanisme voor het afleveren van payloads via kwaadaardige 'rule'-bestanden . Wanneer een ontwikkelaar een repo kloont en opent, kunnen de AI-tools die bedoeld zijn om betere code te schrijven, in plaats daarvan schadelijke code uitvoeren. Deze vector zal zich waarschijnlijk uitbreiden naarmate AI-ondersteunde ontwikkeling de norm wordt.
Ten vierde: CI/CD-pijplijnen zijn nu de meest waardevolle doelwitten. Het vermogen van de worm om OIDC-tokens uit het runner-geheugen te extraheren en pakketten te produceren met geldige SLSA-herkomstattesten, betekent dat standaard cryptografische verificatie—de gouden standaard voor supply chain-integriteit—kan worden verslagen . Als herkomstcontroles slagen, hebben verdedigers geen signaal om de inbreuk te detecteren. Het beveiligen van CI/CD-pijplijnen tegen blootstelling van inloggegevens is niet langer optioneel.
Tot slot: overheidsingrijpen heeft het beheer van open-source afhankelijkheden bereikt. Het bijgewerkte playbook van het NCSC is niet vrijblijvend—het is een concreet verzoek aan Britse bedrijven om supply chain-beveiliging in hun inkoopprocessen te verankeren . Organisaties die afhankelijkheidscontroles als een eenmalige audit behandelen in plaats van als een continu proces, hanteren een beveiligingshouding van vóór het Miasma-tijdperk.
Comments
0 comments