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

Ohjelmistotoimitusketjun tietoturva, tallennettuna jokaisesta buildista

Ohjelmistotoimitusketjusi kohtaa tuotteesi CI-buildissa. CRACI ajaa GitHub Actions -jobisi turvallisilla runnereilla ja tallentaa jokaisen riippuvuuden, jonka ne hakevat, hallitsee, mihin kukin buildi voi yhdistää, ja seuraa jatkuvasti toimittamiesi ohjelmistojen haavoittuvuuksia.

Turvalliset runnerit GitHub Actionsille

Vaihda runs-on-arvoksi craci, niin GitHub Actions -jobisi ajetaan CRACI:n runnereilla, ja ajot näkyvät edelleen GitHubissa. Jokainen jobi saa oman eristetyn virtuaalikoneen Linux x86-64- tai ARM64-alustalla Euroopassa. Buildit valmistuvat noin kaksi kertaa nopeammin kuin GitHubin ylläpitämillä runnereilla nopeamman laitteiston, lyhyempien jonotusaikojen ja välimuistin ansiosta.

GitHub Actions jobs on CRACI runners A GitHub Actions workflow sets runs-on to craci. Each job runs in its own isolated virtual machine on a CRACI runner, on Linux x86-64 or ARM64, hosted in Europe, and the run still appears in GitHub. .github/workflows/release.yml jobs: build: runs-on: craci was: ubuntu-latest CRACI runners Hosted in Europe Job VM build Linux x86-64 Job VM test Linux ARM64 Job VM publish Linux x86-64 One isolated virtual machine per job, 1 to 32 vCPU Runs still appear in GitHub About 2x GitHub-hosted speed

SBOM tallennetaan jokaisesta buildista

CRACI on tallentaja, ei skanneri. Paketit tunnistava välityspalvelin runnerissa näkee jokaisen paketin, jonka jobi hakee npm-, PyPI-, RubyGems-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteistä sekä Yocton ja OpenEmbeddedin latausesiasetuksista, myös CI-välimuisteista palautetut paketit. Jokaisen jobin SBOM:lla on kattavuustila, ja sen voi viedä CycloneDX- tai SPDX-muodossa transitiivisine riippuvuuksineen ja kunkin komponentin ilmoitettuine lisensseineen.

An SBOM recorded during the build Packages from npm, PyPI, Cargo, Go, OCI registries and the CI cache pass through a package-aware proxy on the CRACI runner. The job's SBOM lists what was fetched, states its completeness and exports as CycloneDX or SPDX. Package sources npm PyPI Cargo · Go OCI registries CI cache restore Package- aware proxy on the runner Job SBOM express 5.2.1 requests 2.32.3 serde 1.0.219 + transitive deps Declared license on every component Complete Completeness states per job and cache: Complete, Complete with connections, Incomplete, Unavailable, Not recorded CycloneDX · SPDX

Hallitse, mihin buildi voi yhdistää

Egress-käytäntö määrää, mihin palvelimiin jobi saa yhdistää: oletuksena estävä tai oletuksena salliva, 24 valmista ohjelmistolähteiden esiasetusta, tyypitetyt omat lähteet pakettirekistereille ja Gitille sekä eksplisiittiset verkkosäännöt. Käytäntö validoidaan ennen jobin alkua, virhetilanteessa liikenne estetään (fail closed), ja rikkeistä lähtee hälytys. Kaapattu riippuvuus tai build-vaihe ei voi huomaamatta lähettää tietoja palvelimeen, jota et ole koskaan hyväksynyt.

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

Alkuperätiedot siitä, mitä toimitat

Julkinen REST-API palauttaa kunkin jobin SBOM:t, verkkojäljet ja alkuperätiedot, jotka kaikki on tallennettu samasta buildista. Näyttö syntyy itse buildista ilman lisävaihetta työnkulussa.

Provenance data from every build Every job on CRACI records the packages it fetched and its network trace. The public REST API returns the job's SBOMs, network trace and provenance. Build release job on CRACI Recorded packages fetched network trace Provenance build data, via the API Ask the API about any job Job → SBOM, trace, provenance Returned by the API Job Packages CycloneDX SBOM Network trace Recorded on every CRACI job, no extra step

