Pakej yang terjejas mempunyai jumlah muat turun melebihi 1.1 juta seminggu . Microsoft kemudian mengaitkan operasi itu dengan Sapphire Sleet dengan tahap keyakinan tinggi pada 19 Jun 2026 .
Serangan ini menunjukkan bagaimana satu akaun penerbit yang dipercayai boleh menjadi pintu masuk kepada keseluruhan ruang nama pakej.
Penyerang terlebih dahulu menyasarkan seorang penyelenggara Mastra melalui kejuruteraan sosial dan berjaya mendapatkan kelayakan akaun npmnya . Akaun yang dikenal pasti sebagai ehindero mempunyai kebenaran untuk menerbitkan pakej di seluruh ruang nama @mastra .
Dengan menggunakan akaun tersebut, penyerang menerbitkan semula pakej-pakej di bawah ruang nama @mastra/* dalam tempoh 88 minit. Sesetengah laporan menyatakan penerbitan terbesar berlaku dalam tempoh sependek 19 minit . Kelajuan ini menunjukkan bahawa proses berkenaan kemungkinan besar dijalankan oleh skrip automatik, bukannya dimuat naik satu demi satu secara manual.
Setiap versi pakej yang terjejas disertakan dependensi berniat jahat bernama easy-day-js. Nama itu menyerupai pustaka tarikh yang sah dan digunakan secara meluas, dayjs — teknik yang dikenali sebagai typosquatting . Penyelidik keselamatan menamakan kempen ini sebagai “easy-day-js” .
Kod berniat jahat itu direka untuk berjalan secara automatik melalui skrip npm postinstall. Ini bermakna pembangun yang menjalankan npm install terhadap pakej terjejas boleh mencetuskan muatan tersebut serta-merta, tanpa perlu menjalankan kod aplikasi mereka sendiri .
Selepas aktif, muatan itu mencari kunci dompet kripto, kelayakan perkhidmatan awan dan rahsia CI/CD pada komputer pembangun serta sistem binaan yang terjejas . Ia juga mematikan pengesahan TLS sebelum memuat turun pencuri data peringkat kedua daripada infrastruktur yang dikawal penyerang .
Pada 19 Jun 2026, Microsoft menilai dengan tahap keyakinan tinggi bahawa operasi berkenaan dilakukan oleh Sapphire Sleet, aktor negara Korea Utara yang lazimnya menyasarkan sektor kewangan dan mata wang kripto. Penilaian itu dibuat berdasarkan infrastruktur serta taktik, teknik dan prosedur (TTP) yang selari dengan operasi Sapphire Sleet yang pernah didokumentasikan .
Amazon Threat Intelligence turut mengaitkan kumpulan sama dengan kempen terdahulu terhadap pakej npm seperti axios, debug, chalk dan typo-crypto .
Insiden Mastra mempercepatkan beberapa perubahan keselamatan yang sudah dibangunkan Microsoft, khususnya usaha mengurangkan risiko daripada kelayakan penerbitan yang bertahan terlalu lama.
Mulai 17 Ogos 2026, tempoh maksimum API key NuGet.org yang baharu dibuat dikurangkan daripada 365 hari kepada 30 hari . Semua API key yang dibuat sebelum tarikh tersebut akan tamat secara paksa pada 1 November 2026 .
Microsoft menyifatkan API key jangka panjang sebagai rentetan rahsia yang mudah tercicir atau terdedah, sekali gus menjadikannya sasaran menarik dalam serangan rantaian bekalan . Jika dicuri, key yang masih sah memberi penyerang tempoh panjang untuk menerbitkan pakej yang telah disuntik kod berniat jahat — seperti yang berlaku dalam insiden Mastra dan kompromi NX Console baru-baru ini .
Microsoft sangat menggalakkan penyelenggara pakej beralih kepada Trusted Publishing, aliran kerja yang dilancarkan pada September 2025. Kaedah ini menggantikan API key jangka panjang dengan pengesahan OpenID Connect (OIDC) yang berjangka pendek .
Antara kelebihan utamanya ialah :
Dalam aliran kerja Trusted Publishing, sistem CI/CD seperti GitHub Actions meminta token OIDC yang ditandatangani secara kriptografi. NuGet.org menyemak token itu berdasarkan polisi penerbit yang didaftarkan, kemudian mengeluarkan API key sementara dan sekali guna yang hanya sah untuk sesi penerbitan tersebut .
Beberapa ciri baharu pada npm melengkapkan pendekatan Microsoft untuk mengurangkan pergantungan pada token penerbitan yang berumur panjang:
npm login kini mengeluarkan token sesi yang hanya sah selama dua jam .Kesemua langkah ini menyasarkan kelemahan yang sama: satu token penyelenggara npm yang berumur panjang, perlindungannya lemah dan mempunyai akses penerbitan kepada keseluruhan ruang nama pakej.
npm install --ignore-scripts, atau tetapan global ignore-scripts = true, boleh menghalang skrip postinstall berniat jahat daripada berjalan .Kes Mastra menjadi peringatan bahawa keselamatan rantaian bekalan bukan hanya bergantung pada kod sumber. Akaun penerbit, token akses dan proses CI/CD juga merupakan sebahagian daripada permukaan serangan — dan satu kelemahan pada mana-mana lapisan boleh memberi kesan kepada ramai pengguna dalam masa yang sangat singkat.