תוקפים הכניסו גנב סודות ל-Trivy ול-trivy-action: מה לבדוק בצנרת ה-CI שלכם
ב-19 במרץ 2026 תוקף הפיץ גרסה זדונית של סורק האבטחה Trivy ושינה את trivy-action ב-GitHub Actions. הקוד גנב סודות מצנרות CI, ו-Aqua מורה להחליף אותם.
TL;DR בקצרה
- ב-19 במרץ 2026 תוקף הפיץ את Trivy v0.69.4 עם קוד זדוני, והזיז 76 מתוך 77 תגיות של trivy-action וכל 7 התגיות של setup-trivy.
- הקוד הזדוני רץ לפני הסריקה, קרא סודות מזיכרון ה-runner ושלח אותם החוצה.
- ב-22 במרץ הופיעו ב-Docker Hub גם התמונות 0.69.5 ו-0.69.6. הגרסאות הבטוחות הן Trivy v0.69.3 ו-trivy-action v0.35.0.
- מי שהריץ רכיב מושפע צריך להחליף את כל הסודות שהיו נגישים לצנרת.
ב-19 במרץ 2026 תוקף הפיץ גרסה זדונית של Trivy ופגע גם ב-trivy-action. הרכיב trivy-action מפעיל את הסורק בצנרת CI של GitHub Actions. הקוד הזדוני גנב סודות מהצנרות.
Trivy הוא סורק חולשות בקוד פתוח של Aqua Security. ארגונים מפעילים אותו אוטומטית בכל בנייה. לכן לצנרת שלו יש גישה לסיסמאות, למפתחות ולהרשאות ענן.
מה קרה ל-trivy-action ול-Trivy ב-19 במרץ
לפי הודעת האבטחה של Aqua, התוקף השתמש באישורי גישה גנובים. הוא פרסם את Trivy בגרסה v0.69.4 עם קוד זדוני. בנוסף הוא הזיז 76 מתוך 77 תגיות של trivy-action לקוד זדוני. הוא עשה זאת גם ל-7 התגיות של setup-trivy.
הטריק חכם כי התוקף לא הוסיף גרסה חדשה. צנרות שהפנו לתגית קיימת הריצו קוד אחר, בלי שינוי נראה לעין. לפי Aqua, הקוד הזדוני רץ לפני הסריקה הלגיטימית.
מה הקוד גנב? הקוד קרא את זיכרון התהליך של ה-runner וסרק מעל 50 נתיבים בדיסק. בין היתר חיפש מפתחות SSH ואישורי AWS, GCP ו-Azure. עוד חיפש טוקנים של Kubernetes, הגדרות Docker, סיסמאות למסדי נתונים וארנקי קריפטו.
אחר כך הוא הצפין את המידע ושלח אותו לשרת של התוקף. אם השליחה נכשלה והסביבה כללה טוקן GitHub, הקוד פתח בחשבון הקורבן מאגר ציבורי בשם tpcp-docs. הוא העלה אליו את המידע הגנוב.
כמה זמן הגרסאות הזדוניות היו זמינות
Trivy v0.69.4 הופץ כשלוש שעות, מ-18:22 עד 21:42 לפי UTC. הרכיב trivy-action היה פגוע כ-12 שעות, עד 05:40 ב-20 במרץ. הרכיב setup-trivy היה פגוע כארבע שעות.
ב-22 במרץ חזר התוקף. הוא פרסם ב-Docker Hub את התמונות 0.69.5 ו-0.69.6, עם אותו שרת שליטה. הוא עשה זאת דרך אישורי Docker Hub אחרים שגנב. Aqua הסירה את התמונות והחזירה את התגית latest לגרסה הבטוחה 0.69.3.
למה trivy-action מלמד על תגיות ב-GitHub Actions
תגית ב-GitHub היא רק מצביע. מי שיש לו הרשאה יכול להזיז אותה לקוד אחר. לכן הפניה לתגית כמו @v1 נותנת ביטחון מדומה.
Aqua מסבירה שהמתקפה היא המשך של פריצה שהתחילה בסוף פברואר 2026. ב-1 במרץ גילתה Aqua את האירוע והחליפה אישורי גישה. ההחלפה לא הייתה אטומית, כלומר לא כל האישורים בוטלו בבת אחת. לכן נשאר בידי התוקף אישור תקף.
מי בטוח? מי שהשתמש ב-Trivy גרסה v0.69.3 או ישנה, וב-trivy-action גרסה v0.35.0. גם הפניה לקומיט בטוח לפי SHA מגנה, וכך גם בנייה מקוד המקור. Aqua מוסיפה שאין סימן לפגיעה במוצרים המסחריים שלה.
מה זה אומר עבורכם
- חפשו את הרכיבים: סרקו את ה-workflows בארגון ב-GitHub אחר aquasecurity/trivy-action ו-aquasecurity/setup-trivy.
- בדקו את יומני 19 ו-20 במרץ: עברו על השלבים Run Trivy ו-Setup environment. בדקו גם אם משכתם Trivy v0.69.4 או את התמונות 0.69.5 ו-0.69.6.
- אם הרצתם גרסה זדונית, החליפו הכול: הניחו שהסודות בצנרת דלפו. החליפו אישורי ענן, מפתחות SSH, טוקנים של registry ו-npm וסיסמאות למסדי נתונים.
- חפשו את tpcp-docs: בדקו אם נוצר בארגון מאגר בשם tpcp-docs. הוא מעיד שהתוקף הצליח לגנוב את המידע.
- הצמידו ל-SHA: הפנו כל Action של צד שלישי לגיבוב SHA מלא. עברו ל-Trivy v0.69.3, ל-trivy-action v0.35.0 ול-setup-trivy v0.2.6.
מה קרה מאז
ב-26 במרץ הוסיפה CISA את CVE-2026-33634, קוד זדוני משובץ ב-Trivy, לקטלוג KEV. המועד הסופי לסוכנויות פדרליות היה 9 באפריל. לדברי Aqua, יש להתייחס לזה כקמפיין מתמשך ולא כאירוע שהסתיים.
מקורות והרחבה
- Trivy ecosystem supply chain was briefly compromised (GHSA-69fq-xp46-6x23)Aqua Security
- Trivy Supply Chain Attack: What You Need to KnowAqua Security blog
- Trivy Compromised: Everything You Need to Know about the Latest Supply Chain AttackWiz
- Known Exploited Vulnerabilities Catalog: CVE-2026-33634CISA
הכתבה נכתבה במקור בעברית על ידי מערכת GEEKLIK, על בסיס המקורות שלמעלה ובדיקת העובדות מולם.
מצאתם טעות? דווחו לנו