Haavoittuvuuksien seuranta julkaisun jälkeen

CRACI arvioi toimittamiesi ohjelmistojen SBOM:it jatkuvasti uudelleen uusien haavoittuvuuksien julkaisun myötä ja kokoaa löydökset kaikista buildeista ja repositorioista. Tietoturvatiimit luokittelevat ne ja ohjaavat kunkin korjauksesta vastaavalle tiimille. Käytäntöportit voivat estää buildin löydösten tai lisenssin perusteella, VEX:iä tuetaan, toimittajien SBOM:eja valvotaan omien buildiesi rinnalla, ja inventaarionäkymä näyttää, mitkä ohjelmistoversiot ovat käytössä missäkin tuotteessa.

Vulnerability tracking after release After a release ships, its SBOM stays monitored. When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs, finds the affected releases, and the security team triages the finding and routes it to the team that owns the fix. The inventory view shows which software versions are deployed to which products. Release shipped SBOM monitored Later New advisory published Re-evaluated automatically Finding: critical, in 2 releases 1. Triage 2. Route to owner 3. Team fixes Policy gates can block a build on findings · VEX supported Inventory: deployed versions Product Version Web app v4.12.0 Mobile API v2.3.1

Näyttö asiakkaille ja auditoijille

Asiakkaat, auditoijat ja sääntely edellyttävät yhä useammin SBOM:ia jokaisesta julkaisusta ja tallennetta siitä, miten haavoittuvuudet käsiteltiin. CRACI vie SBOM:t CycloneDX- tai SPDX-muodossa komponenteista löydettyine haavoittuvuuksineen, ja julkinen REST-API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot. Sama näyttö tukee EU:n kyberkestävyyssäädöstä (Cyber Resilience Act), NIS2-direktiiviä, FDA:n SBOM-vaatimuksia ja ISO 27001:n toimitusketjun hallintakeinoja.

Evidence from the build record SBOMs export as CycloneDX or SPDX, including the vulnerabilities found in their components, and the public REST API returns SBOMs, network traces and provenance, for customers, auditors and frameworks such as the EU Cyber Resilience Act, NIS2, FDA SBOM requirements and ISO 27001 supply chain controls. The build record SBOMs Vulnerability records Provenance Network traces Export CycloneDX SPDX REST API Who asks for it Customers Auditors Security reviews Frameworks this evidence supports EU Cyber Resilience Act NIS2 supply chain security FDA SBOM for cyber devices ISO 27001 supply chain controls

Kysymykset, joita toimitusketjun tietoturvapoikkeama herättää

Kun paketti, CI-action tai rekisteri kaapataan, ensimmäiset tunnit kuluvat sen selvittämiseen, koskeeko tapaus sinua. Nämä ovat tiimien esittämät kysymykset, ja näin CRACI:n tallenne buildista vastaa niihin.

Kysymys Miten CRACI vastaa
Hakiko jokin buildeistamme kaapatun pakettiversion? Jokaisen buildin SBOM luettelee paketit, jotka jobi todella haki, joten haet tallennetuista buildeista etkä skannaa repositorioita uudelleen.
Mihin tuotteisiimme ja julkaisuihimme tämä vaikuttaa? Valvotut SBOM:t arvioidaan jatkuvasti uudelleen, ja inventaarionäkymä yhdistää ohjelmistoversiot tuotteisiin, joissa ne ovat käytössä.
Olisiko build-vaihe voinut lähettää salaisuuksia jonnekin? Kunkin jobin verkkojälki tallentaa sen muodostamat yhteydet, ja egress-käytäntö estää käytännön ulkopuoliset palvelimet ennen kuin niihin yhdistetään.
Onko tämä SBOM tarpeeksi kattava luovutettavaksi? Kunkin jobin SBOM ilmoittaa kattavuutensa: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded.
Kuka korjaa sen, ja voimmeko todistaa, että asia hoidettiin? Löydökset luokitellaan ja ohjataan vastuutiimeille, ja SBOM:t voi viedä CycloneDX- tai SPDX-muodossa komponenteista löydettyine haavoittuvuuksineen.

