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

Automatisoitu kyberkestävyys kehittäjille ja agenteille

Tee jokaisesta buildista ensimmäinen puolustuslinjasi.

Tuo toimitusketjun tietoturva ohjelmistosi ytimeen nopeilla, luotettavilla ja edullisemmilla runnereilla.

  • Turvalliset runnerit
  • Buildin aikaiset SBOM:t
  • Haavoittuvuuksien seuranta
  • Haavoittuvuuksiin reagointi
  • 185 pakettia tallennettu
  • 6 yhteyttä estetty
  • SBOM valmis
  • Korjattu: v2.4.1
  1. Buildi

    northwind-controls/web-portal

    release.yml #1843 · 5d08e3b
    runs-on: craci
    size 2 · x86-64

  2. Paketit

    185 pakettia tallennettu

    • next 15.2.2
    • react 19.0.0
    • react-dom 19.0.0
    • express 4.21.2
    • tailwindcss 4.0.14
    • typescript 5.8.2
  3. Käytäntöportti
    Buildi #1843 pysäytetty

    CVE-2025-29927 · Critical

    Buildi #1844 hyväksytty

    Korjattu: next 15.2.3

  4. Julkaistu artefakti

    ghcr.io/northwind-controls/web-portal:2.4.1

    sha256:e2b9…5c07

    Julkaistu nimellä v2.4.1

Tiimit, jotka buildaavat CRACI:lla

  • Fluencify
  • Homie
  • Bahn Express
  • Hamina Wireless
  • ConfidentialMind
  • Propia

Haavoittuvuuksia tulee nopeammin kuin mikään korjaus ehtii.

Hyökkääjät tarvitsevat vain yhden reitin sisään, ja agentit auttavat heitä löytämään sen nopeammin kuin koskaan. Tiimisi on suljettava jokainen aukko, enimmäkseen käsin.

2026 tähän mennessä

CVE:tä julkaistaan päivässä
303
Keskimäärin yksi 5 minuutin välein.
Enemmän päivässä kuin edellisenä vuonna
+131%
Verrattuna vuoden 2025 päivätahtiin.
Luokitus High tai Critical, joka päivä
155
CVSS-pisteiden perusteella.
Päivässä julkaistut CVE:t vuosittain
VuosiCVE:tä päivässäHigh tai Critical päivässä
2020 39 7
2021 54 12
2022 68 20
2023 78 28
2024 109 48
2025 131 54
2026 tähän mennessä 303 155
Julkisesta CVE-luettelosta, päivitetään päivittäin. Valitse vuosi vertailuun. Lue CVE-raportti

Miksi nyt

  1. Hälytyksistä on tullut kohinaa.

    Kun sadat löydökset ovat kiireellisiä, mikään niistä ei ole. Tiimit lakkaavat hallitsemasta riskiä ja alkavat laskea hälytyksiä.

  2. Määrä kasvaa kaikkia tiimejä nopeammin.

    Triage ja korjaukset tehdään yhä käsin. Tällä volyymilla lisärekrytoinnit eivät kurota eroa umpeen.

  3. Korjaukset kilpailevat ominaisuuksien kanssa.

    Tuotetiimejä mitataan ominaisuuksien toimittamisella, joten tietoturvatyö odottaa hiljaista sprinttiä, jota ei koskaan tule.

  4. Skannerit vain arvioivat.

    Buildin jälkeen tiedostoista päätelty lista ei näe, mitä oikeasti meni sisään, ja väärä varmuus saa ihmiset lopettamaan etsimisen.

Ohjelmistosi muotoutuu buildin aikana.

Lukitustiedostosi (lockfile) kiinnittää, mitä pitäisi asentaa. Buildi ratkaisee, mitä oikeasti saapuu. CRACI tallentaa jokaisen paketin sen saapuessa: ratkaistun version, alkuperän ja sen, palautettiinko paketti CI-välimuistista.

package-lock.json Mitä kiinnitit
"packages": {
  …
  
  
  
  
  
  …
}
Listaa vain versiot, ei sitä, mistä kukin paketti tuli tai miten se pääsi sisään.
Buildikirjaus #1842 185 pakettia tallennettu
Repositorion northwind-controls/web-portal esimerkkibuildin #1842 aikana tallennetut paketit ryhmiteltynä sen mukaan, miten ne tulivat buildiin.
Paketti Ratkaistu Tuli reittiä Lähde
package.jsonin kautta
express reittiä package.json 4.21.2 package.json registry.npmjs.org
next reittiä package.json
Nyt haavoittuvuuden CVE-2025-29927 koskema · Critical
15.2.2 package.json registry.npmjs.org
react reittiä package.json · CI-välimuistista 19.0.0 package.json CI-välimuisti
react-dom reittiä package.json · CI-välimuistista 19.0.0 package.json CI-välimuisti
styled-jsx reittiä next 5.1.6 next registry.npmjs.org
Build-skriptin kautta
tailwindcss reittiä build-skripti 4.0.14 build-skripti registry.npmjs.org
typescript reittiä build-skripti 5.8.2 build-skripti registry.npmjs.org
ja 178 muuta tallennettua pakettia
185 pakettia tallennettu · 2 palautettu välimuistista

