נרשמה מתקפה על משתמשי ספריית NPM, וכתוצאה מכך ב-20 בפברואר פורסמו למאגר NPM יותר מ-15 אלף חבילות, שקובצי ה-README שלהן הכילו קישורים לאתרי פישינג או קישורי הפניה ללחיצות עליהן משולמים תמלוגים. במהלך הניתוח נמצאו 190 קישורי פישינג או פרסום ייחודיים בחבילות, המכסים 31 דומיינים.
שמות החבילות נבחרו כדי למשוך את תשומת ליבם של אנשים רגילים, לדוגמה, "עוקבים-חינם-לטיקטוק", "קודים-חינם-לאקסבוקס", "עוקבים-חינם-לאינסטגרם" וכו'. החישוב בוצע כדי למלא את רשימת העדכונים האחרונים בעמוד הראשי של NPM בחבילות ספאם. תיאורי החבילות סיפקו קישורים המבטיחים מתנות, טריקים, צ'יטים למשחקים בחינם, כמו גם שירותים חינמיים להגדלת מספר המנויים והלייקים ברשתות חברתיות כמו טיקטוק ואינסטגרם. זו לא המתקפה הראשונה מסוג זה; בדצמבר פורסמו 144 אלף חבילות ספאם בספריות NuGet, NPM ו-PyPi.

תוכן החבילות נוצר אוטומטית באמצעות סקריפט פייתון שככל הנראה הושאר בטעות בחבילות וכלל את פרטי הגישה ששימשו בתקיפה. החבילות פורסמו תחת חשבונות רבים ושונים תוך שימוש בטכניקות המקשות על פתרון המסלולים וזיהוי מהיר של חבילות בעייתיות.
בנוסף לפעילות הונאה, מספר ניסיונות לפרסם חבילות זדוניות התגלו גם במאגרי NPM ו-PyPi:
- 451 חבילות זדוניות נמצאו במאגר PyPI, אשר התחזו לספריות פופולריות באמצעות typosquatting (הקצאת שמות דומים הנבדלים בתווים בודדים, לדוגמה, vper במקום vyper, bitcoinnlib במקום bitcoinlib, ccryptofeed במקום cryptofeed, ccxtt במקום ccxt, cryptocommpare במקום cryptocompare, seleium במקום selenium, pinstaller במקום pyinstaller וכו'). החבילות כללו קוד ערום לגניבת מטבעות קריפטוגרפיים, אשר זיהה את נוכחותם של מזהי ארנקי קריפטו בלוח והחליף אותם בארנק של התוקף (ההנחה היא שבעת ביצוע תשלום, הקורבן לא ישים לב שמספר הארנק שהועבר דרך הלוח שונה). ההחלפה בוצעה על ידי תוסף דפדפן מוטמע שבוצע בהקשר של כל דף אינטרנט שנצפה.
- סדרה של ספריות HTTP זדוניות זוהו במאגר PyPI. פעילות זדונית נמצאה ב-41 חבילות, ששמותיהן נבחרו באמצעות שיטות typosquatting ודמו לספריות פופולריות (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 וכו'). המטען עוצב כספריות HTTP פעילות או העתיק את הקוד של ספריות קיימות, והתיאורים כללו טענות לגבי היתרונות והשוואות לספריות HTTP לגיטימיות. הפעילות הזדונית הוגבלה להורדת תוכנות זדוניות למערכת או לאיסוף ושליחת נתונים חסויים.
- NPM זיהתה 16 חבילות JavaScript (speedte*, trova*, lagra) אשר בנוסף לפונקציונליות המוצהרת שלהן (בדיקות רוחב פס), הכילו גם קוד לכריית מטבעות קריפטוגרפיים ללא ידיעת המשתמש.
- 691 חבילות זדוניות זוהו ב-NPM. רוב החבילות הבעייתיות התחזו לפרויקטים של Yandex (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms וכו') וכללו קוד לשליחת מידע סודי לשרתים חיצוניים. שרתים. Предполагается, разместившие пакеты пытались добиться подстановки собственной зависимости при сборке проектов в Yandex (метод подмены внутренних зависимостей). В репозитории PyPI теми же исследователями найдено 49 пакетов (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp и т.п.) с обфусцированным вредоносным кодом, загружающим и запускающим исполняемый файл с внешнего שרת.
מקור: OpenNet.ru
