O 123% więcej zgłoszonych CVE dziennie w 2026 niż przed rokiem.

Porównanie

CRACI i Chainguard

Chainguard utwardza to, co trafia do Państwa buildu: obrazy kontenerów, biblioteki językowe i GitHub Actions. CRACI zabezpiecza i rejestruje sam build. Jeden oczyszcza składniki, drugi rejestruje, co się z nimi stało.

Zaktualizowano

Krótka odpowiedź

Chainguard buduje oprogramowanie open source z kodu źródłowego i dostarcza je utwardzone: minimalne obrazy kontenerów z niewielką liczbą znanych podatności lub bez nich, przebudowane biblioteki językowe, obrazy VM i utwardzone GitHub Actions, każde z podpisanym SBOM i danymi o pochodzeniu. Jeśli Państwa problem polega na tym, że obrazy bazowe i pakiety, od których Państwo zaczynają, mają zbyt wiele CVE, Chainguard uderza wprost w ten problem.

CRACI to runner CI dla GitHub Actions. Państwa zadania działają na nim, a podczas ich działania rejestruje każdą pobieraną przez nie zależność zewnętrzną i egzekwuje politykę ruchu wychodzącego. Chainguard zabezpiecza składniki. CRACI zabezpiecza i rejestruje build. Te produkty w bardzo niewielkim stopniu się pokrywają i naturalnie się uzupełniają.

W skrócie

Funkcja CRACI Chainguard
Uruchamia Państwa buildy Zadania działają na runnerach CRACI Dostarcza obrazy i biblioteki używane w buildach
Rejestruje, co pobrał Państwa build Zaobserwowane pobrania, łącznie z pakietami z cache CI Jego SBOM-y opisują własne artefakty Chainguard
Polityka ruchu wychodzącego buildu Domyślna odmowa lub zezwolenie, blokuje w razie błędu Poza jego zakresem: nie uruchamia buildów
SBOM-y Dla Państwa artefaktów, dla każdego buildu, z określoną kompletnością Podpisany SBOM SPDX przy każdym obrazie kontenera
Podpisane dane o pochodzeniu Brak podpisanych danych o pochodzeniu Dane o pochodzeniu SLSA dla jego obrazów i bibliotek
Śledzenie podatności Monitorowane SBOM-y są ponownie oceniane Biuletyny i przebudowy artefaktów Chainguard
Utwardzone, minimalne obrazy kontenerów Katalog obrazów zero-CVE budowanych z kodu źródłowego
Biblioteki przebudowane z kodu źródłowego Java, Python i JavaScript
SLA na usuwanie CVE 7 dni dla krytycznych, 14 dni dla pozostałych poziomów ważności
Utwardzone GitHub Actions Chainguard Actions, budowane z kodu źródłowego
Ceny $0.002 za minutę vCPU ($0.004 za 2 vCPU), naliczane co sekundę; bez opłaty miesięcznej i bez opłat za SBOM Do pięciu obrazów kontenerów bezpłatnie; katalog od $19K dla zespołu 10 osób, ceny za obraz według wyceny indywidualnej (stan na wrzesień 2026).
  • W zestawie
  • Brak

Co Chainguard robi dobrze

Strona główna Chainguard
chainguard.dev

Chainguard Containers to, jak ujmuje to Chainguard, katalog obrazów kontenerów zero-CVE budowanych z kodu źródłowego. Każdy obraz ma podpisaną atestację SBOM w formacie SPDX i atestację pochodzenia SLSA 1.0 opisującą środowisko buildu, a wszystko to można zweryfikować za pomocą cosign. Klienci mogą też otrzymać SBOM-y CycloneDX dla nowszych buildów.

Polityka dotycząca CVE jest konkretna. Wobec klientów z zamówieniem Chainguard zobowiązuje się usuwać krytyczne CVE w ciągu 7 dni kalendarzowych, a CVE wysokie, średnie i niskie w ciągu 14 dni kalendarzowych od publicznego udostępnienia kwalifikującej się poprawki, dla wspieranych strumieni wersji swoich obrazów.

Chainguard Libraries stosuje to samo podejście do pakietów językowych. To katalog zależności Java, Python i JavaScript przebudowanych ze zweryfikowanego kodu źródłowego zamiast pobieranych jako gotowe artefakty, dostarczany jako źródło upstream dla JFrog Artifactory, Sonatype Nexus Repository lub Cloudsmith. Każdy pakiet ma podpisy Sigstore, podpisany SBOM i dane o pochodzeniu SLSA Level 3. Chainguard Actions oferuje utwardzone wersje popularnych GitHub Actions, budowane z kodu źródłowego i stale skanowane, a Chainguard VMs stosuje ten model do obrazów maszyn wirtualnych.

CRACI nie wytwarza utwardzonych obrazów ani bibliotek i nie składa żadnych obietnic dotyczących liczby CVE w czymkolwiek, co Państwo pobierają. To zadanie Chainguard.

