Onderzoekers koppelen kapen van Rust-crate arrayref aan Noord-Koreaanse hackers
Belangrijkste punten
- •De oorspronkelijke code van de gecompromitteerde Rust-pakketten bleef ongewijzigd; de aanvallers voegden slechts één nieuwe afhankelijkheid toe, proc-macro1, een typosquat van het breed vertrouwde proc-macro2-crate met meer dan 154 miljoen downloads.
- •Omdat Cargo buildscripts automatisch uitvoert tijdens het compileren, activeerde het louter bouwen van een project dat de besmette versie binnenhaalde de malware; ontwikkelaars kunnen hun Cargo.lock-bestanden doorzoeken op proc-macro1 om blootstelling te controleren.
- •Onderzoekers van Wiz koppelden de aanval aan Noord-Koreaanse operaties via overeenkomende command-and-control-paden, gedeelde beveiligingscertificaten en dezelfde hostingprovider (Hostwinds) die ook in de Mastra-campagne en de axios npm-aanval werd gezien, al betekent dit geen formele overheidsattributie.
- •Aikido omschreef het incident als de grootste compromittering van een Rust-crate die het bedrijf op basis van het aantal downloads heeft gezien, met arrayref op ongeveer 244 miljoen downloads en de kwaadaardige versie circa 86 minuten blootgesteld.
- •Het Rust Security Response Team beoordeelde dat de computer of de inloggegevens van de maintainer gecompromitteerd waren in plaats van dat de auteur kwaadwillend handelde, wat een terugkerende zwakte van maintainer-accounts weerspiegelt, vergelijkbaar met de XZ Utils-backdoor van 2024.

Beveiligingsonderzoekers van Wiz zeggen dat de supply chain-aanval waarmee arrayref werd vergiftigd — een Rust-pakket dat in ongeveer drie kwart van de omgevingen met Rust aanwezig is — vergelijkingen heeft opgeroepen met recente Noord-Koreaanse operaties.
De schadelijke update verstopte een backdoor die inloggegevens steelt in code die automatisch wordt uitgevoerd wanneer gebruikers projecten compileren. Daardoor kan iedereen die donderdag een project compileerde zijn computer en de daarop aanwezige geheime informatie hebben blootgesteld.
Waarom Noord-Korea wordt beschuldigd
De Wiz-onderzoekers Rami McCarthy en Benjamin Read hebben een rapport gepubliceerd waarin zij melden dat de arrayref-payload een beacon stuurt naar een command-and-control-pad, /49890878, dat ook voorkomt in de Mastra-campagne. Microsoft koppelt de Mastra-campagne aan een Noord-Koreaanse hackersgroep die het Sapphire Sleet noemt en die Microsoft eerder omschreef als een financieel gedreven operatie die cryptocurrency steelt via valse wervingsaanbiedingen en andere social engineering.
Overlappende infrastructuur van deze soort — overeenkomende command-and-control-paden, gedeelde beveiligingscertificaten en gemeenschappelijke hostingproviders — is een standaardmanier waarop onderzoekers afzonderlijke campagnes aan dezelfde operatoren koppelen, al betekent dit geen formele overheidsattributie.
Het internetadres (IP) dat bij de arrayref-aanval werd gebruikt, heeft hetzelfde beveiligingscertificaat als een ander adres dat in Mastra werd gebruikt. Daarnaast markeerde een slachtoffer dat verdachte activiteit meldde een IP-adres dat Google Cloud ook bij de axios npm-aanval zag. Mandiant zegt dat die aanval werd uitgevoerd door een Noord-Koreaanse groep genaamd UNC1069. Beide aanvallen maakten gebruik van hetzelfde hostingbedrijf, Hostwinds.
Een minimale wijziging die moeilijk op te merken was
De aanval was moeilijk te detecteren omdat er maar heel weinig veranderde. Ilyas Makari, beveiligingsonderzoeker bij Aikido, constateerde dat de eigenlijke code binnen de drie Rust-pakketten — arrayref, internment en append-only-vec — niet was gewijzigd. De enige wijziging was één nieuwe afhankelijkheid, genaamd proc-macro1, die aan de lijst van elk pakket werd toegevoegd.
Die naam is een spelfout van het populaire proc-macro2-crate, dat meer dan 154 miljoen downloads heeft. Het imiteren van de naam van een breed vertrouwd pakket is een al lang bestaande tactiek in open-sourceregistries zoals npm en PyPI, waar updates zonder handmatige codebeoordeling worden gepubliceerd. Het valse crate bevat zelfs de echte proc-macro2-code, waardoor de software nog steeds bouwt en alle tests doorstaat.
Het schadelijke deel zat verborgen in het buildscript. Cargo voert buildscripts automatisch uit tijdens het compileren, dus zoals het Rust Security Response Team in zijn advies uiteenzette, was het slechts compileren van een project dat de slechte versie binnenhaalde al voldoende om de aanval te activeren. Omdat Cargo exacte versies van afhankelijkheden vastlegt in het Cargo.lock-bestand van elk project, kunnen ontwikkelaars dat bestand doorzoeken op proc-macro1 om te controleren of een build een besmette versie heeft binnengehaald.
Eenmaal actief stal de tweede fase van de aanval opgeslagen wachtwoorden uit de browsers Chrome, Brave en Edge en installeerde de aanval zichzelf zo dat hij herstarts op Windows, Mac en Linux zou overleven.
De grootste compromittering in Rust gemeten naar downloads
Aikido stelde dat deze aanval de grootste compromittering van een Rust-crate is die het bedrijf heeft gezien, gemeten naar downloads. arrayref, dat wordt gebruikt in tools voor Solana en Ethereum, staat op ongeveer 244 miljoen downloads in totaal. De blootstelling was volgens berichten 86 minuten actief voordat deze werd verwijderd.
Het team zei dat Nextron Systems het eerste rapport indiende. Zodra de aanval was ontdekt, maakte het team de schone versies weer beschikbaar (unyanked) en vergrendelde het de account van de maintainer. Het Rust-team zei niet te geloven dat de auteur kwaadwillend handelde en beoordeelde in plaats daarvan dat diens computer of inloggegevens gecompromitteerd waren. Gecompromitteerde maintainer-accounts zijn een terugkerende zwakte in de opensource-beveiliging: de XZ Utils-backdoor van 2024 kwam bijvoorbeeld eveneens voort uit een aanvaller die een vertrouwde maintainerrol verwierf.
Een breder patroon van DPRK-activiteit
Amazon maakte op 29 juli bekend dat het een reeks compromitteringen van npm-bibliotheken aan één met de DPRK verbonden actor had gekoppeld. TRM Labs rapporteerde eveneens dat Noord-Koreaanse groepen in 2026 tot en met april ongeveer 76% van de totale waarde van cryptohacks voor hun rekening namen — circa 577 miljoen dollar.
Black Hat-onderzoeker Vangelis Stykas heeft gezegd Noord-Koreaanse hackers te hebben gevolgd tot in 1.640 bedrijven in 57 landen. Hij constateerde dat zij ontwikkelaars vaak verleiden met nepbaanaanbiedingen die malware installeren, vergelijkbaar met de vergiftigde build-afhankelijkheid in dit geval.