Functies
Policy gates: stop kwetsbaarheden vóór productie
Een scanner meldt een kwetsbaarheid. Een policy gate stopt de build die haar bevat. CRACI-gates beslissen op basis van het record van wat elke build daadwerkelijk heeft binnengehaald, zodat een kwetsbaar pakket productie niet bereikt alleen omdat niemand de melding op tijd heeft gelezen.
Bijgewerkt op
Waarom meldingen niet genoeg zijn
De meeste securitytools rapporteren achteraf. Een bevinding komt in een dashboard terecht, iemand beoordeelt haar, een ticket gaat naar het verantwoordelijke team, en intussen gaat de release gewoon verder. Is de bevinding gemist of heeft de scan het pakket nooit gezien, dan zit de kwetsbaarheid in productie voordat iemand iets heeft besloten.
Policy gates kunnen een build ook in realtime stoppen, voordat de release verdergaat.
Wat een gate kan stoppen
| Regel | Wat er gebeurt |
|---|---|
| Bevindingen in de build | Een build met bevindingen die uw beleid uitsluit, wordt geblokkeerd. |
| Een specifieke CVE | Zodra uw team heeft besloten dat een CVE niet geleverd mag worden, worden builds die haar bevatten geblokkeerd. |
| Een bekende kwaadaardige release | Een kwaadaardige release met een gepubliceerde CVE, zoals xz, wordt gemarkeerd en kan op dezelfde manier worden geblokkeerd. |
| Een licentie | Regels voor licentiebeleid kunnen een build blokkeren die een licentie binnenhaalt die u hebt uitgesloten. |
Een gate is maar zo goed als wat hij ziet
Een gate op basis van een lockfile-scan kan alleen blokkeren wat de lockfile vermeldt. CRACI ziet het verkeer dat elke build binnenkomt, dus zijn gates werken op basis van wat de job echt heeft binnengehaald:
- Transitieve afhankelijkheden op elk niveau. Zie transitieve afhankelijkheden.
- Verborgen afhankelijkheden, zoals code die installatiescripts downloaden, Rust-buildscripts die tijdens de build downloaden, en de base image van een containerbuild.
- Pakketten die uit een CI-cache worden teruggezet, die worden vastgelegd en gemarkeerd als gecachet.
Elk component in een CRACI-SBOM zat in de build, dus een gate werkt nooit op basis van een pakket dat alleen is afgeleid. Lees meer over de achtergrond in build-time SBOM's.
Gates en egressbeleid hebben verschillende taken
| Risico | Wat het stopt |
|---|---|
| Een afhankelijkheid met een bekende CVE die u hebt uitgesloten | Policy gate |
| Een licentie die u hebt uitgesloten | Policy gate |
| Een verbinding met een host die de build niet nodig heeft | Egressbeleid, ingesteld op standaard weigeren |
| Een nieuw kwaadaardig pakket waarvoor nog geen advisory bestaat | Niet gemarkeerd totdat er een advisory is. Een egressbeleid dat op standaard weigeren staat, voorkomt nog steeds dat het uw secrets naar een host stuurt die de build niet nodig heeft. |
Als er een nieuwe CVE opduikt
- CRACI beoordeelt gemonitorde SBOM's opnieuw en markeert wat getroffen is.
- Uw securityteam beoordeelt de CVE en stuurt haar door naar het team dat verantwoordelijk is voor de fix.
- De buildgeschiedenis toont welke builds haar bevatten en dus hoelang u getroffen was.
- Het verantwoordelijke team levert de fix, en een policy gate houdt de CVE uit latere builds.
De fix blijft uw werk. De gate zorgt ervoor dat het opgelost blijft. Zie kwetsbaarheden volgen.
Wat gates niet doen
- Geen reachability-analyse. Een gate kijkt of een pakket in de build zit, niet of uw code de kwetsbare functie aanroept.
- Geen malwaredetectie. Advisories sturen de gate aan, dus een gloednieuw kwaadaardig pakket wordt er niet door tegengehouden.
- Geen codescanning. SAST en secrets scanning vallen bewust buiten de scope, en er zijn volop uitstekende tools die naast CRACI werken.
Policy gates: veelgestelde vragen
Wat is een policy gate?
Een regel die een build stopt wanneer die uw beleid schendt. In plaats van een probleem te melden dat iemand later oppakt, zorgt de gate ervoor dat de build niet verdergaat.
Wat is het verschil tussen een policy gate en een scannermelding?
Een melding is afhankelijk van iemand die er op tijd op reageert. Een gate handelt zelf. De gates van CRACI werken bovendien op basis van een record van wat de build heeft binnengehaald, zodat ze pakketten kunnen tegenhouden die een lockfile-scan nooit zou zien.
Kan ik één specifieke CVE blokkeren?
Ja. Een policy gate kan builds blokkeren die een specifieke CVE bevatten, zodat een kwetsbaarheid waarover uw team heeft besloten niet terugkomt in een latere build.
Kan een gate een licentie blokkeren?
Ja. Elk vastgelegd pakket heeft zijn gedeclareerde licentie, en regels voor licentiebeleid kunnen een build op een licentie blokkeren.
Stopt een gate nieuwe malware?
Niet op zichzelf. Een bekende kwaadaardige release met een gepubliceerde CVE wordt gemarkeerd zoals elke andere kwetsbaarheid, en een gate kan builds blokkeren die hem bevatten. Een nieuw kwaadaardig pakket wordt pas gemarkeerd als er een advisory is. Een egressbeleid dat op standaard weigeren staat, beperkt in die periode de schade.
Welke CI-systemen werken met policy gates?
GitHub Actions, op CRACI-runners. Andere CI-systemen staan op de roadmap.
Zie een gate een echte build stoppen
Boek een demo en zie hoe een policy gate een build blokkeert die een kwetsbaar pakket bevat.
Demo boeken