Czym różni się CRACI

Obserwuje Państwa build, a nie build Chainguard

SBOM-y i dane o pochodzeniu Chainguard opisują artefakty Chainguard, zbudowane w fabryce Chainguard. Państwa build i tak gdzieś działa i pobiera więcej niż obraz bazowy: Państwa własne zależności, toolchainy, narzędzia pobierane przez skrypty instalacyjne i wszystko, co ściągnie krok workflow. CRACI to rejestruje. Proxy rozpoznające pakiety na runnerze obserwuje ruch do źródeł pakietów: npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk i źródeł Git. Dowody są przenoszone razem z cache CI, a każdy SBOM określa swoją kompletność dla każdego zadania i każdego cache: Complete, Complete with connections, Incomplete, Unavailable lub Not recorded.

Ogranicza to, do czego build ma dostęp

Utwardzone składniki pomagają tylko wtedy, gdy build faktycznie ich używa. Polityka ruchu wychodzącego CRACI działa w trybie domyślnej odmowy lub domyślnego zezwolenia, z 24 wbudowanymi presetami źródeł oprogramowania i typowanymi źródłami niestandardowymi dla rejestrów, w tym rejestrów OCI i Git. Polityki są weryfikowane przed startem zadania, a w razie błędu blokują ruch. Polityka, która zezwala na Państwa rejestr Chainguard i repozytorium artefaktów, a poza tym na niewiele więcej, zmienia „używamy Chainguard” z przyjętej konwencji w coś, co egzekwuje runner.

Nadal obserwuje to, co Państwo dostarczyli

API zwraca SBOM-y, ślady sieciowe i dane o pochodzeniu. CRACI nadal ponownie ocenia monitorowane SBOM-y pod kątem nowych podatności. SBOM-y eksportuje się w formacie CycloneDX lub SPDX, łącznie z podatnościami.

Inwentarz tego, co gdzie jest wdrożone

Widok inwentarza CRACI pokazuje dokładnie, które wersje oprogramowania są wdrożone w których produktach, na całym świecie. Gdy pojawi się nowa podatność, widzą Państwo, które produkty używają podatnej wersji, zamiast składać to z informacji o wydaniach i arkuszy kalkulacyjnych.

Wspólne użycie

Typowa konfiguracja:

  • Chainguard dostarcza obrazy bazowe oraz, przez Państwa repozytorium artefaktów, przebudowane biblioteki.
  • CRACI uruchamia oparte na nich zadania GitHub Actions z polityką ruchu wychodzącego, która zezwala na zatwierdzone przez Państwa źródła, i rejestruje, co pobrało każde zadanie.

OCI należy do ekosystemów wykrywanych przez CRACI, a CRACI współpracuje z mirrorami JFrog Artifactory dla npm i PyPI, więc obrazy oraz pakiety Python lub JavaScript, które docierają tą drogą, są częścią zapisu buildu. Obsługa Maven, obejmująca Chainguard Libraries dla Javy, jest w planach rozwoju.

Co wybrać

  • Skanery wciąż oznaczają CVE w Państwa obrazach bazowych: Chainguard zastępuje te obrazy utwardzonymi.
  • Potrzebują Państwo dowodów, co trafiło do każdego wydania: CRACI rejestruje je z buildu.
  • Chcą Państwo buildów, które mają dostęp tylko do zatwierdzonych źródeł: polityka ruchu wychodzącego CRACI egzekwuje to na runnerze.
  • Chcą Państwo zarówno czystych składników, jak i zarejestrowanego buildu: należy używać ich razem, jak opisano powyżej.

Na potrzeby Cyber Resilience Act

Punkt wyjścia w postaci komponentów z niewielką liczbą znanych podatności, udokumentowanego SLA na usuwanie i podpisanych SBOM-ów ułatwia producentowi obsługę podatności. Tu pomaga Chainguard. CRACI automatyzuje znaczną część widoczności łańcucha dostaw oprogramowania i dowodów potrzebnych firmom w szerszym procesie zgodności z CRA: co trafiło do każdego wydania oraz bieżące śledzenie podatności. Żaden z nich sam w sobie nie zapewnia zgodności produktu. Zob. czym jest CRA oraz zgodność z CRA.

Dodanie CRACI do konfiguracji z Chainguard

Wystarczy zainstalować aplikację CRACI GitHub App, a następnie zmienić runs-on na craci w workflow, które mają być rejestrowane. Państwa pliki Dockerfile i konfiguracja pakietów pozostają bez zmian. CRACI obsługuje dziś GitHub Actions; GitLab CI, Jenkins i inne systemy CI są w planach rozwoju. Więcej o generowaniu SBOM w czasie buildu i integracji CI/CD.

Build na czystych składnikach, z dowodem

Proszę uruchomić na runnerze CRACI jeden workflow GitHub Actions, który używa Państwa obrazów Chainguard, i obejrzeć pozostawiony przez niego zapis.

Umów demo