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

Podatności

CSAF: Common Security Advisory Framework dla biuletynów do odczytu maszynowego

Biuletyny bezpieczeństwa były kiedyś stronami internetowymi i plikami PDF, które ktoś musiał przeczytać, produkt po produkcie. Common Security Advisory Framework (CSAF) to standard OASIS, który zamienia je w dokumenty JSON, które narzędzie może pobrać, zwalidować i dopasować do używanych przez Państwa produktów.

Zaktualizowano

Czym jest CSAF?

Common Security Advisory Framework (CSAF) to standard OASIS CSAF Technical Committee służący do zapisywania biuletynów bezpieczeństwa jako ustrukturyzowanego JSON i rozpowszechniania ich tak, aby można je było automatycznie odnajdywać i przetwarzać. Dokument CSAF mówi, których produktów i wersji dotyczy podatność, których nie dotyczy, które są już naprawione i co powinni zrobić użytkownicy.

Aktualna wersja to CSAF 2.0, zatwierdzona jako OASIS Standard 18 listopada 2022. CSAF 2.1 jest w drodze: jego trzeci Committee Specification Draft przeszedł publiczny przegląd we wrześniu 2026, a według stanu na październik 2026 nie jest jeszcze zatwierdzonym standardem.

Biuletyny piszą dostawcy, zwykle ich zespół reagowania na incydenty bezpieczeństwa produktu (PSIRT), oraz koordynatorzy, tacy jak krajowe zespoły CERT. Czym różnią się te dwa rodzaje zespołów, wyjaśnia strona PSIRT a CSIRT.

Od CVRF do CSAF

CSAF wyrósł z Common Vulnerability Reporting Framework (CVRF), formatu XML. ICASI opublikował CVRF 1.1 w maju 2012, a OASIS opublikował CVRF 1.2 we wrześniu 2017. CSAF 2.0 zastąpił go formatem JSON, schematem JSON do walidacji, profilami dla różnych rodzajów dokumentów oraz zasadami rozpowszechniania i odnajdywania biuletynów. Specyfikacja nadal określa, jak konwertować dokumenty CVRF do CSAF.

Struktura dokumentu CSAF

Dokument CSAF ma trzy części najwyższego poziomu:

  • document: metadane. Pięć właściwości jest obowiązkowych: kategoria (profil, któremu podlega dokument), wersja CSAF, wydawca, tytuł i dane śledzenia. Dane śledzenia obejmują identyfikator biuletynu, jego status, wersję, daty pierwszego i bieżącego wydania oraz historię zmian.
  • product_tree: wszystkie produkty wymienione w dokumencie, zwykle jako gałęzie od dostawcy przez nazwę produktu do wersji, z identyfikatorami produktów, do których odwołuje się reszta dokumentu. Produkty można też identyfikować za pomocą package URL (purl), CPE lub skrótów.
  • vulnerabilities: jeden wpis na podatność, z jej identyfikatorem CVE lub innymi, notatkami, ocenami i statusem produktu, który rozdziela identyfikatory produktów na listy: known_affected, known_not_affected, fixed, first_affected, last_affected, first_fixed, recommended i under_investigation. Sposoby usunięcia problemu mają kategorie vendor_fix, workaround, mitigation, no_fix_planned lub none_available.

Pięć profili CSAF

W CSAF jako całości obowiązkowych pól jest niewiele. Profile określają, które z nich musi mieć dany rodzaj dokumentu, a wartość /document/category mówi, któremu profilowi podlega dokument:

Profil Wartość kategorii Zastosowanie
CSAF Base csaf_base Minimum, które spełnia każdy dokument CSAF; kategoria zbiorcza dla dokumentów niepasujących do innego profilu
Reagowanie na incydent bezpieczeństwa csaf_security_incident_response Reakcja na naruszenie lub incydent bezpieczeństwa, także w innej organizacji
Biuletyn informacyjny csaf_informational_advisory Problemy niebędące podatnościami, takie jak niebezpieczna błędna konfiguracja
Biuletyn bezpieczeństwa csaf_security_advisory Podatności i sposoby ich usunięcia; klasyczny biuletyn dostawcy
VEX csaf_vex Informacja, czy i dlaczego dana podatność dotyczy danego produktu lub go nie dotyczy

