המערכת האקולוגית של JavaScript/npm ניצבת בפני רף חדש באיומי שרשרת האספקה עם התחייה של שי-חולוד 2.0 ב-24 בנובמבר 2025. התולעת המתפשטת מעצמה מכוונת ספציפית לתחזוקת קוד פתוח ולחבילות שהם מפרסמים. גרסה חדשה זו מסמנת מעבר מחבילות זדוניות מבודדות למנגנון הדבקה מתואם ואוטומטי.
ההשפעה כבר חמורה. מאות חבילות npm ועשרות אלפי מאגרי GitHub נפגעו, מה שיצר "רדיוס פיצוץ" חסר תקדים להתקפת שרשרת אספקה של JavaScript. עבור קוראים המכירים את הניתוח של OPSWAT על Shai-Hulud 1.0 , גרסה 2.0 מרחיבה באופן דרמטי את יכולות התולעת ואת קנה המידה המבצעי שלה: ביצוע מוקדם יותר, הפצה רחבה יותר ועמידות רבה יותר בפני תיקון סטנדרטי, מה שהופך אותה מאיום מדאיג לאירוע ברמת המערכת האקולוגית המלאה.
עובדות מהירות על שי-חולוד 2.0
- תולעת מתפשטת עצמית: שי-חולוד 2.0 גונבת פרטי גישה ל-GitHub, אורזת את עצמה מחדש ומפרסמת מחדש על פני כל תיק ה-npm של מנהל המערכת.
- התפשטות עצומה: מעל 700 חבילות npm נגועות, מעל 25,000 מאגרי GitHub, מעל 500 מתחזקים מושפעים; מעל 1,000 מאגרי נתונים חדשים מתווספים כל 30 דקות ( Wiz ).
- השפעה חוצת-מערכות אקולוגיות: נצפתה גם ב-Maven/Java באמצעות שיקוף אוטומטי של npm ל-Maven.
- סיכונים עיקריים: חשיפה ל-CI/CD, סודות שנפגעו, ביצוע בזמן התקנה ורישומים מורעלים.
- הגנה: דיוק SBOM, אימות מקור, ניטור זמן ריצה והיגיינת אסימונים/סודות קפדנית.
היקף והסלמה: עד כמה נרחב הנזק?
היקף ומהירות התפשטות שי-חולוד 2.0 עלו על כל מה שנראה בתקריות שרשרת האספקה האחרונות. מה שהחל כפגיעה ממוקדת ב-npm הפך במהרה לזיהום מערכתי וחוצה פלטפורמות, שפגע באלפי פרויקטים ומאות מתחזקים.
בניגוד לתוכנה זדונית טיפוסית מסוג npm, שבדרך כלל כוללת חבילה טרויאנית אחת, Shai-Hulud 2.0 מתנהגת כמו תולעת. לאחר שהיא פוגעת במפתח, היא גונבת את פרטי הגישה של GitHub, אורזת את עצמה מחדש ומפרסמת מחדש את כל חבילות ה-GitHub של מנהל המערכת, מה שהופך כל קורבן לנקודת הפצה חדשה. התוצאה היא התפשטות מהירה ואקספוננציאלית ברחבי המערכת האקולוגית.
חבילות שנפגעו
מאות חבילות npm נפגעו. אלה כוללות פרויקטים בעלי נראות גבוהה המתוחזקים על ידי ארגונים מבוססים, מה שמגביר את החשיפה במורד הזרם.
התפשטות מהירה ואקספוננציאלית
התולעת נצפתה מייצרת יותר מ-1,000 מאגרי GitHub זדוניים חדשים כל 30 דקות ( Wiz ), המונעים על ידי פרסום אוטומטי מאישורים גנובים. כל קורבן חדש הופך לצומת התפשטות, מה שמכפיל את ההשפעה הכוללת בכל מחזור.
סודות נחשפים
רכיב גניבת האישורים בשי-חולוד 2.0 מוכיח את עצמו כמזיק במיוחד. סודות מאומתים שדלפו כוללים יותר מ-1,500 אישורי גישה וטוקנים הפרושים על פני פלטפורמות מרכזיות - GitHub, AWS, Google Cloud פלטפורמה, ו-Azure.
כמות זו של אסימונים רגישים מייצגת פשרה רחבה, מרובת עננים, עם פוטנציאל לניצול ארוך זנב.
מאמצי תיקון
למרבה המזל, מספר מתחזקים בכירים כמו Zapier, PostHog ו-Postman כבר השיבו לעצמם את השליטה על החבילות שלהם. הגרסאות הזדוניות הוסרו מ-npm, ומאגרים רבים שנפגעו נמצאים כעת תחת פיקוח או ניקוי.
עם זאת, התקרית עדיין מתפתחת. אפילו עם תיקון מהיר, ארגונים חייבים להמשיך ולנטר את בריאות התלויות, צינורות CI וחשבונות GitHub לאיתור סימנים של דליפת אישורים נוספת או פרסום מחדש אוטומטי.
השפעה חוצת-מערכת אקולוגית: npm → Maven/Java
ראוי לציין כי גל זה השפיע גם על מערכות אקולוגיות אחרות כמו Maven/Java באמצעות המרה אוטומטית של artifacts מ-npm ל-Maven ( JFrog ).
-
בעוד ש-npm נותר המטרה העיקרית של שי-חולוד 2.0, גל זה הדגים את הסיכון להתפשטות חוצת מערכות אקולוגיות, במיוחד לפרויקטים של ג'אווה/מאבן. חוקרי אבטחה זיהו את הארטיפקט הזדוני של מאבן:
org.mvnpm:posthog-node:4.18.1אשר מכיל את אותו מטען (setup_bun.jsוbun_environment.js) שנמצא בחבילות npm שנפרצו (חדשות ההאקר).
- מנגנון: כלי גישור אוטומטיים בונים מחדש חבילות npm כ-Maven artifacts עבור פרויקטים של Java. צוותים שאינם משתמשים ישירות ב-Node.js עלולים להיחשף אם הפרויקטים שלהם מסתמכים על artifacts שיקוף אלה.
זה מדגים את הסיכון האגנוסטי למערכת האקולוגית של מתקפות שרשרת אספקה. אפילו פרויקטים שאינם משתמשים ישירות ב-npm יכולים לרשת סיכונים באמצעות כלים אוטומטיים.
שי-חולוד 2.0 מדגים שתולעי שרשרת אספקה מודרניות הן איומים מודעים לסביבה, רב-שלביים: הן מסתגלות למכונות מפתחים ולצינורות CI/CD, אוספות אישורים הן כמטען והן כמנגנון התפשטות, וכוללות התנהגויות גיבוי כדי להבטיח התפשטות או השפעה הרסנית. זיהוי דורש ניטור התנהגות בזמן ריצה בכל השלבים, לא רק ניתוח קוד סטטי.
מכניקה טכנית: איך התולעת פועלת
| שָׁלָב | מה קורה |
|---|---|
| 1. גישה ראשונית ופריסה | תוקפים מנצלים חשבונות מנהלי npm שנפרצו כדי לספק חבילות המכילות setup_bun.js ו bun_environment.js, מבוצע באופן אוטומטי באמצעות התקנה מוקדמת חיבור בין מכונות מפתחים וצינורות CI/CD. |
| 2. אתחול זמן ריצה חשאי | הטוען מזהה את סביבת המארח, מאתחל את זמן הריצה של Bun, ומפעיל את המטען בשקט ברקע כדי לגרום להתקנות להיראות תקינות. |
| 3. טביעות אצבע סביבתיות והסלמת הרשאות | המטען מזהה פלטפורמות CI, מנסה רוט ללא סיסמה דרך Docker על שרתים רצים של לינוקס, ויכול לשנות כללי DNS או iptables כדי לשלוט בזרימת הרשת. |
| 4. קצירת אישורים וסוד | המטען אוסף משתני סביבה ומפתחות ענן, מפעיל את TruffleHog לגילוי סודות מקומיים, מחלץ אישורי AWS/Azure/GCP ומזריק זרימות עבודה זמניות כדי לגרד סודות GitHub. |
| 5. חילוץ והתמדה | נתונים גנובים מקודדים באמצעות triple-base64 ומועלים למאגר חדש בחשבון הקורבן, בעוד שההתמדה נוצרת באמצעות רץ וזרימת עבודה זדוניים המתארחים בעצמם. |
| 6. ריבוי תולעים (שכפול) | באמצעות אסימוני npm גנובים, התולעת משכפלת את החבילות של הקורבן, מזריקה קבצים זדוניים ומפעילה אותם כ-Hooks, משפרת גרסאות ומפרסמת אותן מחדש כדי להתפשט באופן אוטונומי. |
| 7. גיבוי הרסני | אם לא ניתן לאסוף אישורים, התולעת מפעילה שגרה הרסנית שמוחקת בצורה מאובטחת את ספריית הבית של המשתמש. |
סיכוני CI/CD שהודגשו על ידי תקרית PostHog
הפריצה של PostHog מדגימה את העדינות של חשיפה ל-CI/CD:
- בקשות משיכה זדוניות ניצלו את הפונקציה pull_request_target ב-GitHub Actions.
- PAT של בוט חולץ, מה שאפשר לאחר מכן פרסום של ערכות SDK של npm שעברו פגיעה טרויאנית.
זרימות עבודה של CI/CD, אפילו אוטומטיות, הן משטחי תקיפה בסיכון גבוה. יש להגביל סקריפטים, למזער את חשיפת האסימונים ולאכוף אישורים קצרי מועד.
מגבלות של הגנות מסורתיות
- הצמדת תלויות עלולה להיכשל עקב תלויות טרנזיטיביות.
- סורקי SCA סטטיים אינם יכולים לזהות קוד חדש שפורסם ונגוע בטרויאנים תחת שמות חבילה לגיטימיים.
- שימוש לרעה באסימונים דרך צינורות CI/CD פירושו שאפילו מאגרים פנימיים נמצאים בסיכון.
כיצד להשתמש ב-SBOM ו- Supply Chain ביטחון כהגנה
כלי SBOM ושרשרת אספקה יכולים לספק:
- שקיפות תלות : מעקב אחר תלויות ישירות וטרנזיטיביות עם מטא-נתונים של גרסה ומתחזק.
- אימות מקור : מזהה שינויים בלתי צפויים בחבילה או מתחזקים לא ידועים.
- ניטור אישורים וסודות : מזהה ניסיונות חילוץ או שימוש לרעה באסימונים.
- תובנות התנהגותיות : ניטור גישה למשאבים או דפוסי ביצוע חריגים במהלך התקנות.
אמנם אינו פתרון קסם, אך שילוב של SBOM עם ניטור רציף מחזק את ההגנות מפני התקפות דמויות תולעת.
OPSWAT SBOM ו- MetaDefender Software Supply Chain ™
טכנולוגיית SBOM OPSWAT סורקת את מאגר קוד המקור ומזהה את חבילת npm sha1-hulud הזדונית.

