Mastra; yapay zekâ uygulamaları ve ajanları geliştirmek için kullanılan, JavaScript ve TypeScript tabanlı popüler bir açık kaynak çerçevesi. Saldırının etkilediği paketlerin toplam haftalık indirme sayısı 1,1 milyonun üzerindeydi . Microsoft, 19 Haziran 2026’da operasyonun Sapphire Sleet tarafından gerçekleştirildiğini yüksek güven düzeyiyle değerlendirdi .
Saldırganlar önce meşru bir Mastra katkıcısını sosyal mühendislik yöntemleriyle hedef aldı ve bu kişinin npm hesap bilgilerini ele geçirdi . ehindero olarak tanımlanan hesabın, @mastra kapsamındaki tüm paketleri yayımlama yetkisi bulunuyordu .
Bu, saldırının kritik noktasıydı: Saldırganların her pakete ayrı ayrı erişmesi gerekmedi. Tek bir hesabın geniş yayımlama yetkisi, bütün paket kapsamına erişim sağladı.
Ele geçirilen hesap kullanılarak @mastra/* ad alanındaki paketler 88 dakikalık bir zaman aralığında yeniden yayımlandı. Bazı raporlar, toplu yayımlama işleminin en yoğun bölümünün yalnızca 19 dakika sürdüğünü belirtiyor .
Bu hız, işlemlerin tek tek elle yapılmadığını; otomatik bir yayımlama betiği kullanıldığını düşündürüyor.
Her ele geçirilmiş paket sürümüne easy-day-js adlı kötü amaçlı bir bağımlılık yerleştirildi. Bu isim, yaygın olarak kullanılan meşru dayjs tarih kütüphanesini taklit eden bir typosquat, yani yazım hatasına dayalı sahte paket örneğiydi . Güvenlik araştırmacıları kampanyayı da bu bağımlılığın adıyla, “easy-day-js”, olarak adlandırdı .
Kötü amaçlı kod, npm’in postinstall betiği üzerinden otomatik çalışacak şekilde tasarlanmıştı. Bu nedenle etkilenen bir paketi kuran geliştiricinin ayrıca uygulamayı çalıştırması gerekmiyordu; npm install komutu tek başına yükü tetikleyebiliyordu .
Yük, geliştiricilerin bilgisayarlarıyla derleme sistemlerinde kripto para cüzdan anahtarlarını, bulut kimlik bilgilerini ve CI/CD sırlarını aradı . Ayrıca TLS doğrulamasını devre dışı bıraktı ve saldırganların kontrolündeki altyapıdan ikinci aşama bir bilgi hırsızı indirdi .
Microsoft, 19 Haziran 2026’daki güncellemesinde saldırının arkasında Sapphire Sleet’in bulunduğunu yüksek güven düzeyiyle açıkladı. Şirket; kullanılan altyapının ve saldırı sonrası gözlemlenen taktik, teknik ve prosedürlerin (TTP’ler) grubun daha önce belgelenen operasyonlarıyla uyumlu olduğunu belirtti .
Sapphire Sleet, özellikle finans ve kripto para sektörlerini hedef alan Kuzey Kore bağlantılı bir devlet aktörü olarak izleniyor. Amazon Threat Intelligence da grubun daha önce axios, debug, chalk ve typo-crypto gibi npm paketlerine yönelik kampanyalarla bağlantılı olduğunu bildirdi .
Mastra saldırısı, yazılım paketlerini yayımlamak için uzun süre geçerli kimlik bilgilerinin kullanılmasının yarattığı riski yeniden gündeme getirdi. Microsoft’un yanıtı yalnızca npm’e yönelik değil; şirketin .NET ekosisteminin paket deposu NuGet.org için de yeni kurallar getiriyor.
17 Ağustos 2026’dan itibaren oluşturulacak yeni NuGet.org API anahtarlarının azami geçerlilik süresi 365 günden 30 güne düşürülecek . 17 Ağustos’tan önce oluşturulan tüm API anahtarları ise 1 Kasım 2026’da zorunlu olarak sona erecek .
Microsoft’un gerekçesi basit: Uzun süre geçerli API anahtarları kaybolması veya sızması kolay “başıboş dizeler” hâline gelebiliyor ve saldırganlara güvenilir bir paket adı altında kötü amaçlı sürüm yayımlamak için geniş bir zaman penceresi sunuyor .
Microsoft, paket bakımcılarına uzun ömürlü API anahtarları yerine Eylül 2025’te kullanıma sunulan OIDC tabanlı Trusted Publishing yöntemine geçmelerini öneriyor .
Bu yöntemde yayımlama yetkisi, depoda veya CI/CD sisteminde yıllarca saklanan bir sır olarak tutulmuyor. Bunun yerine, yayımlama işlemi sırasında CI/CD sağlayıcısı (örneğin GitHub Actions) kimliğini kriptografik olarak imzalanmış kısa ömürlü bir OIDC belirteciyle kanıtlıyor. NuGet.org bu belirteci kayıtlı yayımlayıcı politikasıyla doğruluyor ve yalnızca o oturum için geçerli, geçici bir API anahtarı veriyor .
Trusted Publishing’in başlıca avantajları şunlar :
Microsoft’un adımları, npm ve diğer paket yöneticilerindeki daha geniş güvenlik değişiklikleriyle aynı yöne işaret ediyor:
npm login artık iki saat geçerli oturum belirteçleri veriyor .Bu önlemlerin ortak hedefi, Mastra saldırısında kullanılan modele set çekmek: geniş yayımlama yetkisine sahip, tek bir bakımcı hesabına bağlı ve uzun süre geçerli bir kimlik bilgisinin ele geçirilmesi.
npm install --ignore-scripts komutu veya genel ignore-scripts = true ayarı, kötü amaçlı postinstall betiklerinin otomatik çalışmasını engelleyebilir .Mastra olayı, güvenlik zincirinin en zayıf halkasının her zaman paketin kendisi olmadığını gösteriyor. Bazen saldırganın ihtiyacı olan tek şey, yayımlama yetkisi fazla geniş ve koruması yetersiz tek bir hesaba erişmek. Paket ekosistemleri bu nedenle uzun ömürlü sırları azaltıp, kimliği ve yayımlama bağlamını her işlemde yeniden doğrulayan sistemlere yöneliyor.