ב-4 באוגוסט 2026 השתלטו תוקפים על חשבון מתחזק ברשם החבילות npm ופרסמו גרסאות זדוניות של הספריות הנפוצות keyv ו-cacheable, שמשמשות למטמון (caching) בפרויקטי Node.js רבים. הקוד הזדוני התפשט עצמאית לעשרות חבילות תלויות נוספות בתוך שעות — חלק ממשפחת קמפיינים חוזרת שכונתה בעבר "Shai-Hulud".
הפרטים
לפי חוקרי אבטחה, התוקפים השתלטו על חשבון המתחזק שמחזיק הרשאות לשני מרחבי השמות keyv ו-cacheable, והטמיעו ב-hook להתקנה (preinstall) קובץ שמוריד סביבת הרצה עצמאית ומריץ באמצעותה שלב תקיפה שני שסורק ומחלץ סודות: מפתחות גישה לענן (AWS, GCP, Azure), טוקני HashiCorp Vault, טוקני שירות של Kubernetes, טוקני GitHub Actions OIDC וטוקני npm עצמם.
הגל הראשוני חצה כ-440 חבילות תוך פחות מארבע שעות, ולפי דיווחים המספר הכולל טיפס מעבר ל-800 חבילות עם למעלה משני מיליארד הורדות חודשיות במצטבר. בין החבילות עם גרסאות זדוניות מאושרות: keyv, cache-manager, cacheable-request, @cacheable/utils ו-flat-cache. הרשם ומתחזקי הפרויקטים שיחזרו גרסאות "latest" נקיות (למשל [email protected] ו-[email protected]), אך פרויקטים שכבר משכו את הגרסה הנגועה בזמן ההתקפה עלולים עדיין להריץ אותה.
נקודות לשים לב
- זה נוגע לכל פרויקט Node.js/JavaScript שמושך את keyv, cacheable, cache-manager, flat-cache או cacheable-request — גם בעקיפין, כתלות טרנזיטיבית שאתם לא מתקינים ישירות.
- אל תסתמכו על תג "latest" בלבד — בדקו את הגרסה המדויקת המותקנת אצלכם מול קובץ ה-lockfile, ונעלו לגרסה נקייה ידועה.
- אם זיהיתם חשיפה: סבבו מיד כל סוד שהיה יכול להיות נגיש מתהליך ההתקנה — מפתחות ענן, טוקני GitHub Actions וטוקני npm.
- סימנים לחיפוש: הוספה או שינוי של script מסוג preinstall/postinstall/prepare בין גרסאות, תהליכי התקנה שפונים לכתובות מחוץ לרשם החבילות, וקבצים לא מוכרים בשם setup.mjs.
- מה לא נכון להסיק: אין עדות לכך שרשם ה-npm עצמו נפרץ — מקור האירוע הוא השתלטות על חשבון מתחזק בודד, לא כשל בפלטפורמה.
מקורות: SC Media · JFrog Security Research

₿ אהבת את הפוסט?
אפשר לשלוח לי ביטקוין ישירות לכתובת שלי. סרקו את הקוד, או העתיקו את הכתובת:
bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85
שימו לב: העברה on-chain כרוכה בעמלת רשת שאינה תלויה בסכום, ולכן סכומים קטנים מאוד אינם כדאיים.