Säkerhet → Angreppsyta listar alla vägar in i varje projekts kod: HTTP- routes, webhooks, kökonsumenter och kommandoradskommandon. Red teamet hittar dem genom att läsa koden (se Blue team och red team). Du anger vem som kan nå varje ingång, och det avgör vad säkerhetsgranskningen läser först.
Så skapas kartan
CoRoid kartlägger varje anslutet projekt genom att läsa dess standardgren, utan en AI modell. Kartläggningen görs en gång i veckan och på begäran: Kartlägg nu på fliken eller Kartlägg angreppsytan i projektets meny Skanna nu under Översikt. Kartläggning är alltid aktiverad. Körningstiden räknas som agenttimmar, precis som annat arbete.
Samma genomläsning skapar ett utkast till projektets hotmodell. Tillitsgränser, känsliga data och anteckningar finns kvar där; ingångspunkterna finns här.
Exponering
Varje ingångspunkt har en exponering: vem som kan nå den.
| Exponering | Innebörd |
|---|---|
| Internet | Alla kan nå den |
| Inloggade användare | Utifrån, efter inloggning |
| Intern | Bara dina andra tjänster |
| Endast administratörer | Bara administratörer |
| Inte driftsatt | Finns i koden, men körs inte |
| Inte angivet | Ingen har angett något ännu. Behandlas som internetexponerad |
Tabellen visar också varje ingångspunkts inloggningskontroll så som den framgår av koden (inloggning, API-nyckel, tjänstetoken, webhooksignatur eller ingen hittad), dess resultat och när granskningen senast läste den. Med filtren kan du till exempel hitta ingångspunkter som skriver utan inloggning eller sådana som tillkommit den här veckan.
Ägare och administratörer anger exponering för en ingångspunkt i taget eller för flera samtidigt.
Förslag från driftsättningskonfigurationen
Om ett projekts repository innehåller driftsättningskonfiguration (Kubernetes Ingress, Gateway-routes för API eller Helm-värden i vanliga format) läser CoRoid vilka värdar som dirigeras till vilka tjänster. Utifrån det föreslår den en exponering för varje ingångspunkt som ännu inte har angetts: Internet för en dirigerad tjänst som inte kräver inloggning (eller bara en API-nyckel eller webhooksignatur), Inloggade användare för en tjänst som kräver inloggning och Intern för en tjänst som ingen route når. Filerna läses som text; ingenting renderas eller körs. En ägare eller administratör tillämpar eller avvisar ett förslag och kan ångra det som tillämpats. Ett förslag ändrar aldrig en exponering som en person har angett, och ett avvisat förslag visas inte igen.
Värdar visar var projektet körs enligt konfigurationen och vilken fil varje route hittades i.
Styr granskningen
Granskningen läser först ingångspunkter som är internetexponerade eller inte har angetts. Du kan styra den ytterligare för varje ingångspunkt:
- Granska först: läs före allt annat;
- Normal;
- Utanför omfattningen: läses inte, med en anledning som du anger.
Ändringar i angreppsytan visar vilka ingångspunkter varje kartläggning lagt till eller tagit bort. Beslut om en ingångspunkt som har tagits bort ur koden sparas, ifall den kommer tillbaka.
Skydd för nya ingångspunkter
Blue teamets skydd kontrollerar varje pull request efter ingångspunkter som lagts till utan inloggningskontroll. Hantera varje sådan på fliken: ange vem som kan nå den eller markera den som utanför omfattningen med en anledning.
Inställningen finns under Nya ingångspunkter i Säkerhet → Inställningar, för organisationen eller för varje projekt:
| Läge | En pull request som lägger till en ingångspunkt som inte har hanterats |
|---|---|
| Av | Kontrolleras inte |
| Rapportera | Rapporteras; kontrollen CoRoid Security förblir neutral |
| Blockera | Underkänns vid kontrollen CoRoid Security tills varje ingångspunkt har hanterats |
Blockera blir tillgängligt när CoRoid har aktiverat det efter sin beredskapskontroll; fram till dess står det i inställningen Blockera, inte tillgängligt här, och skyddet rapporterar.
Regler:
- En pull request lägger till en ingångspunkt utan inloggningskontroll;
- Behandla ”Inte angivet” som internetexponerat;
- Föreslå exponering från driftsättningskonfigurationen.
Pull requests på fliken listar varje kontrollerad pull request: godkänd, rapporterad, blockerad tills den har hanterats eller inte kontrollerad. En pull request som är för stor för att kontrolleras inom tidsgränsen får statusen inte kontrollerad: för stor, aldrig godkänd. En ändrad fil som skanningen inte kunde läsa är neutral i läget Rapportera och underkänns i läget Blockera. Ägare och administratörer kan köra kontrollen för en pull request igen därifrån (Kontrollera igen), till exempel efter att ha hanterat dess ingångspunkter, i stället för att köra den igen i GitHub.