ב-18 ביולי 2025, ספריית JavaScript מהימנה עם למעלה מ-31 מיליון הורדות שבועיות, eslint-config-יפה יותר, נוצל כנשק במתקפת שרשרת אספקה ממוקדת המדגישה עד כמה פגיעות יכולות להיות מערכות אקולוגיות של קוד פתוח. הפריצה החלה בדוא"ל פישינג שגרם למנהל התוכנית לדלוף את האסימון שלו. באמצעות האישורים שנחשפו, התוקף פרסם גרסאות לא מורשות של החבילה, שהכילו סקריפט לאחר ההתקנה שהפעיל קובץ DLL של טרויאן על מכונות Windows במהלך ההתקנה.
הנה מה שקרה, איך ההתקפה עבדה, ואיך... OPSWAT טכנולוגיות יכולות לסייע בהגנה מפני איומים דומים בעתיד.
סיכום התקפה
חבילת ה-npm linter הפופולרית, eslint-config-יפה יותר, משמש להשבית כללי ESLint מיותרים או סותרים בעת שימוש ב- Prettier. הוא כלול בדרך כלל כתלות פיתוח ב- IDEs מקומיים וב- CI pipelines (לא כלול בקוד הייצור), אך זה לא מנע ממנו להפוך לכלי לתוכנות זדוניות.
ההתקפה התפתחה כך:
1. דוא"ל פישינג שהתחזה להופיע מ- support@npmjs.org רימה את מנהל החבילה וגרם לו ללחוץ על קישור זדוני (שנכתב כ- npnjs.com ). לאחר שעקב אחר הקישור, מנהל החבילה חשף, מבלי דעת, את אסימון הגישה שלו ל-npm, בו השתמש התוקף כדי לפרסם גרסאות זדוניות של החבילה.
2. לאחר מכן השתמש התוקף באסימון ה-npm הגנוב כדי לפרסם גרסאות זדוניות של ה- eslint-config-יפה יותר חבילה. ארבע גרסאות פגועות זוהו על סמך דיווחי מפתחים: 8.10.1, 9.1.1, 10.1.6, גרסאות 10.1.7
בנוסף, מכיוון שלתוקף הייתה גישה לטוקן שנפרץ, חבילות אחרות המתוחזקות על ידי אותו מחבר נפגעו גם הן, כולל: eslint-plugin-prettier, synckit, @pkgr/core, ו napi-postinstall

3. התוקף הוסיף שני קבצים חשודים לקוד המקור: install.js ו node-gyp.dll.
כאשר משתמש מוריד ומתקין אחת מגרסאות החבילה הלא לגיטימיות, ה... install.js הסקריפט מבוצע, ומפעיל קוד זדוני node-gyp.dll במערכות Windows דרך rundll32

טכניקות התקפה בשימוש
פישינג והנדסה חברתית
האימייל המזויף עקף בהצלחה הגנות בסיסיות על אימייל (SPF/DKIM/DMARC) והתחזה לתמיכה ב-npm.
טיפוסקווטינג
דומיין מטעה ( npnjs.com ), שנועד להידמות ל-npmjs.com , שימש לגניבת אישורים. זוהי טכניקת typosquatting קלאסית.
ערפול קוד באמצעות שרשור מחרוזות
גרסת החבילה הזדונית כללה סקריפט לאחר ההתקנה (install.js) שפעל באופן אוטומטי לאחר ההתקנה.
בפנים, פונקציה בשם שטחדיסק (logDiskSpace() נראה לא מזיק אבל לא בדק כלל את שטח הדיסק. במקום זאת, הוא השתמש בשרשור מחרוזות כדי לחבר פקודה שרצה rundll32.exe, וטעינת קובץ DLL (node-gyp.dll) כלול בחבילה.
באופן יזום Secure קוד מקור ומערכת הפעלה OSS עם OPSWAT
MetaDefender Software Supply Chain™ מסייע לארגונים לזהות ולחסום תלויות זדוניות בקוד פתוח לפני שהן נכנסות לצינור ה-CI/CD שלכם.
- ניתוח SBOM : סורק באופן אוטומטי תלויות ומסמן פגיעויות ידועות, כגון CVE-2025-54313 , המקושרות להתקפה זו.
- זיהוי תוכנות זדוניות מרובות : מזהה תוכנות זדוניות מעורפלות כמו node-gyp.dll באמצעות למעלה מ-30 מנועי אנטי-וירוס משולבים דרך Metascan™ Multiscanning .
- שילוב מאגר מקורות : משתלב עם GitHub, GitLab ו- JFrog Artifactory כדי לבדוק ולאמת באופן רציף את שלמות החבילה.


וקטור ההתקפה התחיל בדוא"ל, וכאן נכנסת לתמונה MetaDefender Email Security ™ .
- ניקוי קבצים: Deep CDR™ סורק ומנקה קבצים מצורפים בדוא"ל.
- חילוץ היפר-קישורים : כל הקישורים מוצגים בטקסט רגיל, וחושפים דומיינים דומים כמו npnjs.com לפני שמשתמש לוחץ.

נקודות מפתח
- אבטחת מתחזקים היא אבטחת שרשרת אספקה. אסימון פישינג יחיד איפשר לתוקפים לחטוף ספריות בשימוש נרחב.
- מערכות אקולוגיות בקוד פתוח מסתמכות על אמון, אך הצלחה אחת של הנדסה חברתית יכולה להשפיע על מיליוני פרויקטים במורד הזרם.
- אמצעי אבטחה פרואקטיביים, כמו סריקת תלויות וניקוי דוא"ל, אינם עוד אופציונליים; הם חיוניים.
מה לעשות עכשיו
-
הימנעו מהתקנת גרסאות מושפעות:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- סינכרון קיט: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- סיבוב סודות ששימשו בבניינים מושפעים
- הפעל 2FA עבור כל חשבונות ה-npm
- ערכו הדרכה בנושא מודעות לפישינג
מתקפות שרשרת האספקה הופכות חכמות ואישיות יותר. OPSWAT עם פתרונות אפס-אמון של עבור דוא"ל וצינורות פיתוח, תוכלו להישאר צעד אחד קדימה.
למידע נוסף על Supply Chain Software MetaDefender ואבטחת Email Security MetaDefender . צרו קשר עם אחד המומחים שלנו כדי למצוא פתרונות מותאמים אישית לארגון שלכם.
