תיעוד

הגנות ואכיפה

כיצד כל הגנה של אבטחה מופעלת, מה משמעות המונחים ‘לצפות’ ו‘לאכוף’, ומדוע האכיפה מתעכבת עד שנפתח שער הכשירות.

ב-Arabic → הגדרות יש את הברירה המקוצעת של הארגון וכל פרויקט נשען עליה. כל פרויקט עוקב אחר הברירה המקוצעת עד שמישהו מגדיר עבורו הגדרות משלו; להשתמש בברירה המקוצעת מחזיר את ההגדרות לברירה המקוצעת. בעלי זכויות ומנהלי מערכת משנים את ההגדרות; חברים רואים אותן כניתנות לקריאה בלבד.

לצפות ולאכוף

לכל הגנה יש שני מצבים נפרדים:

  • לצפות: לזהות, לרשום ולהציג. ממצאים מופיעים בתחום אבטחה, ו Coroid Security הבדיקה בקשות משיכה מדווחת עליהם מבלי לגרום לכישלון.
  • לאכוף: לגרום לכישלון בבדיקה. שינוי שמכיל ממצא ברמת חומרה שהוגדרה או גבוהה יותר גורם לכישלון בבדיקה, ומשימות של Coroid אינן פותחות קשת משיכה מעבר לנקודה זו.

לאכיפה יש שלוש אפשרויות לפי תחום:

אפשרותמשמעות
לרשת (הברירה המקוצעת)לאכוף לאחר ששער הכשירות של הפלטפורמה של ההגנה נפתח.
לאכוףאותו דבר, נבחר במפורש עבור תחום זה.
לצפות בלבדלעולם לא לגרום לכישלון בבדיקה, ללא קשר לפעולת הפלטפורמה.

כל הגנה מתחילה במצב לצפות. Coroid מפעיל אכיפה עבור כל הגנה רק לאחר שהיא עוברת את שער הכשירות שלה: עבור תלויות, בדיקות כיסוי והתקופה של צפייה ללא חסימות שגויות; עבור חוקי סודות וקוד, הכיול המתואר להלן ואותה תקופת צפייה. עד אז, הגנה שנקבעה כלרשת או לאכוף תצפה, וההגדרה תציין זאת. לאחר פתיחת השער, כל מי שבחר בלרשת יקבל אכיפה; מי שבחר בלצפות בלבד ימשיך לצפות.

לאכוף אינו זהה ל-“GitHub מונע מיזוג”. GitHub חוסם מיזוג רק כאשר המאגר דורש את Coroid Security הבדיקה. ראו הרשאות GitHub ובדיקת האבטחה של Coroid.

חוקים מכוילים

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

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

ההגדרות

הגנההפעלהשינוי
תלויות פגיעותלצפותאכיפה; “לאכוף ברמת חומרה זו או גבוהה יותר” (ברירה מקוצעת: גבוהה)
תיקון תלויות פגיעותמופעל או מושבת“לפתוח משימות תיקון ברמת חומרה זו או גבוהה יותר” (ברירה מקוצעת: גבוהה); הגבלת pull request לפתיחת תיקונים לפי פרויקט (ברירה מקוצעת: 5, עד 50); תקציב שעות הסוכן, על פי הברירה המקוצעת של הארגון
סודות שנחשפולצפותאכיפה. רק על פי הברירה המקוצעת של הארגון: לחסום סודות חדשים, ואת השינוי הגדול ביותר שנסרק
סריקת קודלצפותאכיפה; פקודת הסריקה שלך; רשימת החוקים
סקירת אבטחה בקשות משיכהלצפותאכיפה; “לאכוף ברמת חומרה זו או גבוהה יותר” (ברירה מקוצעת: גבוהה)
התרעות אבטחה של GitHubלצפותאין
ביקורת אבטחהמופעל או מושבתתדירות: יומית, שבועית (ברירה מקוצעת) או חודשית

חלק מההגנות תלויות בגורם אחר:

  • סקירת אבטחה בקשות משיכה זקוקה ל-Coroid סקירה פעילה עבור הפרויקט ב-בקרת איכות. כאשר Coroid סקירה כבויה, השורה תציין זאת וההגנה לא תפעל.
  • תיקון תלויות פגיעות על פי הברירה המקוצעת של הארגון גם מפעילה או מכבה את החובה המובנית לתיקוני אבטחה. ראו תיקון קשות משיכה.
  • ביקורת אבטחה פועלת לפי התוכנית שלך אלא אם תשנה זאת: פעילה בתוכניות בתשלום, כבויה בתוכנית חינמית. ראו ביקורת אבטחה.

אבטחה פועלת לפי מה שבקרת איכות קובעת

אמצעי ההגנה של אבטחה אינם תלויים בבקרות של בקרת איכות. כיבוי תכונת anti-slop בבקרת איכות מבטל את חוקי האיכות שלה, ולא את חוקי הקוד של אבטחה. בבקשות משיכה, Coroid Security מפרסם את הבדיקה שלו באופן עצמאי, בין אם לפרויקט יש גרף משלוח מתועד ובין אם לאו.

תצורת הסורקים מגיעה מ-Coroid

הסורקים פועלים עם תצורה ש-Coroid בונה מכללי ההגדרות הללו ומהחריגים המתקבלים באבטחה, ולא מקבצים בשינוי הנבדק. שינוי שמוסיף או מעדכן תצורת סורק (osv-scanner.toml, .gitleaks.toml, .gitleaksignore, .github/secret_scanning.yml, .secrets.baseline ודומיו) נבדקים לפי תצורת ההתחייבות הבסיסית ומקבלים security.policy-changed ממצא. קובץ במאגר יכול להציע חריג; הוא יחול רק לאחר שבעל זכויות או מנהל יאשר אותו באבטחה. אותו כלל חל גם על משימות התיקון של Coroid: הסוכן אינו יכול לגרום לבדיקה שלו לעבור על ידי שינוי מה שנמצא ברשימת ההחרגות.

ההגדרות נעות יחד עם הארגון.

ההגדרות של security הן חלק מאריזת ההגדרות של הארגון, יחד עם שאר מדיניות האיכות, וכך גם מודל האיומים העדכני ביותר של כל פרויקט. חריגים, ממצאים וראיות הם תוצאות ולא הגדרות, ולכן אינם נעים יחד. ראה ניתוב הגדרות.