פגיעות אחת, חבילה זדונית בודדת המוסתרת בין מיליונים, עלולה לפגוע באבטחה של אינספור יישומים, ולסכן הן את הפעילות העסקית והן את פרטיות המשתמשים. בתוך נוף רעוע זה, הצוות שלנו ב-Xygeni יצא למבצע אבטחה, וחשף מציאות קשה שרבים חששו ממנה אך מעטים יכלו לאשר: נוכחותן של חבילות npm זדוניות בתוך עמוד השדרה של המערכת האקולוגית הדיגיטלית שלנו.
בין ה-13 ל-15 בינואר 2024, סריקת זיהוי הקוד הזדוני הקניינית שלנו חדרה את צעיף הנורמליות, וחשפה לא אחת, אלא עשר חבילות npm ערמומיות. אלה לא היו מעשי זדון אקראיים, אלא קמפיינים, שכל אחד מהם נועד לחלחל מידע רגיש לפינות אפלות של האינטרנט. גילוי זה אינו רק קריאת השכמה; זוהי קריאה ברורה לפעולה לכל בעלי העניין בתהליך פיתוח התוכנה.
באותה תקופה, נפח זה עדיין היה ניכר. בשנת 2026, הוא כבר לא כזה. מהדורות אחרונות של שלנו סיכום קוד זדוני אם יאשרו 100-200+ חבילות זדוניות מדי שבוע ב-npm וב-PyPI בלבד, אותו חלון של שלושה ימים היום יצוץ בסדר גודל גדול יותר. טכניקות החילוץ וההתחמקות המתועדות להלן לא נעלמו; הן פשוט עברו תיעוש בקנה מידה שאף אחד לא צפה בתחילת 2024.
כחלוצים בתחום אבטחת הסייבר, נקודת התצפית הייחודית של Xygeni מאפשרת לנו לא רק לזהות את האיומים הללו, אלא גם להבין לעומק את השלכותיהם. דוח זה הוא עדות לכך. commitכוונה להגן על החזית הדיגיטלית של גילוי ראיות זדוניות בקוד כדי למנוע המרה בהתקפות עתידיות.
הצטרפו אלינו כשאנחנו צוללים לפרטים המורכבים של קמפיינים אלה, חושפים את שיטות התוקפים, וחשוב מכל, שופכים אור על האופן שבו עסקים יכולים לחזק את הגנותיהם מפני איומים חתרניים כאלה.
גילוי ראשוני: פרצת Aurora Webmail Pro
התגלית הראשונית בחקירה שלנו הייתה החבילה בשם אורורה-דוא"ל-פרו, אשר הועלה לרישום NPM על ידי משתמש עם הכינוי 0x379cגילוי זה הוביל עד מהרה לזיהוי של ארבע חבילות נוספות, שכולן הועלו על ידי אותו מחבר לפני שפעילותן הופסקה על ידי אמצעי האבטחה של הרישום.
חבילות אלו כללו blog_2021@1.1.1, ארנק חום@10.1.1, newbooking@1.1.1, ו פֶּקוֹ@1.0.1כל חבילה, לאחר בדיקה, נמצאה כמכילה קוד זדוני דומה להפליא שמטרתו לחלץ מידע רגיש של משתמשים.
התוכנה משחזרת מידע מערכת רגיש הקשור למשתמש ולמערכת ויוצרת קובץ hexdump עם נתונים אלה. לאחר מכן הנתונים עוברים איטרציה ועבור כל chunk, מתבצעת בקשת GET לאתר חיצוני, כאשר הנתיב הנגיש הוא כל אחד מה-cums שנבנו.
חשיפה משנית: טקטיקות מגוונות בהפצת קוד זדוני
במקביל לגילוי האצווה הראשונית, החקירה שלנו חשפה ארבע חבילות NPM נוספות, שהופצו ברחבי הרישום על ידי שלושה משתמשים שונים.
חבילות אלו, הרשומות כ anyone-deps@1.0.0, shoponline.epiroc.com@1.0.1, shoponline.epiroc.com@1.0.2, ו synology-cft@10.0.0, חלקו חוט משותף בבסיס הקוד שלהם - כל אחד מהם תוכנן לשאוב מידע מהמשתמש. ראוי לציין, שהשיטה ששימשה לשאיבת נתונים במקרים אלה שונה מזו של הקבוצה הראשונה, ורמזה על קמפיין נפרד, אם כי מרושע באותה מידה.
האסטרטגיה של קמפיין שני זה כללה גישה ישירה יותר לאיסוף נתונים רגישים. עם ההפעלה, הקוד הזדוני בתוך חבילות אלו יצא למשימת סיור יסודית, תוך חילוץ מידע מפורט על תצורת המערכת של המשתמש, נתוני משתמש אישיים, ובעיקר, כתובת ה-IP של המערכת. איסוף נתונים מקיף זה נועד לאסוף תיק מלא על הקורבן, ובכך להכשיר את הבמה לפריצות עמוקות יותר או התקפות ממוקדות.
חשוב להדגיש שלמרות הפוטנציאל של חבילות אלו להתחזות לחלק מפעילויות מחקר אבטחה לגיטימיות, כגון אלו שמטרתן לחשוף פגיעויות באמצעות טקטיקות של בלבול תלויות, המציאות נותרה ללא שינוי. חבילות אלו בהחלט עלולות להיות מתוכננות בכוונה זדונית, תוך איסוף והעברת מידע רגיש בחשאי לגורמים חיצוניים לא מורשים.
התראה מיוחדת: אנומליית djs13-fetcher והשלכותיה על אבטחת סייבר
בתוך הבדיקה של החבילות שהוזכרו לעיל, הפלטפורמה שלנו סימנה אנומליה נוספת: חבילה בשם djs13-fetcherתגלית זו שונה מהמקרים הקודמים, לא רק בשיטת פעולתה אלא גם באופי האיום שהיא מהווה. djs13-fetcher זוהה כמי שיזום רצף הורדה וביצוע עבור קובץ מצורף מדיסקורד, ספציפית קובץ בינארי בשם astroia.exeלאחר בדיקה מדוקדקת יותר באמצעות שירות ניתוח אוטומטי, קובץ בינארי זה צבר... ציון איום של 85/100, דירוג שמסווג אותו באופן חד משמעי כתוכנה זדונית.
פעולת ה-djs13-fetcher וההפעלה שלאחר מכן של astroia.exe מדגישות וקטור איום מתוחכם ורב-גוני. הקובץ הבינארי המדובר תוכנן לבצע סדרה של פעולות המעידות על כוונה זדונית עמוקה:
- תהליכי מערכת ההשרצההתוכנה הזדונית מתחילה תהליכי מערכת מרובים לאחר הביצוע, טכניקה המשמשת לעתים קרובות להפעלת סקריפטים זדוניים נוספים או כדי לבסס דריסת רגל במערכת הנגועה עבור מטענים נוספים.
- שאילתת מידע מערכתית: היא מבצעת שאילתות נרחבות של מידע מערכתי. פעולה זו מכוונת בדרך כלל לאיסוף מודיעין על סביבת המערכת, אשר ניתן להשתמש בו להתאמת התקפות עוקבות לפגיעויות הספציפיות של המערכת.
- ביצוע תמרוני התחמקותאולי הבולט ביותר, astroia.exe תוכנן לבצע שאילתות Windows Management Instrumentation (WMI) כדי לזהות אם הוא פועל בתוך מכונה וירטואלית (VM). התנהגות זו היא פעולת התחמקות ברורה, שנועדה להימנע מגילוי וניתוח על ידי אנשי מקצוע בתחום אבטחת הסייבר ומערכות אוטומטיות המשתמשות בדרך כלל במכונות וירטואליות לניתוח תוכנות זדוניות.
טעימות מפתח
גילוי 10 חבילות npm זדוניות אלו, יחד עם המקרה המיוחד של djs13-fetcher, היה סימן מוקדם לדפוס שהתפתח מאז הרבה מעבר למה שציפו בינואר 2024.
מציאות זו הדגישה, כבר אז, את תפקידו החיוני של שירות ההתרעה המוקדמת של Xygeniהשירות שלנו, שנועד לנתח ולהתריע על איומים פוטנציאליים בחבילות npm חדשות מיד עם פרסומן, ייצג קפיצת מדרגה משמעותית בהגנות סייבר פרואקטיביות באותה תקופה, וההיגיון שלו רק הפך הכרחי יותר ככל שהנפח גדל. על ידי הצעת זיהוי מוקדם של אותות אינדיקטיביים של זדון, הרבה לפני... standard באמצעות נהלים, אנו מעצימים את לקוחותינו להגן על מערכות התוכנה שלהם מפני חדירת תוכנות זדוניות פוטנציאליות לפני שהן עלולות לגרום נזק. זיהוי מסוג זה פועל כעת ברציפות: ראו את הממצאים שאושרו השבוע ב... סיכום קוד זדוני.
ארגונים חייבים לתעדף את יישום פרוטוקולי האבטחה החזקים, החל מביקורות קוד רגילות ועד כלי גילוי מתוחכמים, כדי להגן מפני הטקטיקות המתוחכמות בהן משתמשים יריבים קיברנטיים. קסיגני, אנחנו נשארים commitנועדו להוביל את המאבק המתמשך הזה, לצייד את שותפינו ואת הקהילה הרחבה בידע ובכלים הדרושים כדי להדוף את האיומים הערמומיים הללו.
שאלות נפוצות
האם חבילות npm זדוניות עדיין מהוות בעיה גוברת בשנת 2026?
כן, באופן משמעותי. פוסט זה תיעד 10 חבילות npm זדוניות שנמצאו במשך שלושה ימים בינואר 2024. תקציר הקוד הזדוני של Xygeni מאשר כעת 100-200+ חבילות זדוניות מדי שבוע ב-npm וב-PyPI, עדות לכך שטקטיקות החילוץ וההתחמקות שזוהו כאן התרחבו באופן דרמטי במקום להיעלם.
כיצד אוכל לבדוק אם חבילת npm זדונית לפני התקנתה?
אמת את היסטוריית המתחזק, בדוק את תאריכי הפרסום וספירת ההורדות לאיתור אנומליות, והשתמש בסריקה אוטומטית שמסמנת דפוסי חילוץ והתנהגות התחמקות, לא רק התאמות CVE ידועות, מכיוון שרוב החבילות הזדוניות, כולל כל 10 המכוסות כאן, היו חדשות בזמן הגילוי.
כיצד אוכל לבדוק אם חבילת npm זדונית לפני התקנתה?
יש לאמת את היסטוריית המתחזק, לבדוק את תאריכי הפרסום וספירת ההורדות לאיתור אנומליות, ולהשתמש בסריקה אוטומטית שמסמנת דפוסי חילוץ והתנהגות התחמקות, ולא רק התאמות CVE ידועות, מכיוון שרוב החבילות הזדוניות כמו אלו שבדוח זה היו חדשות בזמן הגילוי.
האם עדיין נמצאות באופן קבוע חבילות npm זדוניות חדשות?
כן. קסיגני'ס סיכום קוד זדוני מפרסם חבילות npm ו-PyPI זדוניות שאושרו לאחרונה בכל שבוע; טכניקות ההסננה וההתחמקות ממכונות וירטואליות שתועדו בדוח זה משנת 2024 נותרות נפוצות בחבילות שהתגלו כיום.