Biuletyn bezpieczeństwa musi mieć drzewo produktów, podatności, notatki do każdej podatności i status produktu. Profil VEX idzie dalej: każdy produkt wymieniony jako known_not_affected wymaga oświadczenia o wpływie, w postaci flagi do odczytu maszynowego lub tekstu, a każdy produkt known_affected wymaga opisu sposobu usunięcia problemu, który mówi użytkownikom, co mają zrobić.

CSAF VEX

VEX (Vulnerability Exploitability eXchange) mówi użytkownikom, które podatności w komponentach produktu faktycznie dotyczą produktu. CSAF VEX to jeden z trzech popularnych formatów VEX, obok OpenVEX i CycloneDX VEX. Jego flagi używają tych samych pięciu uzasadnień braku podatności co wymagania VEX organizacji CISA, takich jak component_not_present i vulnerable_code_not_in_execute_path. Trivy i Grype odczytują CSAF VEX i pomijają znaleziska, które oznacza on jako niepodatne. Red Hat, na przykład, publikuje swoje dokumenty CSAF VEX w osobnym katalogu obok biuletynów CSAF.

Jak rozpowszechniane są biuletyny CSAF

Standardowy format pomaga tylko wtedy, gdy narzędzia mogą znaleźć dokumenty. Sposób opisuje sekcja 7 CSAF 2.0:

  • provider-metadata.json opisuje wydawcę i miejsce, w którym są jego biuletyny. Narzędzia znajdują go co najmniej jedną z trzech dróg: przez pole CSAF w pliku security.txt domeny, przez adres well-known /.well-known/csaf/provider-metadata.json lub przez nazwę DNS csaf.data.security. przed domeną.
  • Biuletyny są wymienione w folderach rocznych z plikami index.txt i changes.csv albo w kanałach ROLIE, serwowanych przez TLS bez przekierowań.
  • Każdy plik nosi nazwę od swojego identyfikatora śledzenia. Biuletyny TLP:WHITE muszą być swobodnie dostępne, a TLP:AMBER lub TLP:RED muszą znajdować się za kontrolą dostępu.
  • Integralność: zaufani dostawcy dodają do każdego dokumentu skrót i podpis OpenPGP oraz publikują swój klucz publiczny.

Standard określa pięć ról, które może deklarować strona rozpowszechniająca biuletyny:

Rola Co robi
Wydawca CSAF Publikuje poprawne dokumenty CSAF, wyłącznie we własnym imieniu, przez TLS
Dostawca CSAF Wydawca, który oferuje też provider-metadata.json, drogę odnalezienia oraz katalog lub kanał ROLIE
Zaufany dostawca CSAF Dostawca, który publikuje też skróty, podpisy OpenPGP i swój klucz publiczny
Lister CSAF Prowadzi listę miejsc, w których można znaleźć dokumenty CSAF innych stron, bez ich kopiowania
Agregator CSAF Utrzymuje w jednym miejscu kopie lustrzane dokumentów co najmniej dwóch niezależnych wystawców, ze skrótami i podpisami

Odbiorcy jednorazowo konfigurują program pobierający, a potem ściągają nowe biuletyny od wszystkich dostawców, od których zależą ich produkty, zamiast śledzić dziesiątki stron dostawców.

Kto publikuje CSAF

CSAF jest najpopularniejszy wśród dostawców przemysłowych, korporacyjnych i infrastrukturalnych oraz krajowych zespołów CERT:

  • Cisco udostępnia provider-metadata.json pod swoim adresem well-known CSAF.
  • Siemens ProductCERT publikuje swoje biuletyny jako kanał CSAF ROLIE.
  • Red Hat publikuje biuletyny CSAF, a osobno dokumenty CSAF VEX.
  • CERT-Bund z BSI, krajowy CERT Niemiec, publikuje kanały CSAF ze swoimi biuletynami.
  • CISA ogłosiła we wrześniu 2023, że jej biuletyny ICS są opatrzone dokumentami CSAF, począwszy od 2017 roku, i wezwała dostawców do przyjęcia standardu.

