Útočníci během zhruba 88 minut kompromitovali 145 balíčků v prostoru @mastra/*. Některé analýzy popisují samotnou vlnu hromadného publikování jako ještě rychlejší — v řádu 19 minut — což odpovídá automatizovanému skriptu, nikoli ručnímu nahrávání . Balíčky dohromady zaznamenávaly více než 1,1 milionu stažení týdně .
Útočníci nejprve pomocí sociálního inženýrství získali přístup k legitimnímu účtu správce Mastry na npm. Napadený účet s označením ehindero měl oprávnění publikovat balíčky v celém prostoru @mastra .
Jeden kompromitovaný účet tak útočníkům poskytl přístup k desítkám důvěryhodných balíčků najednou. Právě rozsah publikačních oprávnění je u podobných incidentů klíčový: nejde jen o napadení jednoho projektu, ale o možnost zasáhnout celou závislostní síť.
S převzatými přihlašovacími údaji útočníci znovu publikovali balíčky v prostoru @mastra/*. Rychlost operace naznačuje automatizaci, která umožnila upravit velké množství balíčků v krátkém časovém okně .
Do kompromitovaných verzí byla vložena škodlivá závislost nazvaná easy-day-js. Název měl napodobovat legitimní a široce používanou knihovnu dayjs — jde o takzvaný typosquatting, tedy zneužití názvu, který může na první pohled vypadat důvěryhodně .
Škodlivý kód nebylo nutné aktivovat spuštěním aplikace Mastra ani konkrétního AI agenta. Využíval skript npm postinstall, takže se mohl spustit automaticky už ve chvíli, kdy vývojář nebo sestavovací systém provedl npm install .
To je jeden z nejnebezpečnějších rysů útoku na dodavatelský řetězec: napadený software může působit jako běžná aktualizace, zatímco riziko se projeví ještě před spuštěním samotné aplikace.
Po spuštění payload vyhledával na pracovních stanicích vývojářů a v prostředích CI/CD klíče ke kryptoměnovým peněženkám, cloudové přihlašovací údaje a další tajné hodnoty . Podle dostupné analýzy také vypínal ověřování TLS a stahoval druhou fázi nástroje pro krádež dat z infrastruktury ovládané útočníky .
Microsoft 19. června 2026 uvedl, že s vysokou mírou jistoty připisuje operaci skupině Sapphire Sleet, severokorejskému státnímu aktérovi, který se zaměřuje především na finanční sektor a kryptoměny . Společnost poukázala na infrastrukturu a taktiky, techniky a postupy (TTP), které odpovídají dříve zdokumentované činnosti této skupiny.
Amazon Threat Intelligence zároveň spojil Sapphire Sleet s dřívějšími kampaněmi proti balíčkům npm, mimo jiné axios, debug, chalk a typo-crypto .
Incident s Mastrou urychlil změny, které Microsoft připravoval pro ekosystém NuGet — registr balíčků používaný vývojáři aplikací pro platformu .NET.
Od 17. srpna 2026 bude maximální platnost nově vytvořených klíčů NuGet.org API činit 30 dní namísto dosavadních 365 dní. Klíče vytvořené před tímto datem Microsoft hromadně zneplatní 1. listopadu 2026 .
Důvod je praktický: dlouhodobě platný API klíč může po odcizení útočníkovi poskytnout dlouhé období, během kterého může vydávat podvržené verze důvěryhodných balíčků. Microsoft dlouhodobé klíče popsal jako citlivé řetězce, které se snadno ztratí nebo uniknou .
Microsoft správcům balíčků doporučuje přejít na Trusted Publishing, tedy důvěryhodné publikování založené na standardu OpenID Connect (OIDC). Tento způsob byl pro NuGet spuštěn v září 2025 a nahrazuje dlouhodobě uložené API klíče krátkodobými přihlašovacími údaji .
Při použití Trusted Publishing workflow v CI/CD požádá například GitHub Actions o kryptograficky podepsaný token OIDC. NuGet.org ověří, zda token odpovídá registrovanému repozitáři, workflow a případně prostředí, a následně vydá dočasný klíč platný pouze pro danou publikační relaci .
Hlavní výhody:
Trusted Publishing přitom není omezené pouze na NuGet. Podporují je také npm a PyPI, takže se postupně stává důležitou součástí zabezpečení vydávání open-source softwaru .
Microsoftova reakce zapadá do širšího zpřísňování bezpečnosti v ekosystému balíčků:
npm login nyní vytváří pouze dvouhodinové relační tokeny ;Cíl je ve všech případech podobný: odstranit scénář, kdy jediný dlouhodobě platný token s rozsáhlými oprávněními umožní útočníkovi během několika minut otrávit celou sadu balíčků.
npm install --ignore-scripts nebo nastavení ignore-scripts = true může zabránit automatickému spuštění škodlivých preinstall a postinstall skriptů. Stejný princip lze nastavit také pro pnpm a Yarn .Případ Mastry ukazuje, že bezpečnost softwarového dodavatelského řetězce nestojí pouze na kontrole zdrojového kódu. Stejně důležitá je ochrana účtů, omezení publikačních oprávnění a odstranění dlouhodobých přihlašovacích údajů, které mohou útočníkům otevřít dveře k celému ekosystému.