האם חזינו במתקפת שרשרת האספקה הגדולה ביותר בהיסטוריה?
מתקפה חדשה פגעה בעשרות חבילות npm פופולריות, כולל כאלה שתלויות בהן אלפי ספריות. החבילות עודכנו בקוד זדוני שמשתלט על עסקאות קריפטו

תמונה: dreamstime
במשך שנים מתקפות על שרשרת אספקה נחשבו לאחד התרחישים הכי מפחידים בעולמות קוד פתוח. השבוע הסיוט הזה גם התממש. מישהו פרץ לחשבון npm של מפתח מוכר בשם ג'וש ג'ונון (המוכר גם כ-Qix), והכניס קוד זדוני לעשרות חבילות בסיסיות ב-JavaScript, כאלה שרבים משתמשים בהן, גם אם לא במישרין ושמתעדכנות כשני מיליארד פעמים בשבוע. התוצאה? מנגנון שעוקב אחר עסקאות קריפטו ומחליף את כתובת הארנק הדיגיטלי של המשתמש בזו של התוקפים.
איך זה קרה?
המפתח קיבל מייל מזויף שנראה כאילו הגיע מ-npm, עם אזהרה: החשבון שלך יסגר אם לא תעדכן את מנגנון האימות הדו שלבי. הוא לחץ, התחבר, והאקרים השתלטו. ואם נדמה לכם שזו הונאת פישינג קלאסית, זה בגלל שזו אכן הונאה כזו. המייל שהפיל את ג’ונון נשלח מכתובת בדומיין support.npmjs.help – דומיין שנרשם רק שלושה ימים קודם לכן ונראה דומה מאוד לדומיין הרשמי של npm (npmjs.com).
תוך פחות משעה, עשרות חבילות עודכנו עם קוד חדש. בפנים: מנגנון שעוקב אחרי עסקאות קריפטו מהמחשב המקומי, ומחליף את הכתובת של הארנק שאליו אתם שולחים כסף בכתובת של התוקפים. המתקפה פגעה בלמעלה מ-20 חבילות המאוחסנות במאגר npm (מאגר הקוד המרכזי עבור קבצי JavaScript).
המפתח שנפגע, ג'וש ג'ונון, פרסם ברשתות החברתיות הודעת התנצלות וכתב: "סליחה לכולם, הייתי צריך לשים לב יותר. היה לי שבוע לחוץ ואעבוד על לתקן את זה".
כל עדכוני ה-IT, תשתית וטכנולוגיה בערוץ הטלגרם של ITtime
לא מדובר בחבילות איזוטריות
מדובר בחבילות כמו chalk, debug, wrap-ansi, color-convert, strip-ansi ועוד רבות אחרות. חלקן מותקנות ישירות, אחרות תלויות בהן. כולן יחד משולבות באינספור פרויקטים, אפליקציות, ספריות וסביבות עבודה. השליטה בהן שוות ערך להשתלטות על נקודות מרכזיות באקוסיסטם ה-JavaScript כולו.
לפי חברת האבטחה Socket, מדובר במתקפה ממוקדת שנועדה להתפשט בצורה חכמה. "השתלטות על Qix אפשרה לתוקפים לדחוף גרסאות זדוניות לחבילות שבצורה עקיפה נמצאות כמעט בכל מקום", כתבו החוקרים.
מה עשה הקוד? הוא התחבר לדפדפן, ריגל אחר פונקציות כמו fetch ו-XMLHttpRequest, זיהה עסקאות קריפטו ב-Ethereum, Bitcoin, Solana, Tron, Litecoin ו־Bitcoin Cash והחליף את כתובות היעד.
לא המתקפה היחידה
במקביל למתקפה הזו, התגלו השבוע שתי מתקפות נוספות שכיוונו לשרשראות אספקה: הראשונה כוונה למאגרים כמו PyPI, DockerHub, GitHub ו-AWS ונגנבו בה יותר מ-3,300 נתוני גישה, כולל אסימוני התחברות לחשבונות פיתוח. החשבונות שנפגעו הזרימו סקריפטים זדוניים שנראו כמו GitHub Actions, וגנבו עוד ועוד אסימונים.
המתקפה השנייה היא כוונה ל-Nx, מערכת ניהול מאגרים ארגונית בקוד פתוח ובמהלכה השיגו התוקפים אסימון התחברות, גנבו ממנו אסימוני GitHub נוספים, חשפו מאגרים פרטיים והעלו את כל האישורים למאגר בשם s1ngularity-repository.