GitHub פתחה בתצוגה מקדימה ציבורית את Package Firewall, שירות שמוצב בין תחנות קצה, סוכני קוד או מערכות CI לבין מאגרי החבילות הציבוריים. המטרה היא לעצור חבילה מסוכנת בזמן ההתקנה, לפני שסקריפט או קוד זדוני מקבלים הזדמנות לרוץ.
השירות זמין ללקוחות GitHub Enterprise Cloud, לרבות סביבות עם Data Residency. בשלב הראשון הוא תומך רק בחבילות npm, והוא חינמי בתקופת התצוגה המקדימה. GitHub מציינת שבזמינות כללית צפוי חיוב לפי שימוש, בדומה למודל של Actions.
איך חומת האש עובדת
מנהלי הארגון מגדירים מדיניות מרכזית. לאחר מכן, תחנות פיתוח, סוכני AI ומארחי CI/CD מפנים בקשות לחומת האש במקום לפנות ישירות ל־npm. גם בקשות המטא־דאטה וגם הורדת קובצי החבילה עוברות בדיקה מול המדיניות לפני שהן מגיעות ללקוח.
אם חבילה נחסמה בטעות, המשתמש יכול לבקש חריגה בתהליך הדומה לזרימות העבודה של GitHub Advanced Security. כך אפשר לשמור על חסימה כברירת מחדל בלי להפוך כל False Positive לבעיה ידנית בלתי פתירה.
אילו סיכונים אפשר לחסום
- נוזקה ידועה: בדיקה מול GitHub Advisory Database.
- חולשות: חסימה לפי רמת חומרה מינימלית שהארגון בוחר.
- חבילה חדשה מדי: תקופת Cooldown של יום עד 365 ימים לפני התקנה.
- ירידה ברמת Attestation: חסימה כאשר גרסה קודמת כללה SLSA attestation והגרסה החדשה כבר לא.
- סקריפטי התקנה חדשים: זיהוי הוספה טרייה של preinstall או postinstall, שיכולים להריץ פקודות ולגנוב סודות.
לפי GitHub, Agents ורצי CI נמצאים בסיכון מיוחד משום שהם מתקינים תלויות ללא אדם שמסתכל על כל שלב. חבילה זדונית יכולה לנצל אסימונים, מפתחות ענן, הרשאות מאגר או סודות בנייה לפני שמערכת סריקה מאוחרת יותר מספיקה להגיב.
מה השירות אינו פותר
Package Firewall אינו מחליף נעילת גרסאות, קובצי Lock, סריקת קוד, הפרדת סודות או חתימות Artifact. הוא גם אינו מגן על מנהלי חבילות אחרים בשלב הנוכחי. חבילה שאינה חסומה במדיניות עדיין יכולה להכיל התנהגות בעייתית שלא הופיעה במאגר הייעוץ.
הגנה טובה יותר נוצרת משילוב של חומת האש עם הרשאות מינימליות לרצי CI, אסימונים קצרי־חיים, סביבות בנייה חד־פעמיות והפרדת שלבי התקנה ופרסום.
צעדי אימוץ מומלצים
- להתחיל בקבוצת CI או Agent מוגבלת.
- להגדיר Cooldown שמתאים לקצב העדכונים, ולא לאשר אוטומטית כל חבילה חדשה.
- לבדוק את תהליך החריגות ואת זמני הטיפול לפני מעבר ארגוני מלא.
- למדוד אילו חבילות נחסמות ולמה, כדי לזהות תלות ספק מסוכנת או תהליך עדכון אגרסיבי מדי.
מקורות: GitHub Changelog — Package Firewall; GitHub Docs — Protecting endpoints with package firewall.
תמונה: Freek Wolsink / Pexels. רישיון Pexels מתיר שימוש חופשי באתר, בשיווק וברשתות חברתיות; הקרדיט נשמר לצורך שקיפות.


