Funktioner
Policygrindar: stoppa sårbarheter före produktion
En skanner berättar om en sårbarhet. En policygrind stoppar bygget som innehåller den. CRACI:s grindar beslutar utifrån registreringen av vad varje bygge faktiskt hämtade, så ett sårbart paket når inte produktion bara för att ingen läste larmet i tid.
Uppdaterad
Därför räcker det inte med larm
De flesta säkerhetsverktyg rapporterar i efterhand. Ett fynd hamnar i en dashboard, någon triagerar det, ett ärende går till det ansvariga teamet, och under tiden rullar releasen vidare. Om fyndet missades eller skanningen aldrig såg paketet finns sårbarheten i produktion innan någon har beslutat något.
Policygrindar kan också stoppa ett bygge i realtid, innan releasen går vidare.
Vad en grind kan stoppa
| Regel | Vad som händer |
|---|---|
| Fynd i bygget | Ett bygge med fynd som din policy utesluter blockeras. |
| En specifik CVE | När ditt team har beslutat att en CVE inte får levereras blockeras byggen som innehåller den. |
| En känd skadlig release | En skadlig release med en publicerad CVE, till exempel xz, flaggas och kan blockeras på samma sätt. |
| En licens | Licenspolicyregler kan blockera ett bygge som drar in en licens du har uteslutit. |
En grind är bara så bra som det den ser
En grind som bygger på en lockfile-skanning kan bara blockera det som lockfilen listar. CRACI ser trafiken som kommer in i varje bygge, så dess grindar utgår från vad jobbet verkligen hämtade:
- Transitiva beroenden i alla led. Se transitiva beroenden.
- Dolda beroenden, till exempel kod som laddas ner av installationsskript, byggskript i Rust som laddar ner under bygget och basavbilden i ett containerbygge.
- Paket som återställs från en CI-cache, som registreras och markeras som cachade.
Varje komponent i en SBOM från CRACI fanns i bygget, så en grind utgår aldrig från ett paket som bara har antagits finnas där. För resonemanget, se SBOM:er från bygget.
Grindar och egress-policy gör olika jobb
| Risk | Vad som stoppar den |
|---|---|
| Ett beroende med en känd CVE som du har uteslutit | Policygrind |
| En licens som du har uteslutit | Policygrind |
| En anslutning till en värd som bygget inte behöver | Egress-policy som nekar som standard |
| Ett nytt skadligt paket utan säkerhetsmeddelande än | Flaggas inte förrän det finns ett säkerhetsmeddelande. En egress-policy som är inställd på att neka som standard hindrar ändå paketet från att skicka dina hemligheter till en värd som bygget inte behöver. |
När en ny CVE dyker upp
- CRACI omvärderar bevakade SBOM:er och flaggar det som påverkas.
- Ditt säkerhetsteam triagerar den och skickar den till teamet som äger åtgärden.
- Bygghistoriken visar vilka byggen som innehöll den, och därmed hur länge du var drabbad.
- Det ansvariga teamet levererar åtgärden, och en policygrind håller CVE:n borta från senare byggen.
Åtgärden är fortfarande din. Grinden ser till att den håller. Se sårbarhetsuppföljning.
Vad grindar inte gör
- Ingen nåbarhetsanalys. En grind utgår från om ett paket finns i bygget, inte från om din kod anropar den sårbara funktionen.
- Ingen detektering av skadlig kod. Grinden styrs av säkerhetsmeddelanden, så ett helt nytt skadligt paket fångas inte av den.
- Ingen kodskanning. SAST och skanning efter hemligheter ligger avsiktligt utanför omfattningen, och gott om utmärkta verktyg fungerar tillsammans med CRACI.
Policygrindar: vanliga frågor
Vad är en policygrind?
En regel som stoppar ett bygge när det bryter mot din policy. I stället för att rapportera ett problem som någon får ta tag i senare hindrar grinden bygget från att gå vidare.
Hur skiljer sig en policygrind från ett larm från en skanner?
Ett larm är beroende av att någon agerar på det i tid. En grind agerar av sig själv. CRACI:s grindar utgår dessutom från en registrering av vad bygget hämtade, så de kan fånga paket som en lockfile-skanning aldrig skulle se.
Kan jag blockera en specifik CVE?
Ja. En policygrind kan blockera byggen som innehåller en specifik CVE, så att en sårbarhet som ditt team har tagit ställning till inte kommer tillbaka i ett senare bygge.
Kan en grind blockera en licens?
Ja. Varje registrerat paket har med sin deklarerade licens, och licenspolicyregler kan blockera ett bygge på grund av en licens.
Stoppar en grind ny skadlig kod?
Inte på egen hand. En känd skadlig release med en publicerad CVE flaggas som vilken annan sårbarhet som helst, och en grind kan blockera byggen som innehåller den. Ett nytt skadligt paket flaggas inte förrän det finns ett säkerhetsmeddelande. Det är en egress-policy inställd på att neka som standard som begränsar skadan under den tiden.
Vilka CI-system fungerar med policygrindar?
GitHub Actions, på CRACI-runners. Andra CI-system finns på roadmapen.
Se en grind stoppa ett riktigt bygge
Boka en demo och se en policygrind blockera ett bygge som innehåller ett sårbart paket.
Boka en demo