Vuonna 2026 raportoitiin päivässä 131% enemmän CVE:itä kuin edellisenä vuonna.

Toimitusketju

CI/CD-tietoturva

CI/CD-tietoturva tarkoittaa niiden putkien suojaamista, jotka rakentavat, testaavat ja toimittavat ohjelmistosi. Putki ajaa koodia monista lähteistä, sisältää tuotannon salaisuuksia ja tuottaa sen, minkä asiakkaasi asentavat. Siksi se on yksi yrityksesi arvokkaimmista kohteista ja usein yksi vähiten valvotuista.

Päivitetty

Miksi putket ovat kohde

  • Niillä on avaimet. Pilvipalveluiden tunnukset, rekisterien tokenit ja allekirjoitusavaimet kulkevat kaikki CI:n kautta.
  • Ne ajavat muiden koodia. Jokainen riippuvuus, asennusskripti ja kolmannen osapuolen action suoritetaan runnerilla.
  • Ne ulottuvat tuotantoon. Kaikkeen, mitä putkesta tulee ulos, luotetaan, se allekirjoitetaan ja toimitetaan. Buildiin päässyt hyökkääjä tavoittaa kaikki asiakkaat kerralla.
  • Harva valvoo niitä. Työnkulkutiedostot muuttuvat harvoin ja saavat vähemmän katselmointia kuin sovelluskoodi.

Sekä tj-actionsin kaappaus että Shai-Hulud-npm-mato kohdistuivat CI:n salaisuuksiin. Katso mikä on toimitusketjuhyökkäys, niin näet, miten nämä hyökkäykset etenevät.

CI/CD-tietoturvan suurimmat riskit

OWASP Top 10 CI/CD Security Risks on vakiintunut viitelista. Ryhmiteltynä sen mukaan, mikä menee pieleen:

Alue OWASP-riskit Miltä se näyttää
Kuka voi muuttaa mitä Riittämätön muutosvirran hallinta, puutteellinen identiteetin- ja käyttöoikeuksien hallinta Koodi päätyy tuotantoon ilman katselmointia, tai vanhat tilit säilyttävät käyttöoikeutensa
Mitä putkessa ajetaan Riippuvuusketjun väärinkäyttö, myrkytetyn putken suoritus (poisoned pipeline execution) Haitallinen paketti tai muutettu työnkulku ajetaan jobin käyttöoikeuksilla
Mihin jobi ylettyy Riittämättömät putkikohtaiset käyttöoikeudet, puutteellinen tunnusten hygienia Yksi jobi voi lukea jokaisen salaisuuden, ja tokenit ovat voimassa vuosia
Miten se on määritetty Turvaton järjestelmäkonfiguraatio, hallitsematon kolmansien osapuolten palveluiden käyttö Paikkaamattomat runnerit ja integraatiot, joilla on enemmän oikeuksia kuin ne tarvitsevat
Mitä pystyt todistamaan Puutteellinen artefaktien eheyden tarkistus, riittämätön lokitus ja näkyvyys Kukaan ei osaa sanoa, mitä julkaisuun meni tai mihin jobi otti yhteyttä

Jokaisen riskin vastaavuudet runnerien kontrolleihin näet sivulta runnerien tietoturva vertailussa.

CI/CD-tietoturvan parhaat käytännöt

  1. Kohtele putkien määrityksiä tuotantokoodina. Vaadi katselmointi työnkulkutiedostoille ja pidä epäluotettavat pull requestit erossa salaisuuksista.
  2. Rajoita, mitä kukin jobi voi tehdä. Anna tokeneille vain tarvittavat vähimmäisoikeudet ja suosi lyhytikäisiä tunnuksia tallennettujen salaisuuksien sijaan.
  3. Kiinnitä kolmansien osapuolten actionit commit-tiivisteeseen. Tagit voi siirtää osoittamaan muuhun koodiin.
  4. Eristä jobit. Aja jokainen jobi puhtaassa ympäristössä, jotta mitään ei siirry seuraavaan.
  5. Hallitse lähtevää liikennettä. Buildi tarvitsee tunnetut lähteet ja tunnetut kohteet. Kaiken muun estäminen pysäyttää varastettujen salaisuuksien vuotamisen. Katso GitHub Actionsin egress-käytäntö.
  6. Tallenna, mitä tapahtui. Säilytä jokaisesta buildista SBOM ja loki sen verkkoliikenteestä, jotta voit vastata kysymyksiin jälkikäteen.

Vaihe vaiheelta etenevän version löydät CI/CD-putken tietoturvan tarkistuslistasta.