CRACI kattaa buildin ja sen, mitä se toimittaa. Koodin skannaus, salaisuuksien skannaus ja reachability-analyysi jäävät sovellustietoturvatyökaluillesi. GitHub Actions on tuettu nyt, ja muut CI-järjestelmät ovat tiekartalla.

Ohjelmistotoimitusketjun tietoturva: vastaukset

Mitä se kattaa, miksi se kuuluu CI/CD:hen ja mihin CRACI sopii

Mitä ohjelmistotoimitusketjun tietoturva on?

Ohjelmistotoimitusketjun tietoturva suojaa kaikkea, mikä päätyy ohjelmistoosi ensimmäisen commitin ja julkaisun välillä: avoimen lähdekoodin riippuvuuksia, peruskuvia, build-työkaluja, kolmansien osapuolten CI-actioneita, itse CI/CD-putkea ja toimittamiasi artefakteja. Se tarkoittaa, että tiedät, mitä nämä osat ovat, hallitset, mistä ne tulevat, ja pystyt todistamaan, mitä kuhunkin julkaisuun meni.

Miksi ohjelmistotoimitusketju kannattaa suojata CI/CD:ssä?

Julkaisubuildissa riippuvuutesi ratkaistaan, ladataan ja paketoidaan. Tuotantobuildi ei ole sama kuin buildi kannettavalla: versioalueet, muuttuvat tagit ja välimuistit tarkoittavat, että se voi hakea jotain muuta. Julkaisubuildin aikana tehty tallenne on ainoa luotettava tallenne siitä, mitä toimitettiin, ja buildin runnerissa voit hallita, mihin buildi saa yhdistää.

Miten CRACI eroaa toimitusketjun tietoturvaskannerista?

Skannerit lukevat tiedostoja jälkikäteen: manifestin, lukitustiedoston (lockfile), lähdekoodin tai valmiin binäärin. CRACI on GitHub Actions -jobiesi runneri, joten se havainnoi buildin sen tapahtuessa ja tallentaa paketit, jotka kukin jobi todella haki, myös CI-välimuisteista palautetut paketit. Jokainen SBOM ilmoittaa oman kattavuutensa, egress-käytäntö hallitsee, mihin buildi voi yhdistää, ja API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot.

Korvaako CRACI GitHub Actions -työnkulkuni?

Ei. CRACI korvaa runnerin, ei GitHub Actionsia. Vaihdat runs-on-arvoksi craci, ja työnkulkusi, triggerisi ja ajohistoriasi pysyvät GitHubissa.

Mitä CI-järjestelmiä ja alustoja CRACI tukee?

Nyt GitHub Actionsia; muut CI-järjestelmät, muun muassa GitLab CI ja Jenkins, ovat tiekartalla. Runnerit ovat Linuxia x86-64- ja ARM64-alustoilla, ja Windows ja macOS ovat tiekartalla.

Tekeekö CRACI SAST-analyysia, salaisuuksien skannausta tai reachability-analyysia?

Ei. CRACI tallentaa ja hallitsee buildia, seuraa toimittamiesi ohjelmistojen haavoittuvuuksia ja tuottaa näytön. Oman koodin skannaaminen virheiden tai salaisuuksien varalta sekä reachability-analyysi ovat sovellustietoturvatyökalun tehtäviä.

Missä buildidatani säilytetään?

CRACI toimii Euroopassa eurooppalaisella bare metal -infrastruktuurilla, ja tietoja säilytetään oletuksena 180 päivää; Enterprise-tilauksessa säilytysaika on mukautettavissa. CRACI ei tallenna lähdekoodiasi. CRACI on ISO 27001 -sertifioitu; lisätiedot löytyvät Trust Centeristä.

Katso, mitä buildisi todella hakevat

Varaa demo ja näe SBOM, verkkojälki, egress-käytäntö ja alkuperätiedot, jotka CRACI tallentaa GitHub Actions -buildista

Varaa demo