Suojaa buildi. Tallenna sen riippuvuudet.

Jobisi ajetaan CRACI:n runnereilla GitHubin ylläpitämien sijaan, kaksi kertaa nopeammin. Jokainen paketti, jonka ne hakevat, tallennetaan version, lähteen ja lisenssin kera. Kaikki käytäntösi ulkopuolisista lähteistä estetään.

Secure Build Service

Jokainen jobi ajetaan omassa eristetyssä virtuaalikoneessaan egress-käytännön takana, joka tarkistetaan ennen jobin alkua.

  • Eristetty VM
  • Oletuksena estävä tai salliva
  • Fail closed
  • Hälytys rikkomuksesta

Package Analytics

Paketit tunnistava välityspalvelin (proxy) tallentaa jokaisen paketin, jonka jobi hakee, ratkaistun version, lähteen ja ilmoitetun lisenssin kera.

  • npm
  • PyPI
  • RubyGems
  • Cargo
  • Go
  • Nix
  • OCI
  • Yocto
  • ja muita
Käytäntötapahtuma Buildi #1842
  1. time2025-03-14 09:13:07 UTC
  2. jobrelease.yml #1842
  3. stepnpm run build
  4. policyDefault deny. Allowed: npm, GitHub, ghcr.io, Docker Hub, example.com
  5. denied malicious.example:443
  6. reasonPalvelin ei ole käytännössä
  7. actionEstetty runnerilla
Yhteys estetty. Hälytys lähetetty.
Riippuvuusgraafi v2.4.0
Tuotteen web-portal v2.4.0 riippuvuusgraafi web-portal riippuu suoraan muun muassa paketeista next 15.2.2, react ja express. next tuo mukanaan styled-jsx:n ja @swc/helpersin. Esimerkin build-skripti hakee lisäksi paketit tailwindcss ja typescript. web-portal next 15.2.2 react express styled-jsx @swc/helpers build-työkalut tailwindcss typescript

SBOM-ote CycloneDX 1.7 · JSON
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  …
  "components": [{
    "name": "next",
    "version": "15.2.2",
    "purl": "pkg:npm/[email protected]",
    "licenses": [
      { "license": { "id": "MIT" } }
    ]
  }, …]
}
Vienti CycloneDX- tai SPDX-muotoon, transitiiviset riippuvuudet ja haavoittuvuudet mukana.

CRACI näkee liikenteen, jota skannerit eivät näe.

Muut SBOM-työkalut lukevat lukitustiedoston tai buildin tuotoksen ja arvaavat, mitä meni sisään. CRACI näkee, mitä kuhunkin buildiin oikeasti tulee, myös piilotetut riippuvuudet, joita buildin aikaiset hookit, build-skriptit ja peruskuvat tuovat mukanaan.

Skanneri

Kilpailijan skanneri

Menetelmä
Lukee package-lock.jsonin
Milloin
Buildin jälkeen
Näkee
Mitä lukitustiedosto listaa
SBOM, jonka skanneri muodostaa esimerkkibuildin #1842 lukitustiedostosta.
Paketti Versio Lisenssi Löytyi
next pkg:npm/[email protected] 15.2.2 MIT package-lock.json
react pkg:npm/[email protected] 19.0.0 MIT package-lock.json
react-dom pkg:npm/[email protected] 19.0.0 MIT package-lock.json
express pkg:npm/[email protected] 4.21.2 MIT package-lock.json
styled-jsx pkg:npm/[email protected] 5.1.6 MIT package-lock.json
Ei missään lukitustiedostossa, joten ei SBOM:ssa
Ei missään lukitustiedostossa, joten ei SBOM:ssa
Ei missään lukitustiedostossa, joten ei SBOM:ssa

142 pakettia listattu 43 puuttuu

Tallennettu SBOM

Menetelmä
Näkee buildin liikenteen
Milloin
Buildin aikana
Näkee
Mitä buildi haki
SBOM, jonka CRACI tallentaa esimerkkibuildin #1842 liikenteestä.
Paketti Versio Lisenssi Haettu
next pkg:npm/[email protected] 15.2.2 MIT registry.npmjs.org
react pkg:npm/[email protected] 19.0.0 MIT registry.npmjs.org
react-dom pkg:npm/[email protected] 19.0.0 MIT registry.npmjs.org
express pkg:npm/[email protected] 4.21.2 MIT registry.npmjs.org
styled-jsx pkg:npm/[email protected] 5.1.6 MIT registry.npmjs.org

