Radar AI Avatar Transparent

מתקפת שרשרת אספקה על חבילות Rust ב-crates.io מריצה קוד זדוני בזמן הידור

חשבון של מתחזק ידוע בקהילת Rust נפרץ ושימש לפרסום גרסאות זדוניות לשלוש חבילות (crates) נפוצות במרכז החבילות crates.io. הגרסאות הזדוניות הוסיפו תלות מזויפת שהריצה קוד זר כבר בזמן הבנייה (cargo build) — לפני שכל שורת קוד מהחבילה עצמה נקראה בפועל.

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

הפרטים

ב-20 באוגוסט 2026 פורסמו מאותו חשבון מתחזק גרסאות חדשות לשלוש חבילות: arrayref 0.3.10, internment 0.8.7 ו-append-only-vec 0.1.9. הגרסאות הוסיפו תלות בשם proc-macro1 — חיקוי (typosquat) של החבילה הלגיטימית והנפוצה proc-macro2. סקריפט הבנייה (build script) של proc-macro1 הוריד והריץ קובץ הרצה מרחוק, כך שכל פרויקט שהתקין את הגרסה הפגועה והריץ עליו cargo build הריץ בפועל את הקוד הזדוני — ללא צורך לקרוא לפונקציה כלשהי מהחבילה עצמה.

צוות האבטחה של Rust הסיר את הגרסאות הפגועות מהר יחסית — arrayref הוסרה כעבור 86 דקות, internment כעבור 90 דקות ו-append-only-vec כעבור 107 דקות — לאחר שצוות המחקר של Nextron Systems דיווח על התקרית. הצוות הרשמי מסר כי אינו מאמין שבעל החשבון פעל בזדון, אלא ככל הנראה המחשב או האישורים שלו נפרצו, וכי הוא ננעל כאמצעי זהירות. חברת Wiz דיווחה על חפיפה בין מאפייני המתקפה לבין דפוסים שיוחסו בעבר לקמפיינים צפון-קוריאניים, אך זו הערכה ראשונית ולא ייחוס מאושר.

נקודות לשים לב

  • בדקו את Cargo.lock של הפרויקטים שלכם: אם הוא נעל את arrayref בגרסה 0.3.10, את internment ב-0.8.7 או את append-only-vec ב-0.1.9 — עדכנו מיד לגרסה נקייה.
  • אם הרצתם cargo build על פרויקט עם אחת מהגרסאות הפגועות בין 20 באוגוסט לזמן ההסרה, יש לבדוק את המכונה שביצעה את הבנייה — סקריפטי בנייה רצים בהרשאות המשתמש שמריץ אותם, כך שהקוד הזדוני פעל באותה רמת הרשאה.
  • שימו לב לבלבול השמות: החבילה הזדונית נקראת proc-macro1, בעוד שהחבילה הלגיטימית והנפוצה נקראת proc-macro2 — הבדל של תו אחד שקל לפספס.
  • זו תזכורת לסיכון הכללי בסקריפטי בנייה: הם מריצים קוד אוטומטית בזמן build, בדיוק כמו postinstall ב-npm. שקלו נעילת גרסאות תלות (–locked) ובידוד סביבות בנייה ב-CI מרשתות רגישות.

מקורות: Rust Blog · The Hacker News

QR לתשלום ביטקוין אל bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85

₿ אהבת את הפוסט?

אפשר לשלוח לי ביטקוין ישירות לכתובת שלי. סרקו את הקוד, או העתיקו את הכתובת:

bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85

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