Säkerhet fungerar via Coroids GitHub-app. På den här sidan beskrivs vilka behörigheter appen behöver
för Säkerhet, vad Coroid Security -kontrollen rapporterar, hur du gör GitHub
obligatoriskt och hur GitHubs egna säkerhetsaviseringar visas i Säkerhet.
Behörigheter
Säkerhet använder de behörigheter som appen redan har för dina repos: läsa kod och pull requests samt skriva kontroller. De här behörigheterna är valfria, och var och en tillför en funktion:
| Behörighet | Vad den tillför | Utan den |
|---|---|---|
| Merge queues: skrivskyddad åtkomst, med händelsen Merge group | Coroid Security för merge queue-commits | Merge queues får inget Coroid Security resultat |
| Dependabot-aviseringar: skrivskyddad åtkomst, med dess händelse | Importerar Dependabot-aviseringar | Importeras inte |
| Aviseringar om kodskanning: skrivskyddad åtkomst, med dess händelse | Importerar GitHubs aviseringar om kodskanning | Importeras inte |
| Aviseringar om hemlighetsskanning: skrivskyddad åtkomst, med dess händelse | Importerar GitHubs aviseringar om hemlighetsskanning, utan själva hemligheterna | Importeras inte |
När appen begär en ny behörighet ber GitHub organisationens ägare att godkänna den för installationen. Fram till dess visar Säkerhet → Översikt vilka repos som saknar behörigheten, med en länk till installationen på GitHub.
Coroid läser också av om varje repo är offentligt eller privat, från GitHubs händelser och genom att fråga GitHub, för att avgöra vad som får publiceras där. Se Offentliggörande.
Säkerhetskontrollen i Coroid
Coroid Security är en enda kontroll med ett enda namn, oavsett om den körs separat eller som
en del av projektets Delivery-diagram i Kvalitetskontroll, så att ett repo bara behöver
kräva den en gång. Den rapporterar resultatet av kontrollerna för varje ändring:
sårbara beroenden och läckta hemligheter. Det allvarligare av de två avgör resultatet.
Kodskanning rapporteras via Kvalitetskontrollens kontroller och säkerhetsgranskning
via kontrollen Coroid Review.
Den körs på GitHub-repos som är anslutna via appen:
- när en pull request öppnas, öppnas igen, uppdateras eller markeras som klar för granskning;
- vid varje merge queue-commit, med behörigheten Merge queues;
- när någon kör om kontrollen på GitHub.
Den visas som pågående så snart händelsen kommer in. Länken till informationen öppnar projektet i Säkerhet.
Vad den rapporterar
| Status | Tillämpad | Endast observation |
|---|---|---|
| Fullständig täckning av ändringen, inga fynd på eller över tröskelvärdet | Godkänd | Godkänd |
| Ett fynd på eller över tröskelvärdet | Underkänd | Neutral, med fyndets namn |
| Skanningen misslyckades eller kunde inte köras, en fil som ändringen berör är bara delvis täckt eller så gick det inte att läsa konfigurationen | Underkänd, med orsak och anvisningar för att köra om | Neutral, med orsak |
| Inget resultat inom 10 minuter | Underkänd, ”tidsgränsen överskreds” | Neutral |
| Alla skydd är avstängda för projektet | Neutral | Neutral |
Resultatet är aldrig ”hoppades över”: GitHub räknar en obligatorisk kontroll som hoppats över som godkänd, så ett tillämpat skydd som inte kördes skulle visas som godkänt. En obligatorisk kontroll får alltid ett av resultaten ovan, så en merge queue behöver aldrig vänta för evigt.
Kontrollen räknar bara det som ändringen tillför, inte fynd som redan finns på basgrenen. Resultatet nämner aldrig ett fynd som inte är offentligt. Det anger hur många fynd som hittades, vid vilket tröskelvärde och att informationen finns i Coroid.
Gör säkerhetskontrollen i Coroid obligatorisk
När ett skydd tillämpas underkänns kontrollen. GitHub blockerar bara sammanfogningen om repon kräver kontrollen:
- Grenregler: redigera regeln för standardgrenen i repons Inställningar → Branches,
aktivera Kräv att statuskontroller godkänns innan
sammanfogningoch lägg till
Coroid Security. - Regeluppsättningar: gå till Inställningar → Rules → Rulesets och lägg till Kräv att statuskontroller
är godkända i regeluppsättningen för standardgrenen, lägg till
Coroid Securityoch välj Coroids GitHub-app som källa. - Merge queues: kräv kontrollen i samma regel. Appen behöver behörigheten Merge queues för att kontrollen ska köras på merge queue-commits.
Gör kontrollen obligatorisk när de skydd du vill tillämpa är aktiverade. En obligatorisk kontroll som bara observerar godkänns fortfarande.
GitHubs säkerhetsaviseringar
Med GitHubs säkerhetsaviseringar aktiverat i Säkerhet → Inställningar och med behörigheterna ovan importerar Säkerhet aviseringar om Dependabot, kodskanning och hemlighetsskanning som observationer av samma fynd som Coroids egna skanningar upptäcker. Nya aviseringar kommer när GitHub skickar dem, och Coroid läser varje repos aviseringar på nytt en gång om dagen.
- Importerad, inte bekräftad. En avisering som Coroids egna skanningar inte har bekräftat visas som ”Importerad från GitHub, ännu inte bekräftad”. Den visas i listan och räknas med, men meddelar inte och blockerar inte förrän Coroids skanning bekräftar den.
- Källorna är oense. När GitHub och Coroid rapporterar ett fynd på olika sätt anges det vid fyndet, tillsammans med statusen från varje källa: finns kvar, borta, avfärdad eller kunde inte läsas.
- Varje källa stänger fynd på sitt eget sätt. En Dependabot-avisering åtgärdas på GitHub när standardgrenen inte längre innehåller den sårbara versionen. En avisering om kodskanning åtgärdas när analysen av standardgrenen inte längre rapporterar den. En avisering om hemlighetsskanning förblir öppen tills någon löser den på GitHub, så en sammanfogad korrigering stänger den inte.
- Behörigheten har gått förlorad. Om appen förlorar en behörighet eller GitHub stänger av en funktion visas fynd som bara rapporterats av den källan med statusen ”status okänd sedan” den tidpunkten, och inget stängs.
Översikt visar för varje repo och källa om aviseringarna har lästs, om behörighet saknas, om funktionen är avstängd på GitHub eller om repon inte kunde nås.