Vertailu
CRACI vs. Harness
Harness on ohjelmistotoimituksen alusta, jossa on oma CI ja Supply Chain Security -moduuli, joka generoi SBOM:t ja SLSA-alkuperätiedot putkessa. CRACI on runneri, jolla GitHub Actions -jobisi ajetaan, joten SBOM, verkkokäytäntö ja alkuperätiedot tulevat suoraan buildista.
Päivitetty
Lyhyt vastaus
Vuonna 2017 perustettu, San Franciscossa toimiva Harness myy alustaa kaikkeen, mitä tapahtuu koodin kirjoittamisen jälkeen: jatkuva integraatio, jatkuva toimitus, ominaisuusliput, pilvikustannusten hallinta, kaaostestaus ja tietoturvatestaus. Sen Supply Chain Security (SCS) -moduuli tuo mukaan SBOM-generoinnin, SLSA-alkuperätiedot, OPA-käytäntöportit ja repositorioiden ja putkien tietoturvatason tarkistukset. Jos haluat yhden toimittajan koko toimitusputkelle useiden Git-palveluiden yli, Harness on tehty siihen.
CRACI on kapeampi ja menee syvemmälle buildiin. Se on GitHub Actions -runneri: jokaisen jobin aikana se tallentaa jokaisen ulkoisen riippuvuuden, jonka buildi hakee, valvoo egress-käytäntöä buildin verkossa ja tuottaa tuosta tallenteesta SBOM:t, alkuperätiedot ja haavoittuvuuksien valvonnan. Harness lisää putkeen toimitusketjuvaiheita; CRACI tekee runnerista itsestään tietoturvatallenteen.
Yksi käytännön asia ensin. CRACI tukee nyt vain GitHub Actionsia, ja GitLab CI ja Jenkins ovat tiekartalla. Harness CI -putket pitäisi siirtää GitHub Actionsiin, jotta ne voisi ajaa CRACI:lla.
Lyhyesti
| Ominaisuus | CRACI | Harness |
|---|---|---|
| Miten SBOM syntyy | Tallennetaan siitä, mitä kukin jobi haki, kattavuustiloineen | Syft tai cdxgen skannaa konttikuvan tai repositorion putken vaiheessa |
| SBOM-formaatit | CycloneDX ja SPDX | SPDX ja CycloneDX |
| Buildin alkuperätiedot | Alkuperätiedot API:n kautta; ei allekirjoitettu | SLSA Build L1–L3, allekirjoitettu cosignilla |
| Buildin verkon egress-käytäntö | Oletuksena estävä tai salliva, validoidaan ennen jobia, fail closed | Kertoo havaitsevansa runnerin poikkeavat verkkokutsut |
| Käytäntöportit | Estää buildin löydösten, tietyn CVE:n tai lisenssin perusteella | OPA-käytännöt SBOM:eille, alkuperätiedoille ja käyttöönotoille |
| Toimitetun valvonta | Valvotut SBOM:t arvioidaan jatkuvasti uudelleen | Merkitsee putket ja artefaktit, joita uusi CVE koskee |
| CI/CD:n ja repositorioiden tietoturvatason tarkistukset | OWASP Top 10 CI/CD Risks ja CIS-vertailukriteerit | |
| CI-järjestelmät | GitHub Actions nyt; GitLab CI ja Jenkins tiekartalla | Harness CI; SCS-vaiheet myös GitHub Actionsille ja GitLab CI/CD:lle |
| Hostattujen runnerien alustat | Linux x86-64:llä ja ARM64:llä, 1–32 vCPU:ta. Windows ja macOS tiekartalla. | Linux AMD64 enintään 96 ytimellä ja ARM64 enintään 64:llä, Windows sekä macOS Apple M4:llä. |
| Itse ylläpidetty build-infrastruktuuri | Asiakkaan omat runnerit, Enterprise | Kubernetes, virtuaalikoneet tai fyysiset palvelimet |
| Toimitus, ominaisuusliput, kustannusten hallinta | CRACI kattaa buildin | Saman alustan moduuleja |
| Hinta, 2 vCPU:n Linux | $0.004 minuutilta ($0.002 vCPU-minuutilta), mitataan sekunneittain. | $0.005 minuutilta 2 ytimelle ja 7 Gt:lle, pyöristetään lähimpään minuuttiin. |
| Paketit | Maksu build-minuuttien mukaan: $0.004 per 2 vCPU:n minuutti, mitataan sekunneittain. Ei kuukausimaksua eikä SBOM-kohtaista maksua. | Free-tilaus, jossa 2 000 Harness Cloud -krediittiä kuukaudessa; maksulliset paketit, krediittipaketit ja Supply Chain Security myynnin kautta (syyskuussa 2026). |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
Missä Harness on hyvä
Yksi alusta toimitukseen. Harness kattaa CI:n, CD:n, GitOpsin, ominaisuusliput, infrastruktuurin koodina, kaaostestauksen ja pilvikustannusten hallinnan, ja OPA-pohjaiset käytännöt ulottuvat niiden kaikkien yli. Se toimii GitHubin, GitLabin, Bitbucketin, Azure Reposin ja omien Harness Code -repositorioidensa kanssa, ja kertoo palvelevansa yli 1 000 suuryritysasiakasta yli 1 200 työntekijällä.
Valinnanvaraa build-infrastruktuurissa. Harness Cloud ajaa buildit Harnessin hallinnoimilla Linux-, Windows- ja macOS-koneilla: Linux AMD64 2–96 ytimellä, ARM64 2–64 ytimellä samaan hintaan ja macOS Apple M4:llä. Sisäkkäinen virtualisointi on saatavilla Linux AMD64:llä. Voit myös ajaa buildit omissa Kubernetes-klustereissasi, virtuaalikoneissasi tai fyysisillä palvelimilla. Test Intelligence ajaa vain ne testit, joihin muutos vaikuttaa, ja Build Intelligence sekä välimuistiominaisuudet käyttävät uudelleen muuttumattomat tuotokset ja riippuvuudet.
Toimitusketjuominaisuudet putkessa. SCS-moduulin SBOM Orchestration -vaihe generoi SBOM:n konttikuvalle tai koodirepositoriolle Syftillä tai cdxgenillä SPDX- tai CycloneDX-muodossa ja voi tuoda SBOM:eja muista työkaluista. Harness kertoo generoivansa ja päivittävänsä SBOM:t jokaisessa buildissa. OPA-käytännöt voivat estää buildeja ja käyttöönottoja komponenttien, lisenssien tai alkuperätietojen perusteella, ja korjausten seurantatyökalu seuraa haavoittuvia artefakteja.
SLSA-alkuperätiedot. Harness dokumentoi SLSA Build Level 1, 2 ja 3 SLSA v1.0:n mukaisesti, ja alkuperätiedot allekirjoitetaan in-toto-attestaatioilla ja cosignilla. Sen dokumentaation mukaan Level 3 edellyttää kovennettua build-infrastruktuuria tai Harness Cloudia, joka eristää build-prosessit toisistaan.
Tietoturvatason ja putkien tarkistukset. SCS auditoi repositoriot ja putket OWASP Top 10 CI/CD Security Risks -listaa ja CIS-vertailukriteereitä vasten ja merkitsee kiinnittämättömät, varmentamattomat ja liian laajoin oikeuksin toimivat GitHub Actionsit. Harness tarjoaa SCS-vaiheensa myös GitHub Actions- ja GitLab CI/CD -komponentteina, joten moduuli ei ole sidottu Harness CI:hin; nämä vaiheet edellyttävät Harness-tiliä ja SCS-lisenssiä.
Missä CRACI eroaa
SBOM tulee buildista, ei sen tuotoksen skannauksesta
Syft ja cdxgen ovat skannereita: ne lukevat konttikuvan tai repositorion jälkikäteen ja päättelevät sen sisällön lukitustiedostoista (lockfile), manifesteista ja pakettitietokannoista. Se toimii hyvin, kun nuo tiedostot kertovat koko totuuden. Buildit tekevät usein enemmän: asennusskriptit lataavat koodia, Rustin build-skriptit hakevat tiedostoja buildin aikana, ja välimuistit palauttavat paketteja, joita mikään lukitustiedosto ei mainitse.
CRACI näkee tuon liikenteen, koska se on runneri. Pakettitietoinen välityspalvelin (proxy) tallentaa, mitä kukin jobi hakee pakettilähteistä npm-, PyPI-, RubyGems-, Composer-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteiden sekä latausesiasetusten osalta, ja riippuvuusnäyttö kulkee CI-välimuistien mukana. Se tallentaa piilossa olevat riippuvuudet, jotka lukitustiedostoihin perustuvilta työkaluilta jäävät huomaamatta, ja jokainen SBOM ilmoittaa, kuinka kattava se on, jobia ja välimuistia kohden: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded.
Käytäntö buildin verkolle, ei jälkikäteistä havaitsemista
Harness kertoo moduulinsa havaitsevan CI-runnerin poikkeavan toiminnan, kuten verkkokutsut ja oikeuksien korottamisen. CRACI valitsee toisen tien: runnerin egress-käytäntö päättää, mihin palvelimiin jobi saa ottaa yhteyttä. Käytännöt ovat oletuksena estäviä tai oletuksena sallivia, ja niissä on 24 valmista ohjelmistolähteiden esiasetusta ja tyypitetyt omat lähteet. Ne validoidaan ennen jobin alkua, ja ne toimivat fail closed -periaatteella. Koska oletuksena estävä käytäntö sallii vain sen, mitä buildi tarvitsee, eikä etsi tunnetusti haitallisia palvelimia, se estää tietojen viennin hyökkääjän palvelimelle myös hyökkäyksessä, jota kukaan ei ole ennen nähnyt. Rikkomuksista lähetetään hälytys.
Alkuperätiedot ja valvonta samasta tallenteesta
API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot. CRACI ei allekirjoita alkuperätietoja eikä väitä mitään SLSA-tasoa; Harness allekirjoittaa alkuperätietonsa ja dokumentoi tasot 1–3, ja jos allekirjoitetut alkuperätiedot tai SLSA-taso on hankintavaatimus, se puhuu Harnessin puolesta. CRACI kokoaa haavoittuvuudet kaikista buildeista ja repositorioista, arvioi valvottuja SBOM:eja jatkuvasti uudelleen uusien tietoturvatiedotteiden ilmestyessä ja näyttää, missä aiemmissa buildeissa oli haavoittuva riippuvuus, joten tiedät, minkä ajanjakson haavoittuvuus koski sinua.
Hinnoittelu, jonka voit lukea
CRACI veloittaa vain build-minuuteista: $0.002 vCPU-minuutilta ($0.004 oletusarvoiselle 2 vCPU:n runnerille), mitattuna sekunneittain, ilman kuukausimaksua ja ilman SBOM-kohtaista maksua. Harness julkaisee Harness Cloud -hintansa: $0.005 minuutilta 2-ytimiselle 7 Gt:n Linux-koneelle ja $0.080 32 ytimelle, laskutettuna lähimpään minuuttiin, kun taas maksulliset paketit ja SCS-moduuli hinnoitellaan myynnin kautta. CRACI:n listahinta on 20 % alempi minuutilta kummassakin koossa ($0.004 vastaan $0.005, $0.064 vastaan $0.080); Harnessin koneissa on enemmän muistia ydintä kohden.
Kumpi sopii
- Pysy Harnessissa, jos haluat CI:n, CD:n, ominaisuusliput ja kustannusten hallinnan yhdeltä toimittajalta, jos koodisi on GitLabissa, Bitbucketissa tai Azure Reposissa, jos tarvitset Windowsia, macOS:ää tai omaa build-laitteistoa, tai jos dokumentoitu SLSA Build Level 3 on vaatimus.
- Valitse CRACI, jos koodisi on GitHubissa ja ajat tai aiot ajaa GitHub Actionsia, ja haluat, että SBOM, verkkokäytäntö ja alkuperätiedot tulevat siltä runnerilta, joka teki buildin, build-minuuttien mukaan hinnoiteltuna.
Ole selvillä siitä, mistä luovut valitessasi CRACI:n. Se ei ota ohjelmistoja käyttöön, aja ominaisuuslippuja eikä hallitse pilvikustannuksia, eikä se tarkista repositorioita ja putkia tietoturvatason vertailukriteereitä vasten tai skannaa lähdekoodia. Se ajaa nyt vain Linux-jobeja, Windows ja macOS ovat tiekartalla, ja asiakkaan omat runnerit ovat tiekartalla Enterprise-tilaukseen.
Säänneltyjä tuotteita varten
Esimerkiksi EU:n kyberkestävyyssäädös (Cyber Resilience Act, CRA) edellyttää, että valmistajat tietävät, mitä kukin julkaisu sisältää, ja käsittelevät sen haavoittuvuudet, ja raportointivelvoitteet alkavat syyskuussa 2026. Harness toimittaa SBOM:t, alkuperätiedot ja käytäntöjen tulokset putkensa vaiheista. CRACI tuottaa näytön buildin tallenteesta ja vie SBOM:t CycloneDX- tai SPDX-muodossa. Se automatisoi merkittävän osan siitä ohjelmistotoimitusketjun näkyvyydestä ja näytöstä, jota yritys tarvitsee laajempaan CRA-prosessiinsa; kumpikaan työkalu ei yksinään tee tuotteesta vaatimustenmukaista.
Putken siirtäminen CRACI:lle
CRACI korvaa runnerin, ei GitHub Actionsia, ja ajot näkyvät edelleen GitHubin käyttöliittymässä. Kun putki ajetaan GitHub Actions -työnkulkuna, se toimii CRACI:lla yhdellä rivillä:
runs-on: craci
Lue lisää SBOM-generoinnista buildin aikana, vertaa CI/CD-alustoja, katso Harnessin vaihtoehdot tai tutustu hinnoitteluun.
Aja yksi oikea buildi ja vertaa
Ohjaa yksi GitHub Actions -työnkulku CRACI:lle ja vertaa sen SBOM:ia siihen, jonka skanneri tuottaa nyt.
Varaa demo