הרבעונים הראשונים של 2026 הפכו את מתקפת שרשרת אספקת התוכנה מתרחיש תיאורטי לגל תקיפות שבועי. הפעם המטרה אינה רק חבילת קוד פתוח בודדת - אלא הפייפליין עצמו: מערכות ה-CI/CD, חשבונות GitHub של מפתחים, וקבצי GitHub Actions שרצים אוטומטית בכל דחיפת קוד. תוקף שמשתלט על שלב הבנייה לא צריך לפרוץ את הרשת שלכם - הוא פשוט מזריק את עצמו לתוך התוכנה שאתם ממילא מריצים בסביבת ייצור.[1][2]
לקבלן ביטחוני זו נקודת עיוורון קלאסית: תקציבי ההגנה הולכים ל-EDR, לפיירוול ולסקרי חדירה - בעוד ה-CI/CD, שיש לו הרשאות לענן, למאגרי הקוד ולסודות הייצור, נשאר מחוץ למיפוי הסיכונים. המאמר הזה מנתח שלוש תקריות שהגדירו את הגל של 2026, מסביר למה קבלן ביטחוני חשוף במיוחד, ומפרט את ההגנה המעשית - SBOM והקשחת פייפליין - שאפשר להתחיל ליישם השבוע. זהו המשך ישיר לניתוחים הקודמים שלנו על חתימה דיגיטלית שהובילה לתקיפה ועל המחיר האמיתי של הזנחת שרשרת האספקה.
מה השתנה ב-2026: מהתקנת ההתקנה למתקפה על הפייפליין
מתקפות שרשרת אספקה קלאסיות (כמו מקרה Cyber Toufan או המקרה של DAEMON Tools) פגעו בקובץ התקנה או בספק בודד. הגל של 2026 שונה בשלושה מאפיינים: הוא אוטומטי (בוט דוחף אלפי commits בשעות), הוא מתפשט מעצמו (תולעים שגונבות אישורים ומדביקות חבילות נוספות), והוא מכוון לסודות של הפייפליין - מפתחות ענן, טוקנים של OIDC ומשתני סביבה של CI - ולא לקבצים על דיסק. התוצאה: חדירה אחת לחשבון מפתח מתורגמת לגישה למאות מערכות במורד הזרם.
שלוש התקריות שמגדירות את גל 2026
🔴 Megalodon - הרעלת CI/CD בקנה מידה תעשייתי (מאי 2026)
ב-18 במאי 2026, בין השעות 11:36 ל-17:48 UTC - חלון של כ-6 שעות - נדחפו 5,718 commits זדוניים ל-5,561 מאגרי GitHub. השם המזויף על ה-commits היה "build-bot" / "auto-ci", כדי להיראות כתרומה אוטומטית תמימה. כל commit הזריק קובץ GitHub Actions עם payload מוצפן ב-base64 שגנב את כל משתני הסביבה של ה-CI, אישורי AWS/GCP/Azure, מפתחות SSH, קונפיגורציות Docker ו-Kubernetes וטוקני OIDC, ושלח אותם לשרת שליטה בכתובת 216.126.225.129:8443.[1][2]
החלק המסוכן: חלק מהגרסאות שתלו backdoor רדום מסוג workflow_dispatch - שאינו רץ אוטומטית ולכן אינו יוצר בנייה כושלת שתעורר חשד, אבל ניתן להפעילו מאוחר יותר דרך ה-API של GitHub בעזרת טוקן גנוב. הקמפיין התגלה על ידי חברת SafeDep לאחר שזוהתה חבילת npm נגועה של @tiledesk/tiledesk-server (גרסאות 2.18.6-2.18.12), שפורסמה ממאגר קוד מורעל מבלי שהמתחזק הבחין.[1]
🟠 Shai-Hulud ו-TeamPCP - התולעת שמתרבה מעצמה (2025-2026)
בספטמבר 2025 התגלתה Shai-Hulud, תולעת npm שמתרבה מעצמה: היא הזריקה סקריפט post-install שגנב אישורי מפתח ומאגרים פרטיים, ואז השתמשה בהם כדי לפרסם גרסאות נגועות של חבילות נוספות. למעלה מ-500 חבילות הודבקו, ו-GitHub הסירה אותן מהרישום. גרסה משופרת ("The Second Coming" / Shai-Hulud 2.0) הופיעה כבר בנובמבר 2025.[4][5]
ב-2026 המשיך אשכול הפעילות שיוחס לקבוצת TeamPCP ("Mini Shai-Hulud"): ב-12 במאי 2026 נפגעו TanStack ולמעלה מ-160 חבילות npm/PyPI נוספות, וגורמי מחקר קשרו לאותה פעילות גם דליפת קוד מקור אצל ספקי אבטחה - כולל Trellix, לצד כלי הקוד-הפתוח Trivy ו-Checkmarx KICS. המכנה המשותף: גניבת אישורי GitHub וטוקני CI/CD, לא פריצת רשת קלאסית.[6]
🔵 tj-actions/changed-files - התקדים שהוכיח את הווקטור (מרץ 2025)
הפעולה הפופולרית tj-actions/changed-files, המשמשת בעשרות אלפי פייפליינים, נפרצה במרץ 2025 (מזוהה כ-CVE-2025-30066). התוקף שינה רטרואקטיבית תגי גרסה קיימים כך שיצביעו על commit זדוני - כלומר גם מי ש"נעל" גרסה קיבל את הקוד הנגוע. התוצאה: הפעולה השפיעה על למעלה מ-23,000 מאגרים, ובמאגרים ציבוריים נחשפו סודות בלוגים - כולל מפתחות גישה, PAT של GitHub וטוקני npm. CISA פרסמה התראה רשמית, והתיקון הגיע רק בגרסה 46.0.1.[3][7]
למה קבלן ביטחוני חשוף במיוחד
ה-CI/CD הוא בדיוק סוג הנכס שנופל בין הכיסאות: הוא לא "שרת ייצור" קלאסי, אבל יש לו הרשאות רחבות יותר מרוב המערכות. שלושה מאפיינים הופכים אותו למטרה מועדפת בסקטור הביטחוני:
הפייפליין מחזיק את המפתחות לכל הממלכה
סוכן ה-CI ניגש למאגר הקוד, לרישום החבילות, לסביבת הענן ולסודות הייצור. תוקף שמשיג ריצת קוד בתוך ה-runner - כפי ש-Megalodon הדגים - קוצר בבת אחת את כל האישורים שמשתני הסביבה חושפים, בלי לפרוץ אף מערכת נוספת.
תלות עמוקה בקוד פתוח שלא נמפה
גם קוד "ביטחוני" בנוי על מאות תלויות npm/PyPI וגרסאות של GitHub Actions. בלי SBOM, הארגון לא יודע אילו רכיבים באמת רצים אצלו - ולכן לא יכול לדעת אם חבילה נגועה מ-Shai-Hulud או מ-TeamPCP כבר נכנסה לפייפליין שלו.
flowdown לקבלן הראשי ולמדינה
קוד נגוע שמשולב במערכת שנמסרת ל-Prime contractor אמריקאי או למשרד ביטחון הופך את הקבלן לווקטור החדירה. דרישות CMMC ו-NIST SSDF כבר מחייבות provenance של הבנייה - ותקרית שרשרת אספקה אחת עלולה לפסול הסמכה שלמה.
SBOM - לראות מה באמת רץ בקוד שלכם
לא ניתן להגן על מה שלא רואים. SBOM (Software Bill of Materials) הוא "רשימת רכיבים" מלאה של כל תלות, גרסה ומקור בתוכנה - כולל קבצי ה-workflow שנארזים בתוך חבילות. במקרה Megalodon, בדיוק יצירת SBOM שסורק גם את קבצי ה-Actions הייתה חושפת את ה-payload הזדוני שהוטמע בחבילת Tiledesk. ה-SBOM הוא הבסיס שממנו נגזרות כל שאר הבקרות: בלי מצאי מדויק, גם ניטור סודות וגם ניהול פגיעות עובדים בעיוורון.[1][8]
SBOM הוא כבר דרישת רגולציה - לא "נחמד שיהיה"
SBOM ו-provenance עברו מהמלצה לדרישה: צו EO 14028 בארה"ב, חוק ה-Cyber Resilience Act של האיחוד האירופי, ומסגרות כמו NIST SSDF (SP 800-218) ו-CMMC 2.0 מחייבים כיום מצאי רכיבים והוכחת שלמות בנייה עבור תוכנה שנמכרת לממשלה. עבור קבלן ביטחוני, SBOM הוא כבר תנאי סף חוזי - לא מותרות.[8][9]
הקשחת CI/CD - חמש שכבות הגנה על הפייפליין
SBOM נותן ראות; הקשחת ה-CI/CD מונעת את הפגיעה מלכתחילה. חמש השכבות הבאות עוקבות אחר מסגרות SLSA ו-NIST SSDF, ומתמודדות ישירות עם הווקטורים ש-Megalodon, Shai-Hulud ו-tj-actions ניצלו:
@v4 או @main - הצמידו כל פעולה ל-SHA מלא של commit. זה בדיוק מה שהיה עוצר את מתקפת tj-actions, שבה תגי הגרסה שונו רטרואקטיבית להצביע על קוד זדוני.GITHUB_TOKEN ל-read-only כברירת מחדל, וחלקו סודות לפי סביבה. גם אם payload רץ - הוא קוצר הרשאות מוגבלות בלבד.workflow_dispatch - כמו של Megalodon - שקוף לרוב הכלים, ולכן צריך בקרה ייעודית על שינויי הפייפליין עצמו.צ'קליסט מעשי - מה לבצע ברבעון הקרוב
- הפקת SBOM אוטומטית (SPDX/CycloneDX) לכל בנייה - כולל סריקת קבצי workflow שנארזים בחבילות.
- נעילת כל GitHub Actions ל-commit SHA מלא, וביטול שימוש בתגי גרסה נעים (@v4/@main).
- מעבר ל-OIDC וטוקנים קצרי-חיים; הגדרת
GITHUB_TOKENל-read-only כברירת מחדל. - הפעלת secret scanning + push protection, וניטור ייעודי על הוספת/שינוי קבצי workflow.
- יישום חתימת ארטיפקטים ו-provenance ברמת SLSA Build L3 לקראת דרישות CMMC/NIST SSDF.
- בדיקה מיידית: האם מאגרים שלכם קיבלו commits מ-"build-bot"/"auto-ci" סביב 18.5.2026 - ואם כן, רוטציית כל סודות ה-CI.
- הוספת תרחיש "פריצת CI/CD" לתרגיל ה-IR השנתי, כולל בדיקת חשיפה במורד הזרם ל-Prime contractors.
השורה התחתונה
גל 2026 הוכיח שמתקפת שרשרת אספקת תוכנה כבר לא מכוונת לקובץ ההתקנה - אלא ל-CI/CD, לחשבון המפתח ולסודות הפייפליין. Megalodon הדביק 5,561 מאגרים בשש שעות, Shai-Hulud התרבתה מעצמה על-פני מאות חבילות, ו-tj-actions הראתה שאפילו גרסה "נעולה" יכולה להירעל. לקבלן ביטחוני, נקודת העיוורון הזו היא גם סיכון תפעולי וגם חשיפה חוזית מול Prime contractors ומול דרישות CMMC ו-NIST SSDF.
ההגנה אינה עוד כלי - אלא שילוב של ראות (SBOM) והקשחת פייפליין (SLSA): נעילת Actions, בידוד סודות, provenance ותרגול IR. KPLNS מבצעת סקר ביטחון 360° לשרשרת האספקה שממפה את ה-CI/CD כנכס בסיכון, בונה SBOM לתשתית הבנייה, ומתרגם את הפערים לתוכנית הקשחה מדורגת - לפני שהתקרית הבאה מגיעה דרך commit של "build-bot" תמים.
מקורות
- SafeDep — Megalodon: Mass GitHub Repo Backdooring via CI Workflows
- SecurityWeek — Over 5,500 GitHub Repositories Infected in 'Megalodon' Supply Chain Attack
- Wiz — GitHub Action tj-actions/changed-files Supply Chain Attack (CVE-2025-30066)
- CISA — Widespread Supply Chain Compromise Impacting npm Ecosystem (Shai-Hulud)
- Checkmarx — Inside Shai-Hulud's Maw: How the npm Worm Exploits and Propagates
- Cyber Management Alliance — 5 of the Biggest Supply Chain Attacks of 2026 So Far (TeamPCP / Trellix / Nx)
- CISA — Supply Chain Compromise of tj-actions/changed-files (CVE-2025-30066)
- CISA — Software Bill of Materials (SBOM)
- NIST SP 800-218 — Secure Software Development Framework (SSDF)
- SLSA — Supply-chain Levels for Software Artifacts (Build Levels)
- Datadog Security Labs — The Shai-Hulud 2.0 npm Worm: Analysis
- CISA — Supply Chain Compromises Impact Nx Console and GitHub Repositories