Dostawcy przemysłowi pracujący zgodnie z IEC 62443-4-1 potrzebują procesu informowania użytkowników o problemach bezpieczeństwa w swoich produktach, a biuletyny do odczytu maszynowego to częsty sposób spełnienia oczekiwań klientów.

Narzędzia CSAF

  • Secvisogram to webowy edytor dokumentów CSAF od BSI, z edytorem formularzowym, edytorem JSON, podglądem HTML i walidacją.
  • Narzędzia csaf od BSI i Intevation (gocsaf/csaf, często nazywane csaf_distribution) implementują zaufanego dostawcę, program sprawdzający, agregator i program pobierający, a wersja dla CSAF 2.1 jest w przygotowaniu.
  • Skanery takie jak Trivy i Grype korzystają z dokumentów CSAF VEX.

Jak napisać dobry biuletyn bezpieczeństwa

Z CSAF czy bez, użyteczny biuletyn odpowiada na te same pytania. Oto szablon, do którego dochodzi większość zespołów PSIRT, wraz z polem CSAF zawierającym każdą odpowiedź:

Element biuletynu Co napisać W CSAF
Identyfikator i tytuł Stały identyfikator biuletynu i tytuł wskazujący produkt oraz rodzaj problemu tracking/id, title
Daty i rewizje Data pierwszej publikacji, data ostatniej aktualizacji i co zmieniło się w każdej rewizji Daty w tracking oraz revision_history
Produkty, których dotyczy problem Dokładne produkty i zakresy wersji, a nie „starsze wersje” product_tree, known_affected
Niepodatne i naprawione Które produkty i wersje nie są podatne i które wersje zawierają poprawkę known_not_affected, fixed, first_fixed
Podatność Identyfikatory CVE, prosty opis, wpływ i sposób wykorzystania, bez przepisu dla napastników cve, ids, notes
Dotkliwość Ocena CVSS z wektorem, aby czytelnik mógł ją sprawdzić scores
Usunięcie problemu Naprawiona wersja, obejście lub środek łagodzący albo jasna informacja, że poprawka nie jest planowana remediations
Podziękowania i odnośniki Kto zgłosił problem, linki do powiązanych biuletynów i poprawek acknowledgments, references
Kontakt Gdzie zgłaszać problemy i zadawać pytania publisher/contact_details

Kilka nawyków decyduje o tym, czy ludzie zareagują na biuletyn, czy go zignorują:

  • Dokładnie podawać wersje. To na podstawie zakresu wersji klienci podejmują działania. Dla każdej linii produktów należy wskazać pierwszą podatną i pierwszą naprawioną wersję.
  • Mówić, czego problem nie dotyczy. Klienci korzystający z produktów, które Państwo wykluczyli, przestają pytać, a ich skanery przestają je oznaczać, jeśli publikują Państwo również VEX.
  • Aktualizować, a nie zastępować. Należy prowadzić jeden biuletyn na problem i dodawać rewizje w miarę dostarczania poprawek.
  • Publikować w uzgodnionym terminie. Biuletyny to punkt końcowy skoordynowanego ujawniania podatności, wydawane, gdy poprawka jest dostępna, a zgłaszający został poinformowany.

Kroki poprzedzające biuletyn, od przyjęcia zgłoszenia i triażu po poprawkę, opisuje cykl życia zarządzania podatnościami, a osoby wykonujące tę pracę strona rola PSIRT.

Najtrudniej ustalić, czego to dotyczy

Każdy biuletyn, w CSAF czy w dowolnym innym formacie, zależy od jednej odpowiedzi: które produkty i wersje zawierają podatny komponent. W przypadku oprogramowania budowanego z pakietów open source oznacza to wiedzę o tym, które dokładnie wersje zależności trafiły do każdego wydania, łącznie z przechodnimi.