Supply Chain Software MetaDefender נותנת תמונה מלאה יותר ומזהה את חבילת sha1-hulud שנפרצה.


Multiscanning של Metascan מוסיפה שכבות הגנה לגילוי תוכנות זדוניות:

פעולות מיידיות מומלצות
- סובבו אישורים : PATs של GitHub, אסימוני npm, מפתחות SSH, אישורי ענן; הפעלת MFA.
- הסר חבילות שנפגעו : נקה את מטמון npm, node_modules וצור קשר עם גרסאות נקיות ידועות.
- ביקורת GitHub ו-CI/CD : חפש מאגרי מידע חדשים, זרימות עבודה ו-commits חשודים.
- הקשחת צינורות : הגבלת סקריפטים של מחזור חיים, הגבלת גישה יוצאת לרשת וצמצום היקף האסימון.
- ניטור רציף : התייחסו לתלות ובנו צינורות כחלק ממשטח ההתקפה הקריטי.
נקודות מפתח
איומי שרשרת האספקה הם אגנוסטיים למערכת האקולוגית
הגלישה של שי-חולוד 2.0 ל-Maven/Java דרך גישור npm-to-Maven מראה כי מתקפות שרשרת אספקה יכולות לחצות גבולות שפה ומערכת אקולוגית. אפילו פרויקטים שאינם משתמשים ישירות ב-npm עלולים להיחשף אם נעשה שימוש בכלי גישור אוטומטיים.
היגיינת תעודות היא יסודית
אסימונים גנובים (GitHub, npm, cloud) מאפשרים הפצה וגישה לסביבות רגישות. השתמשו באסימונים קצרי מועד ובעלי היקף מוגבל, אכיפת MFA וסובבו אישורים מיד לאחר כל חשד לפריצה. השתמשו בכלי סריקה סודיים אוטומטיים כדי להאיץ את התהליך.
הוליסטי Supply Chain אבטחה היא חובה
הסתמכות בלבד על סריקת SCA סטטית או גרסאות הצמדה אינה מספקת. שלב נראות SBOM, סריקת תוכנות זדוניות מרובות והגנה מפני אסימון/סוד כדי להפחית את החשיפה בכל המערכות האקולוגיות. חקור Supply Chain Software MetaDefender
מוכנים לאבטח את שרשרת האספקה של התוכנה שלכם ולמנוע מתקפות סייבר באמצעות פתרונות מותאמים אישית ומשולבים בצורה חלקה?
