תכונת האבטחה פועלת דרך אפליקציית GitHub של Coroid. דף זה מפרט את מה שהאפליקציה זקוקה לו
לצורך תכונת האבטחה, מה ה Coroid Security מדווח עליו, כיצד לגרום ל־GitHub
לדרוש אותו, וכיצד התרעות האבטחה של GitHub עצמו מופיעות בתכונת האבטחה.
הרשאות
תכונת האבטחה משתמשת בהרשאות שכבר קיימות לאפליקציה עבור מאגרי הנתונים שלך: קריאת קוד ובקשות משיכה, וכתיבת בדיקות. אלו אופציונליות, ו כל אחת מוסיפה יכולת אחת:
| הרשאה | מה שהיא מוסיפה | בלעדיה |
|---|---|---|
| תורי מיזוג: קריאה בלבד, עם אירוע קבוצת המיזוג | Coroid Security על קבצי התור של המיזוג | תורי המיזוג לא מקבלים תוצאה של Coroid Security תוצאה |
| התרעות Dependabot: קריאה בלבד, עם האירוע שלהן | מייבאת התרעות Dependabot | לא מיובאות |
| התרעות סריקת קוד: קריאה בלבד, עם האירוע שלהן | מייבאת התרעות סריקת הקוד של GitHub | לא מיובאות |
| התרעות סריקת סיסמאות: קריאה בלבד, עם האירוע שלהן | מייבאת התרעות סריקת הסיסמאות של GitHub, ללא ערכי הסיסמאות | לא מיובאות |
כאשר האפליקציה מבקשת הרשאה חדשה, GitHub מבקשת מבעל הארגון שלך לאשר אותה עבור ההתקנה שלך. עד אז, בחלק תצוגה כללית של תכונת האבטחה מופיע אילו מאגרי נתונים חסרים אותה, עם קישור להתקנה ב־GitHub.
Coroid גם קורא האם כל מאגר נתונים הוא ציבורי או פרטי, מאירועי GitHub ובאמצעות שאילת GitHub, כדי לקבוע מה מותר לפרסם שם. ראה גילוי.
בדיקת האבטחה של Coroid
Coroid Security היא בדיקה אחת, בעלת שם אחד, בין אם היא פועלת באופן עצמאי או כחלק
מגרף האספקה של הפרויקט בבקרת האיכות, כך שניתן לדרוש אותה פעם אחת למאגר נתונים. היא מדווחת על ההגנות שבודקות כל שינוי:
תלותיות פגיעות והדלפות סיסמאות. הגרועה מבין השתיים קובעת את התוצאה. סריקת הקוד מדווחת דרך הבדיקות של בקרת האיכות, וסקירת האבטחה
דרך בדיקת הסקירה של Coroid.
היא פועלת על מאגרי הנתונים של GitHub המחוברים דרך האפליקציה:
- כאשר בקשת משיכה ב־pull request נפתחת, נפתחת מחדש, מתעדכנת או מסומנת כמוכנה לסקירה;
- על כל קובץ תור מיזוג, עם הרשאת תורי המיזוג;
- כאשר מישהו מפעיל אותה מחדש ב־GitHub.
היא מופיעה כבתהליך מיד כשהאירוע מגיע. הקישור לפרטיה פותח את הפרויקט בתכונת האבטחה.
מה שהיא מדווחת עליו
| מצב | מחויב | לצפייה בלבד |
|---|---|---|
| כיסוי מלא של השינוי, ללא דבר ברמת הסף או מעליה | הצלחה | הצלחה |
| ממצא ברמת הסף או מעליה | כישלון | ניטרלי, עם ציון שם |
| הסריקה נכשלה או לא יכלה להתבצע, קובץ שהשינוי נוגע בו מכוסה רק באופן חלקי, או שהתצורה לא ניתנה לקריאה | כישלון, עם הסבר מדוע וכיצד להפעיל מחדש | ניטרלי, עם הסבר מדוע |
| אין תוצאה תוך 10 דקות | כישלון, "פקע זמן" | ניטרלי |
| כל ההגנות כבויות עבור הפרויקט | ניטרלי | ניטרלי |
היא לעולם לא "מדולגת": GitHub מחשיב בדיקה מחויבת שנדחתה כמוצלחת, כך שהגנה מחויבת שלא רצה תיתפס כמוצלחת. בדיקה מחויבת תמיד מקבלת אחת מהתוצאות שלעיל, כך שתור המיזוג לעולם לא יחכה לנצח.
הבדיקה סופרת רק את מה שהשינוי מציג, לא את הממצאים שכבר קיימים בענף הבסיסי. הטקסט שלה לעולם אינו מציין ממצא שאינו ציבורי; הוא מציין כמה נמצאו, ברמת הסף, ושהפרטים נמצאים ב־Coroid.
לדרוש את בדיקת האבטחה של Coroid
הטלת הגנה מחייבת גורמת לכישלון בבדיקה. GitHub חוסמת את המיזוג רק אם המאגר דורש את הבדיקה:
- הגנת ענפים: בהגדרות של המאגר → ענפים, ערוך את הכלל
עבור הענף הראשי שלך, הפעל לדרוש מבדיקות סטטוס לעבור
לפני מיזוג, והוסף
Coroid Security. - כללי: בהגדרות → כללים → כללים, הוסף לדרוש מבדיקות סטטוס לעבור לכלל עבור הענף הראשי שלך, הוסף
Coroid Security, ובחר באפליקציית GitHub של Coroid כמקור שלה. - תורי מיזוג: דרושה הבדיקה באותו כלל. האפליקציה זקוקה להרשאת תורי המיזוג כדי שהבדיקה תפעל על קבצי תור המיזוג.
הפעילו אותו כאשר ההגנות שברצונכם לאכוף נמצאות בתוקף. בדיקה נדרשת שרק מתבוננת עדיין תעבור.
התראות אבטחה של GitHub
עם התראות אבטחה של GitHub בהגדרות → אבטחה ועם ההרשאות הנ״ל, מערכת האבטחה מייבאת התראות של Dependabot, סריקת קוד וסריקת סיסמאות כתצפיות על אותן תוצאות שמפיקות סריקות של Coroid עצמו. התראות חדשות מגיעות כאשר GitHub שולח אותן, ו־Coroid קורא שוב את ההתראות של כל מאגר פעם ביום.
- יובאו, לא אושרו. התראה שסריקות של Coroid עצמו לא אישרו מוצגת כ‑"יובאה מ־GitHub, עדיין לא אושרה". היא מופיעה ברשימה ונספרת, ואינה שולחת התראה או חוסמת עד שסריקת Coroid תאשר אותה.
- מקורות חלוקים בדעתם. כאשר GitHub ו־Coroid מדווחים על תוצאה שונה, התוצאה מציינת זאת ומציגה את מצב כל מקור: קיים, נעלם, נדחה, או לא ניתן לקריאה.
- כל מקור סוגר את התוצאה בדרך שלו. התראת Dependabot נסגרת ב־GitHub כאשר הענף המוגדר כברירת מחדל אינו מכיל יותר את הגרסה הפגיעה. התראת סריקת קוד נסגרת כאשר הניתוח של הענף המוגדר כברירת מחדל מפסיק לדווח עליה. התראת סריקת סיסמאות נשארת פתוחה עד שמישהו יפתור אותה ב־GitHub, כך שמיזוג תיקון אינו סוגר אותה.
- הרשאה אבדה. אם האפליקציה מאבדת הרשאה או ש־GitHub מכבה תכונה מסוימת, תוצאות שרק אותו מקור דיווח עליהן יציגו את הסטטוס "לא ידוע מאז" מאותו רגע, ואף תוצאה לא תיסגר.
התצוגה הכוללת מציגה, לפי מאגר ומקור, האם ההתראות נקראו, האם ההרשאה חסרה, האם התכונה כבויה ב־GitHub, או שהמאגר לא ניתן להגעה אליו.