Supply Chain Security, אבטחת שרשרת האספקה

📚 אבטחת מידע עם Claude ⏱️ 11 דק׳ 🎓 מתקדם ✓ חינם לגמרי
Supply Chain Security, אבטחת שרשרת האספקה

האיום שמגיע מבפנים, ולמה 2025 שינה הכל

דצמבר 2020: SolarWinds, ספק תוכנה שכולם סמכו עליו הכניס backdoor לעדכון שהגיע ל-18,000 ארגונים. מרץ 2025: tj-actions, Action של GitHub שנפרץ ושינה כל version tag רטרואקטיבית, וחשף secrets של 23,000 repositories תוך שעות. ספטמבר 2025: תולעת Shai-Hulud, הנוזקה הראשונה שמשכפלת את עצמה ב-npm. היא פגעה ב-chalk, debug, ansi-styles, packages עם 2.6 מיליארד הורדות שבועיות.

דוח ה-Verizon DBIR לשנת 2025 מצא ש-30% מהפרצות קשורות לצד שלישי, כפול מהשנה הקודמת. OWASP הכניסה Supply Chain Failures למקום #3 ב-Top 10 של 2025. זה לא עוד "best practice נחמד", זה הפך לחובה.

מהי Supply Chain Attack ומה האנטומיה שלה

במקום לתקוף את הקוד שלך ישירות, התוקף תוקף אחד מה-suppliers שלך: ספריית npm, GitHub Action, Docker base image, או build tool. אתה מוריד "עדכון", ומקבל malware. שלושת וקטורי ההתקפה הנפוצים:

ויש איום חדש שייחודי לעידן ה-AI: Slopsquatting. מודלי שפה גדולים (כולל Claude) ממציאים שמות packages שלא קיימים בשיעור של כ-20%. 58% מהשמות האלה חוזרים על עצמם באופן עקבי, מה שמאפשר לתוקפים לצפות אותם ולרשום packages זדוניים מראש. אם אתה משתמש ב-Claude לכתיבת קוד, תמיד ודא שהpackage שהוצע קיים ב-registry רשמי לפני ה-install.

ארסנל הכלים, ומה Claude עושה בכל אחד

שכבת הגנהכלימה Claude עוזר
Dependency auditnpm audit / GrypeTriage CVEs, תעדוף upgrade path, הסבר ל-business impact
SBOMSyft, CycloneDXניתוח output, זיהוי packages עם maintenance risk
CI/CD hardeningGitHub Actionsהמרה מ-version tag ל-SHA pin, הוספת OIDC federation
Artifact signingSigstore / Cosignהסבר פקודות, כתיבת verification step ב-workflow
Policy as CodeDependabot / Renovateכתיבת config, triage PRs, בדיקת changelogs

פרומפט מעשי 1, Dependency Security Audit

הדבק את ה-package.json או requirements.txt שלך וכתוב לClaude:

אתה supply chain security engineer.
בצע audit ל-dependencies הבאות לפי שלוש רמות:

רמה 1, CVE Exposure:
- אילו packages מכילים CVEs ידועים עם exploit code זמין?
- מה ה-upgrade path לכל CVE?

רמה 2, Maintenance Risk:
- אילו packages לא עודכנו מעל שנתיים?
- אילו packages יש להם maintainer יחיד?

רמה 3, Unusual Behavior:
- אילו packages מריצים postinstall scripts?
- האם יש packages שהוסיפו network calls ב-version האחרון?

לכל ממצא: [חומרה HIGH/MEDIUM/LOW], הסבר הסיכון, המלצה.

[הדבק package.json / requirements.txt]

למה postinstall scripts מסוכנים? כשרץ npm install, ה-script הזה מופעל אוטומטית עם הרשאות ה-user, בלי שתראה אותו. זה הווקטור הקלאסי שבו תולעת Shai-Hulud הפיצה את עצמה.

פרומפט מעשי 2, GitHub Actions Hardening

האם workflow שלך כולל שורה כזו?

uses: third-party-org/some-action@v2

אם כן, אתה חשוף. Version tag הוא mutable, מחר הוא יכול להצביע על commit אחר. כך בדיוק עבד המתקפה על tj-actions, הם שינו את ה-tag, ו-23,000 repos הורידו קוד זדוני באופן אוטומטי. SHA pin הוא immutable:

uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2

בקש מ-Claude:

הנה ה-GitHub Actions workflow שלי.
זהה כל uses: שמצוין ב-version tag ולא ב-commit SHA.
לכל אחד:
1. מה ה-SHA המדויק של הversion הנוכחי?
2. כתוב את ה-uses: המתוקן עם SHA + comment עם הversion
3. האם ה-action הזה מ-verified organization?

[הדבק workflow YAML]
בדוק את ה-package.json שלי לבעיות אבטחה
אתה supply chain security engineer. בצע audit ל-package.json הבא לפי שלוש רמות: (1) CVE exposure, רק packages עם exploit code זמין, עם upgrade path מדויק, (2) Maintenance risk, single-maintainer packages, לא עודכנו 2+ שנים, ירידה ב-downloads, (3) Unusual permissions, postinstall scripts, network calls חדשים ב-version האחרון. לכל ממצא: [חומרה HIGH/MEDIUM/LOW], הסבר הסיכון, המלצה ספציפית.

SBOM, מ-document ל-מערכת חיה

SBOM (Software Bill of Materials) הוא רשימה מלאה של כל ה-dependencies שלך, direct ו-transitive, עם שמות, גרסאות, ורישיונות. ב-2026 ה-EU Cyber Resilience Act מחייב SBOM לכל תוכנה שנמכרת בשוק האירופי. אי-עמידה: עד 15 מיליון יורו או 2.5% מהמחזור הגלובלי.

אבל SBOM שנוצר פעם אחת הוא כמעט חסר ערך. ה-shift של 2026 הוא מ-static SBOM ל-operational SBOM: מסמך שמתעדכן בכל build, מוזן למערכת שסורקת אותו ב-real time מול vulnerability feeds, ומייצר התראה כשCVE חדש מתפרסם שנוגע ל-dependency שלך, גם indirect.

בקש מ-Claude לנתח SBOM output:

הנה SBOM שנוצר על ידי Syft בפורמט CycloneDX.
זהה:
1. Packages עם אפס commits ב-12 חודשים האחרונים
2. Packages עם maintainer יחיד
3. Licenses שאינן תואמות לשימוש מסחרי (GPL, AGPL)
4. Direct dependencies עם CVE פתוח לעומת transitive

[SBOM JSON]

טעויות נפוצות, ומה לעשות במקום

שגרת עבודה מומלצת

הגדר Dependabot או Renovate Bot שפותח PR לכל dependency update. לפני approve, בקש מ-Claude:

הנה changelog של [package] מ-version X ל-Y.
הנה הקוד שלנו שמשתמש בpackage:

[קוד]

שאלות:
1. האם יש breaking changes שמשפיעים על הקוד שלנו?
2. האם יש security fixes? אם כן, האם הם קריטיים?
3. מה לבדוק בtesting לפני merge?

סטארטאפ ב-תל אביב שמשתמש בpipeline כזה דיווח על צמצום זמן review של dependency updates מ-40 דקות ל-5 דקות per PR, עם שיפור בכיסוי הבדיקה.

פרסום package עם שם מאוית שגוי כמו axois במקום axios
מודלי AI מציעים שמות packages לא-קיימים; תוקפים רושמים packages זדוניים בשמות אלה מראש
פרסום package ציבורי באותו שם כמו package פנימי פרטי של חברה
פריצה לחשבון npm של maintainer ופרסום גרסה זדונית
כי הrepositories לא השתמשו ב-SHA pinning
כי version tags הם mutable, התוקפים שינו לאן הtags מצביעים, וכל workflow שרץ הוריד קוד זדוני
כי כל הrepositories השתמשו באותה network subnet
כי לא היה להם 2FA על חשבון ה-GitHub
Typosquatting = שם זהה לpackage פרטי; Confusion = שם מאוית שגוי
שניהם מנצלים CVEs ידועים בpackages קיימים
Confusion = שם זהה לpackage פרטי עם version גבוהה; Typosquatting = שם מאוית שגוי. שני מנגנונים שונים
Confusion רלוונטי רק לPython; Typosquatting רק לnpm

מקורות: OWASP Top 10 2025, A03 Supply Chain | CISA Alert, npm Ecosystem Compromise (Sept 2025) | Snyk, Slopsquatting Mitigation | Anthropic, Claude Code Security Review Action

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

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