185 pakettia tallennettu 43 enemmän kuin lukitustiedosto näyttää

Esimerkkibuildi. Miten buildin aikaiset SBOM:t toimivat

Paikanna mahdolliset haavoittuvuudet tarkkoihin julkaisuihin.

CRACI tarkistaa tallennettuja SBOM:eja jatkuvasti uusien haavoittuvuuksien varalta. Tässä havainnollistavassa esimerkissä kriittinen haavoittuvuus julkistetaan 7 päivää julkaisun jälkeen. Seuraa buildikirjausta haavoittuvasta paketista tiimin korjaukseen.

Vaihe 1/4

CVE-2025-29927 julkistetaan

next on suora riippuvuus, ja buildi #1842 tallensi tarkan version.

Vakavuus
Critical 9.1
Paketti
next
Haavoittuva
15.0.0–15.2.2
Korjattu
15.2.3

Vaihe 2/4

Yksi julkaisu on haavoittuva

CRACI täsmää sen tallennettuun SBOM:iin.

Julkaisu
web-portal v2.4.0
Osuma
next 15.2.2, suora riippuvuus
SBOM
Complete

Vaihe 3/4

Se toimitettiin tänä kuvana

Julkaisu, sen kuva ja sen SBOM pysyvät yhdessä.

Kuva
ghcr.io/northwind-controls/web-portal:2.4.0
Julkaisu
v2.4.0
SBOM
Seurannassa

Vaihe 4/4

Korjauksella on vastuutaho

Tee triage, ohjaa eteenpäin ja seuraa korjattuun julkaisuun asti.

Vastuutaho
Alustatiimi
Toimenpide
Päivitä next versioon 15.2.3 ja buildaa uudelleen
Korjattu
web-portal v2.4.1, 2025-03-22

Vastaa jokaiselle auditoijalle näytöllä.

Jokainen buildi jättää jälkeensä näyttöä: SBOM:t, haavoittuvuuskirjaukset ja sen, miten kukin korjaus päätyi julkaisuun. Käytä sitä CRA-, NIS2-, ISO 27001- ja SOC 2 -prosesseissasi, niin auditoijan kysymykseen vastaaminen on lataus eikä projekti.

Koostumus
Buildin aikainen SBOM jokaisesta julkaisusta.
  • CycloneDX
  • SPDX
  • Transitiiviset riippuvuudet
  • Haavoittuvuudet
  • Ilmoitetut lisenssit
Haavoittuvuuksien käsittely
Tallennetut SBOM:t arvioidaan jatkuvasti uudelleen.
  • Triage
  • Korjaus
  • Säilytetään julkaisun kanssa
Raportointi
CRACI valmistelee ne; sinä lähetät.
  • Ennakkovaroitus
  • Ilmoitus
  • Loppuraportti

Kyberkestävyyssäädös

  1. Raportointivelvoitteet alkavat
  2. Asetusta sovelletaan kokonaisuudessaan
Lue CRA-opas

Haavoittuvuusilmoitus Ote

web-portal v2.4.0

northwind-controls/web-portal · buildi #1842

SBOM
CycloneDX · Complete
Buildi
#1842 · commit 9f3c2e1
Haavoittuvuus
CVE-2025-29927 · Critical
Komponentti
next 15.2.2
Ilmoitetaan
CSIRT-yksikölle ja ENISAlle CRA:n keskitetyn raportointialustan kautta

Käsittelyn aikajana

  1. Julkaisu buildattu ja SBOM tallennettu
  2. Tietoturvatiedote julkaistu ja täsmätty tähän julkaisuun
  3. Triagen teki Tuoteturvallisuus, vastuu: Alustatiimi
  4. v2.4.1 julkaistu versiolla next 15.2.3

SBOM-vienti muodossa CycloneDX tai SPDX

Aja ensimmäinen buildisi 5 minuutissa.

Tässä demossa viemme TanStack Start -sivuston rekisteröitymisestä sen ensimmäiseen ajoon CRACI:lla. Yhdistämme GitHubin, ohjaamme jobit asetuksella runs-on: craci ja seuraamme ensimmäistä ajoa. CRACI tallentaa jokaisen ulkoisen riippuvuuden, jonka buildi hakee, merkitsee tunnetut haavoittuvuudet ja jäljittää jokaisen takaisin jobiin, joka sen toi.

From sign-up to your first build on CRACI

CRACI YouTubessa: CRACI demo.

Katso, miten CRACI sopii toimitusprosessiisi.