CRACI uruchamia buildy GitHub Actions na własnych runnerach i rejestruje pakiety faktycznie pobrane przez każde zadanie, łącznie z zależnościami przechodnimi, pakietami przywróconymi z cache i zależnościami, których nie wymienia żaden lockfile. Gdy zostanie opublikowana nowa podatność, monitorowane SBOM-y są ponownie oceniane, a historia buildów pokazuje, które wcześniejsze buildy i wydania zawierały podatną zależność, bezpośrednio lub przechodnio, dzięki czemu znają Państwo okres narażenia. Widok inwentarza pokazuje, które wersje są wdrożone w których produktach, a triaż kieruje każde znalezisko do zespołu odpowiedzialnego za poprawkę. SBOM-y można eksportować w formacie CycloneDX lub SPDX, a CRACI obsługuje VEX. Zob. śledzenie podatności.

CSAF: najczęściej zadawane pytania

Co oznacza skrót CSAF?

W bezpieczeństwie CSAF oznacza Common Security Advisory Framework, standard OASIS służący do zapisywania biuletynów bezpieczeństwa jako dokumentów JSON do odczytu maszynowego i rozpowszechniania ich tak, aby narzędzia mogły je automatycznie odnajdywać i przetwarzać.

Jaka jest aktualna wersja CSAF?

CSAF 2.0, zatwierdzony jako OASIS Standard 18 listopada 2022. CSAF 2.1 jest w przygotowaniu: publiczny przegląd jego trzeciego Committee Specification Draft zakończył się 29 września 2026, a według stanu na październik 2026 nie jest on jeszcze zatwierdzonym OASIS Standard.

Jaka jest różnica między CSAF a CVE?

Rekord CVE identyfikuje jedną podatność i opisuje ją w ogólny sposób. Biuletyn CSAF, publikowany przez dostawcę lub koordynatora, mówi, jak ta podatność, a często także kilka innych, wpływa na konkretne produkty i wersje oraz co należy z tym zrobić. Biuletyny CSAF odwołują się do identyfikatorów CVE.

Czym jest CSAF VEX?

CSAF VEX to profil csaf_vex standardu CSAF. Zawiera oświadczenia VEX: dla każdego produktu informację, czy jest podatny, niepodatny, naprawiony, czy w trakcie analizy, wraz z oświadczeniem o wpływie dla produktów niepodatnych i sposobem usunięcia problemu dla produktów podatnych. Trivy i Grype potrafią go odczytać, aby wyciszać znaleziska.

Czym jest dostawca CSAF?

Dostawca CSAF to organizacja, która publikuje własne dokumenty CSAF w sposób umożliwiający narzędziom ich odnalezienie: plik provider-metadata.json, możliwy do znalezienia przez security.txt, adres well-known lub nazwę DNS, oraz katalog albo kanał ROLIE z biuletynami. Zaufany dostawca dodaje skróty, podpisy OpenPGP i opublikowany klucz publiczny.

Co zastąpił CSAF?

Common Vulnerability Reporting Framework (CVRF), format XML. CVRF 1.1 opublikował ICASI w 2012 roku, a CVRF 1.2 OASIS w 2017 roku. CSAF 2.0 przeszedł na JSON i dodał profile, drzewa produktów oraz zasady dystrybucji.

Jak napisać biuletyn CSAF?

Większość zespołów zaczyna od edytora, takiego jak Secvisogram, webowy edytor CSAF od BSI, lub generuje JSON z własnego systemu śledzenia podatności. Należy wybrać profil, zwykle csaf_security_advisory, uzupełnić wydawcę, dane śledzenia, drzewo produktów i podatności, zwalidować dokument względem schematu i opublikować go przez dostawcę.

Których Państwa wydań dotyczy biuletyn?

Biuletyn zaczyna się od wiedzy o tym, które buildy zawierają podatny komponent. Proszę umówić demo i zobaczyć to w historii Państwa buildów GitHub Actions.

Umów demo