XMASKNEWS
Aktualizacja:
Help Net SecurityEN→PLCyber

Witness: Open-source'owy framework do weryfikacji procesu budowania oprogramowania

Witness to narzędzie CLI, które rejestruje proces budowania oprogramowania, podpisuje te zapisy i sprawdza ich zgodność z polityką bezpieczeństwa przed wydaniem produktu.

Witness to nowe, otwartoźródłowe narzędzie wiersza poleceń stworzone przez TestifySec, które zostało przekazane do ekosystemu in-toto pod egidą CNCF. Narzędzie rozwiązuje problem braku przejrzystości w procesie kompilacji, pozwalając sprawdzić, która maszyna wyprodukowała dany plik binarny oraz jakie dokładnie komponenty brały w tym udział. Dzięki temu zespoły mogą mieć pewność, że kod nie został podmieniony na etapie budowania.

Mechanizm działania opiera się na otaczaniu komend budujących (np. go build) i generowaniu podpisanych atestacji w formacie JSON (DSSE). Dokumentacja zawiera informacje o materiałach wejściowych, wykonanych poleceniach oraz produktach końcowych. Narzędzie wspiera standard SLSA, co pozwala na spełnienie wymogów poziomu 1 w ramach tego frameworka zapewniającego integralność budowania.

Weryfikacja odbywa się poprzez porównanie ze skomplikowaną polityką zapisaną w formacie JSON, która definiuje wymagane kroki, typy atestacji oraz dopuszczalne klucze publiczne. Reguły te mogą być rozszerzane za pomocą języka Rego. Witness integruje się z popularnymi platformami takimi jak GitHub, GitLab, AWS czy GCP oraz wspiera bezkluczowe podpisywanie za pomocą Sigstore.

Projekt oferuje szerokie możliwości integracji, w tym wsparcie dla znaczników czasu RFC 3161 oraz przechowywanie danych w projekcie Archivista. Co istotne, proces weryfikacji może odbywać się nawet w środowisku odizolowanym (air-gap), o ile weryfikator posiada podpisany plik polityki, artefakt oraz odpowiedni klucz publiczny.