CRACI korvaa runnerin, ei GitHub Actionsia. Työnkulkusi, katselmointisi ja käyttöönottovaiheesi pysyvät ennallaan.

  1. Yhdistä GitHub-sovellus

    Kaikkiin repositorioihin tai vain valitsemiisi.

  2. Vaihda runneri

    Aseta työnkulkuun runs-on: craci. Mikään muu ei muutu.

  3. Aja seuraava buildisi

    Ajot näkyvät edelleen GitHubissa. Buildikirjaus ja SBOM näkyvät CRACI:ssa.

Runnerit
Hallinnoidut Linux-runnerit x86-64- ja ARM64-arkkitehtuureilla eurooppalaisella infrastruktuurilla.
Buildit
Docker Engine, Buildx ja Compose v2. Yocto- ja BitBake-buildit on dokumentoitu.
Koodisi ja datasi
CRACI käsittelee lähdekoodia buildisi aikana eikä tallenna sitä. Buildien data sijaitsee Euroopassa. Välimuistin sisältö riippuu siitä, mitä työnkulkusi tallentavat. Lue tietoturvasivu.
Tiekartalla
GitLab, Jenkins ja muut CI-järjestelmät, Windows- ja macOS-runnerit, on-prem-runnerit, Maven ja Java.

Kysymyksiä, joita tiimit kysyvät ennen demoa

Yhteensopivuus, käyttöönotto, tietoturva ja datan käsittely.

Mitä CI-ympäristöjä ja pakettiekosysteemejä tuetaan?

GitHub Actions on tällä hetkellä tuettu CI-integraatio, ja muut CI-järjestelmät ovat tiekartalla. CRACI tallentaa npm-, PyPI-, RubyGems-, Cargo-, Go-, Nix- ja OCI-rekisterit, Debianin, Ubuntun ja Alpinen pakettivarastot sekä Gitin ja muut lähdekoodilataukset. Maven ja Java ovat tiekartalla. Runnerit ovat Linuxia x86-64- ja ARM64-arkkitehtuureilla.

Mitä käyttöönotto vaatii?

Yhdistät CRACI:n GitHub-sovelluksen kaikkiin tai valittuihin repositorioihin ja asetat työnkulkuusi runs-on: craci. CRACI korvaa runnerin, ei GitHub Actionsia, joten ajosi näkyvät edelleen GitHubissa.

Mihin dataan CRACI pääsee käsiksi, ja missä se säilytetään?

GitHub-sovellus lukee koodiasi ja Actions-ajojasi ja hallinnoi runnereita, jotka se rekisteröi organisaatiollesi. CRACI käsittelee lähdekoodia buildisi aikana eikä tallenna sitä. Buildien data, mukaan lukien metatiedot, pakettitiedot, verkkoliikenteen jäljet, SBOM:t, alkuperätiedot, välimuistit ja audit-kirjaukset, sijaitsee Euroopassa, ja Enterprise-tilauksessa säilytysaika on mukautettavissa. Välimuistin sisältö riippuu siitä, mitä työnkulkusi tallentavat. Lue tietoturvasta ja datan käsittelystä.

Estääkö CRACI vai hälyttääkö se? Mitä tapahtuu buildille, joka rikkoo käytäntöä?

Egress-käytäntö pannaan täytäntöön runnerilla. Se validoidaan ennen jobin alkua ja toimii fail closed -periaatteella, joten käytännön ulkopuolinen yhteys estetään ja saat hälytyksen. Käytäntöportit voivat myös pysäyttää buildin reaaliajassa.

Mihin formaatteihin voin viedä?

SBOM:t viedään CycloneDX- tai SPDX-muotoon, mukaan lukien transitiiviset riippuvuudet, haavoittuvuudet ja ilmoitetut lisenssit.

Mikä on saatavilla tänään ja mikä on tiekartalla?

Saatavilla nyt: hallinnoidut Linux-runnerit GitHub Actionsille, buildin aikaiset SBOM:t haavoittuvuuksineen, egress-käytäntö, jatkuva haavoittuvuuksien seuranta triagen kera ja käytäntöportit. Tiekartalla: GitLab, Jenkins ja muut CI-järjestelmät, Windows- ja macOS-runnerit sekä on-prem-runnerit.

Tukijamme

  • Lifeline Ventures
  • First Fellow Partners
  • Wave Ventures

Mediassa

  • Talouselämä
  • tech.eu
  • TechFundingNews
  • Kubernetes Community Days

Näe polku buildista korjaukseen.

  1. Tutki buildin aikana tallennettuja riippuvuuksia.
  2. Tunnista haavoittuvuuden koskemat julkaisut.
  3. Seuraa reagointia triagesta korjattuun julkaisuun.