Alusta
Näin CRACI toimii
CRACI ajaa GitHub Actions -buildisi ja tallentaa, mitä kukin niistä hakee mukaansa. Kaikki muu haavoittuvuuksien seurannasta CRA-näyttöön rakentuu tämän tallenteen varaan.
Päivitetty
Lyhyesti
Useimmat tietoturvatyökalut tarkastelevat koodiasi tai manifestejasi jälkikäteen ja päättelevät, mitä buildi luultavasti sisälsi. CRACI on build-runneri, joten se näkee, mitä buildi todella haki, juuri sillä hetkellä kun se haki sen. Tämä tallenne on kaiken kaaviossa näkyvän lähtötieto: pakettianalytiikan, hyökkäysten torjunnan, haavoittuvuusanalyysin, jäljitettävyyden ja vaatimustenmukaisuuden raportoinnin.
GitHub ja GitHub Actions pysyvät käytössäsi. Muutos on yksi rivi kussakin työnkulussa:
Vaihe vaiheelta
1. Lähdekoodi ja CI/CD: GitHub ja GitHub Actions
Koodisi pysyy GitHubissa. Yhdistät organisaatiosi asentamalla CRACI GitHub Appin joko kaikkiin repositorioihin tai vain valitsemiisi. Työnkulut ajetaan edelleen GitHub Actionsista, ja niiden ajot näkyvät yhä GitHubissa. GitHub Actions on tällä hetkellä tuettu CI-integraatio; muiden CI/CD-järjestelmien tuki on tiekartalla.
2. Buildi: CRACI Secure Build Service
Jobit ajetaan CRACI-runnereilla eristetyissä virtuaalikoneissa. Runnerit skaalautuvat 1:stä 32 laskentayksikköön (kukin 1 vCPU ja 3 Gt RAM-muistia) natiivilla x86-64- ja ARM64-arkkitehtuurilla, GitHub-yhteensopivalla Ubuntu-levykuvalla tai CRACI:n kevyillä levykuvilla. Käyttö mitataan sekunnin tarkkuudella.
Buildit valmistuvat CRACI:lla noin kaksi kertaa nopeammin kuin GitHubin tavallisilla ylläpidetyillä runnereilla. Myös jokainen minuutti on edullisempi: tavallinen 2 vCPU:n Linux-runneri maksaa $0.004 minuutilta, kun GitHubilla hinta on $0.006 (noin 33 % vähemmän). Yhteensä buildi, joka kestää GitHubissa 10 minuuttia, valmistuu CRACI:lla noin 5 minuutissa ja maksaa noin 67 % vähemmän. CRACI myös laskuttaa sekunneittain eikä pyöristä jokaista jobia ylöspäin kokonaiseen minuuttiin, joten monista lyhyistä jobeista koostuvat putket säästävät vielä enemmän. Katso koko vertailu GitHubin ylläpitämiin runnereihin.
3. Toimitusketjun kartoitus: CRACI Package Analytics
Jobin aikana pakettitietoinen välityspalvelin (proxy) tarkkailee liikennettä pakettilähteisiin ja tallentaa jokaisen ulkoisen riippuvuuden, jonka buildi hakee: npm-, PyPI-, RubyGems-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteistä sekä Yocton ja OpenEmbeddedin latausesiasetuksilla. Näyttö kulkee mukana CI-välimuisteissa, joten myös välimuistista palautetut paketit tulevat huomioiduiksi.
Tässä on ero muihin SBOM-työkaluihin. Ne lukevat lukitustiedoston (lockfile) tai buildin tuotokset ja päättelevät, mitä buildiin meni. CRACI näkee liikenteen, joten se tallentaa myös piilevät riippuvuudet, joita mikään lukitustiedosto ei listaa: koodin, jonka npm installin koukut lataavat, tiedostot, jotka Rustin build-skriptit hakevat buildin aikana, sekä konttibuildin pohjakuvan kerrokset.
Jokainen jobi ja välimuisti saa kattavuustilan väliltä Complete–Not recorded, joten tiedät, kuinka paljon sen tuottamaan SBOM:iin voi luottaa. SBOM:t viedään CycloneDX- tai SPDX-muodossa transitiiviset riippuvuudet mukaan lukien.
4. Jatkuva toimitusketjun tietoturva: CRACI Attack Prevention
Sama kerros, joka tallentaa liikenteen, myös hallitsee sitä. Lähtevän liikenteen käytäntö (egress policy) määrittää, mihin palvelimiin jobi saa ottaa yhteyttä. Oletuksena voi olla estävä tai salliva käytäntö, ja mukana on valmiit esiasetukset yleisille ohjelmistolähteille sekä mukautetut säännöt omillesi. Käytännöt validoidaan ennen jobin käynnistymistä, ja ne noudattavat fail closed -periaatetta: virhetilanteessa liikenne estetään. CRACI hälyttää rikkomuksista. Vaarantunut riippuvuus tai build-työkalu, joka yrittää ottaa yhteyttä kotipalvelimeensa, pysäytetään runnerilla.
Koska käytäntö sallii vain sen, mitä buildi tarvitsee, eikä etsi tunnettuja haitallisia palvelimia, se toimii myös hyökkäystä vastaan, jota kukaan ei ole ennen nähnyt. Jos Shai-Huludin kaltainen mato ehtii buildiisi ensin, sen yritys lähettää salaisuutesi ulos estetään silti.
5. Jatkuva reagointi toimitusketjussa: CRACI Vulnerability Analysis
Tallennettuja paketteja verrataan tunnettuihin haavoittuvuuksiin, ja valvotut SBOM:t arvioidaan jatkuvasti uudelleen, joten myös toimituksen jälkeen julkistettu haavoittuvuus tavoittaa sinut. Organisaatiotason näkymät kertovat, mitkä buildit ja repositoriot jakavat haavoittuvan riippuvuuden, ja tietoturvatiimit voivat luokitella ja priorisoida (triage) jokaisen löydöksen ja ohjata sen korjauksesta vastaavalle tiimille. Voit myös lisätä kolmansien osapuolten toimittajiltasi saatuja SBOM:eja, jolloin ostamiasi komponentteja valvotaan samalla tavalla kuin omien buildiesi hakemia.
Using SBOMs for improved cybersecurity
Miten buildin aikana tallennetusta SBOM:sta tulee haavoittuvuuksien valvontaa julkaisun jälkeen. Juuri sitä CRACI:n SBOM-generointi ja haavoittuvuuksien seuranta tekevät.
Petteri Pulkkinen ja Erika Marttinen, Kubernetes Community Days Helsinki 2026, 22:11–23:27 videosta SBOMbastic: Getting Ready for Upcoming EU Cybersecurity Regulation in Software Supply Chains.
6. Toimitusketjun jäljitys: CRACI Digital Inventory
Jokaisella buildilla on oma SBOM:nsa ja verkkoliikenteen jälki siitä, mihin se otti yhteyttä, ja CRACI:n API palauttaa SBOM:t, verkkoliikenteen jäljet ja alkuperätiedot. Kun uusi haavoittuvuus tai vaarantunut paketti nousee uutisiin, näet yhdestä paikasta, mitkä buildisi ovat alttiina.
7. Toimitusketjun raportointi: CRACI Compliance Reporting
Matkan varrella kerätty näyttö menee niille, jotka sitä pyytävät: asiakkaille, toimittajille ja viranomaisille. SBOM:t viedään CycloneDX- tai SPDX-muodossa niiden komponenteista löydetyt haavoittuvuudet mukaan lukien, API palauttaa SBOM:t, verkkoliikenteen jäljet ja alkuperätiedot, ja CRACI valmistelee CRA:n mukaisten haavoittuvuusilmoitusten sisällön, jonka sinä lähetät.
EU:n kyberkestävyyssäädös (Cyber Resilience Act, CRA) on tunnetuin tämän taustalla oleva sääntö, mutta ei ainoa. Kaikissa viitekehyksissä vaatimus on sama: tiedä, mitä ohjelmistosi sisältää, ja hallitse prosessi, jolla sen haavoittuvuudet löydetään ja käsitellään.
- EU:n kyberkestävyyssäädös (Cyber Resilience Act): SBOM ja haavoittuvuuksien käsittely EU:ssa myytäville digitaalisia elementtejä sisältäville tuotteille sekä raportointivelvoitteet syyskuusta 2026 alkaen.
- NIS2: toimitusketjun tietoturva sekä haavoittuvuuksien käsittely ja julkistaminen keskeisille ja tärkeille toimijoille.
- ISO/IEC 27001: ei mainitse SBOM:eja, mutta sen liitteen A kontrollit edellyttävät omaisuusinventaariota (5.9), ICT-toimitusketjun tietoturvaa (5.21) ja teknisten haavoittuvuuksien hallintaa (8.8). Buildin aikana tallennetut SBOM:t ja jatkuva valvonta ovat näyttöä kaikista kolmesta. Katso SBOM:t vaatimustenmukaisuuden näyttönä.
- Yhdysvaltain FDA: SBOM verkkoon kytkettyjen lääkinnällisten laitteiden markkinoille saattamista edeltäviin hakemuksiin sekä suunnitelma haavoittuvuuksien valvomiseksi ja korjaamiseksi julkaisun jälkeen.
- Yhdysvaltain presidentin asetus 14028 (Executive Order 14028): SBOM:t jokaiselle tuotteelle ja haavoittuvuuksien julkistamisprosessi liittovaltiolle myyville toimittajille suunnatussa ohjelmistotoimitusketjun ohjeistuksessa.
CRACI antaa sinulle SBOM:t ja jatkuvan haavoittuvuusvalvonnan, joita nämä viitekehykset edellyttävät, sekä näytön vaatimustenmukaisuusväitteidesi tueksi. Kunkin viitekehyksen täyttäminen on edelleen sinun prosessisi; CRACI automatisoi sen näyttöä koskevan osan.
8. Käyttöönotto: staging ja tuotanto
Se, mikä päätyy stagingiin ja tuotantoon, on buildattu verkkokäytäntösi mukaisesti, ja sillä on buildin aikana tallennettu SBOM, jota valvotaan uusien haavoittuvuuksien varalta julkaisun jälkeen.
Syvemmälle
- CI/CD-integraatio
- SBOM-generointi
- Haavoittuvuuksien seuranta
- CRA-näyttö ja SBOM-vienti
- CRACI:n dokumentaatio, mukaan lukien GitHub-organisaation yhdistäminen ja ensimmäisen työnkulun siirtäminen
- CRACI:n paikka työkalupinossasi: katso, mitä CRACI korvaa ja minkä rinnalla se toimii.
Näe CRACI omassa putkessasi
Varaa demo, niin käymme läpi buildisi, SBOM:isi ja vaatimustenmukaisuuden näyttösi.
Varaa demo