החבילות שנפגעו נרשמו יחד ליותר מ-1.1 מיליון הורדות בשבוע. ב-19 ביוני ייחסה מיקרוסופט את הפעילות ל-Sapphire Sleet ב"רמת ביטחון גבוהה", בעקבות תשתיות ודפוסי פעולה שתאמו מבצעים קודמים של הקבוצה .
האירוע ממחיש כיצד פגיעה בחשבון אחד של מתחזק יכולה להפוך במהירות לאיום על מאות חבילות ועל אלפי פרויקטים שתלויים בהן.
התוקפים פנו למתחזק לגיטימי של Mastra באמצעות הנדסה חברתית והצליחו להשיג את פרטי הגישה שלו ל-npm . החשבון, המזוהה בשם ehindero, החזיק בהרשאות פרסום לכל מרחב השמות @mastra .
באמצעות החשבון שנחטף, התוקפים פרסמו מחדש את החבילות בתוך חלון זמן של כ-88 דקות. חלק מהדיווחים מציינים כי גל הפרסום העיקרי הושלם בתוך 19 דקות בלבד . קצב כזה מצביע על שימוש בסקריפט אוטומטי, ולא על העלאה ידנית של כל חבילה בנפרד.
לכל גרסה שנפגעה הוספה תלות זדונית בשם easy-day-js. מדובר בשם מתחזה — typosquat — שנועד להיראות דומה לספריית התאריכים הלגיטימית והנפוצה dayjs . חוקרי אבטחה העניקו לקמפיין את השם "easy-day-js" .
הקוד הזדוני הוגדר להפעלה אוטומטית דרך סקריפט postinstall של npm. לכן, מפתח שהריץ npm install עבור חבילה שנפגעה עלול היה להפעיל את המטען הזדוני מיד — גם בלי להריץ את האפליקציה או קוד המבוסס על Mastra .
לאחר ההפעלה, המטען חיפש מפתחות לארנקי מטבעות קריפטוגרפיים, פרטי גישה לשירותי ענן וסודות של מערכות CI/CD — הן בתחנות העבודה של המפתחים והן במערכות הבנייה . לפי הממצאים, הקוד גם השבית את אימות TLS והוריד גונב מידע בשלב שני מתשתית שבשליטת התוקפים .
ב-19 ביוני 2026 קבעה מיקרוסופט ברמת ביטחון גבוהה כי הפעילות מיוחסת ל-Sapphire Sleet, שחקן מדינתי מצפון קוריאה שממקד את פעילותו בעיקר במגזר הפיננסי ובתחום המטבעות הקריפטוגרפיים. החברה הסתמכה על תשתיות ועל טקטיקות, טכניקות ונהלים (TTPs) שתאמו פעילות קודמת של הקבוצה .
Amazon Threat Intelligence קישרה את אותה קבוצה גם למתקפות קודמות נגד חבילות npm, בהן axios, debug, chalk ו-typo-crypto .
המתקפה האיצה שינויים שמיקרוסופט כבר עבדה עליהם בתחום אבטחת שרשרת האספקה. במרכז התגובה נמצאים קיצור חיי מפתחות ה-API של NuGet ומעבר לפרסום מאומת באמצעות OIDC.
החל מ-17 באוגוסט 2026, תוקפם המרבי של מפתחות API חדשים ב-NuGet.org יתקצר מ-365 ימים ל-30 ימים . כל המפתחות שנוצרו לפני מועד זה יפקעו באופן כפוי ב-1 בנובמבר 2026 .
ההיגיון מאחורי המהלך פשוט: מפתח API שנשמר במשך חודשים עלול לדלוף, ומרגע שנגנב הוא מאפשר לתוקף חלון זמן ממושך לפרסום גרסאות נגועות בשם פרויקט אמין. מיקרוסופט תיארה מפתחות ארוכי־טווח כ"מחרוזות שקל לאבד", והצביעה עליהם כעל וקטור מרכזי למתקפות שרשרת אספקה .
מיקרוסופט ממליצה למתחזקי חבילות לעבור ל-Trusted Publishing — תהליך פרסום שהושק בספטמבר 2025 ומחליף מפתחות API ארוכי־טווח באימות קצר־מועד המבוסס על OpenID Connect, או OIDC .
היתרונות המרכזיים כוללים :
בתהליך כזה, תהליך העבודה ב-CI/CD מבקש מספק האימות — למשל GitHub Actions — אסימון OIDC חתום קריפטוגרפית. NuGet.org בודק שהאסימון תואם למדיניות המפרסם הרשומה, ומנפיק מפתח API זמני וחד־פעמי, שתקף רק לאותה פעולת פרסום .
השינויים ב-npm משלימים את הכיוון שמיקרוסופט מקדמת:
npm login מנפיקה כעת אסימון סשן שתוקפו שעתיים בלבד .יחד, הצעדים האלה נועדו לסגור את הפרצה שנוצלה במתקפה: אסימון npm יחיד, ארוך־טווח, עם הגנה חלשה והרשאות פרסום למרחב חבילות שלם.
npm install --ignore-scripts, או הגדרת ignore-scripts = true, יכולה למנוע הרצה של סקריפטים זדוניים מסוג postinstall .