CI/CD-tietoturvatyökalujen tyypit

Tyyppi Mitä se tekee Esimerkkejä
Runnerien tietoturva Eristää jobit ja hallitsee, mihin ne ylettyvät ajon aikana CRACI, StepSecurity
Tietoturva-asetusten hallinta Löytää riskialttiit putkien ja repositorioiden asetukset Legit Security, Cycode, Apiiro, OX Security
Koodin ja riippuvuuksien skannaus Tarkistaa koodin, riippuvuudet ja salaisuudet jokaisen muutoksen yhteydessä GitHub Advanced Security, Snyk, Semgrep
SBOM ja näyttö Tallentaa, mitä kuhunkin julkaisuun meni CRACI, Syft, Anchore

Nämä toimivat eri vaiheissa, joten useimmat tiimit yhdistävät niitä. Skanneri tarkastelee tiedostoja ennen buildia, asetusten hallinnan työkalut tarkastelevat asetuksia, ja runnerien tietoturva toimii jobin ajon aikana, jolloin haitallinen paketti toimii. Katso ohjelmistotoimitusketjun tietoturvatyökalut vertailussa ja DevSecOps-työkalut vertailussa.

Mihin CRACI sopii

CRACI suojaa buildin sen ajon aikana. Se korvaa GitHubin ylläpitämät runnerisi nopeammilla ja edullisemmilla: jokainen jobi ajetaan omassa eristetyssä virtuaalikoneessaan, egress-käytäntö estää yhteydet, joita buildi ei tarvitse, ja jokainen paketti, jonka jobi hakee, päätyy SBOM:iin. Koska käytäntö sallii vain sen, mitä buildi tarvitsee, se suojaa sinua myös hyökkäykseltä, jota kukaan ei ole ennen nähnyt.

CRACI ei tarkista työnkulkujesi konfiguraatiota, skannaa lähdekoodia tai salaisuuksia eikä allekirjoita alkuperätietoja, joten pidä tai ota käyttöön työkalut niitä varten. GitHub Actions on tällä hetkellä tuettu CI-järjestelmä, ja muut CI-järjestelmät ovat tiekartalla.

CI/CD-tietoturva: usein kysytyt kysymykset

Mitä CI/CD-tietoturva on?

Se tarkoittaa niiden putkien suojaamista, jotka rakentavat, testaavat ja toimittavat ohjelmistoja, mukaan lukien niiden tunnukset, niiden ajama koodi ja niiden tuottamat artefaktit.

Mitkä ovat CI/CD-tietoturvan suurimmat riskit?

Haitalliset riippuvuudet ja kolmansien osapuolten actionit, myrkytetyt putket, liian laajoilla oikeuksilla varustetut tokenit ja pitkäikäiset salaisuudet sekä näkyvyyden puute siihen, mitä buildi teki. OWASP Top 10 CI/CD Security Risks on vakiintunut lista.

Mitä on poisoned pipeline execution?

Hyökkääjä muuttaa sitä, mitä putki ajaa, esimerkiksi muokkaamalla pull requestin kautta työnkulkutiedostoa tai sen kutsumaa skriptiä, jotta hänen koodinsa ajetaan putken käyttöoikeuksilla.

Miten CI/CD-putki suojataan?

Katselmoi putkien muutokset, anna kullekin jobille vain tarvittavat vähimmäisoikeudet, kiinnitä kolmansien osapuolten actionit commit-tiivisteeseen, eristä jobit, rajoita lähtevää liikennettä ja tallenna, mitä kukin buildi teki.

Mitä eroa on CI/CD-tietoturvalla ja DevSecOpsilla?

DevSecOps on laajempi käytäntö, jossa tietoturva rakennetaan osaksi ohjelmistokehitystä. CI/CD-tietoturva keskittyy itse putkeen, josta myös DevSecOps-työkalut ovat riippuvaisia.

Tarvitseeko GitHub Actions lisäsuojausta?

GitHub tarjoaa kontrolleja, kuten tokenien oikeudet ja salaisuuksien skannauksen, mutta ne on määritettävä itse, eivätkä hostatut runnerit rajoita lähtevää liikennettä oletuksena. Useimmat tiimit lisäävät kiinnityksen, katselmointisäännöt ja runnerien kontrollit.

Suojaa buildi sen ajon aikana

Siirrä GitHub Actions -työnkulku CRACI:lle ja saat eristetyt jobit, lähtevän liikenteen hallinnan ja SBOM:n jokaisesta buildista.

Varaa demo