Cíle skenování
Celá skupina v GitLabu (i s podskupinami) nebo jeden projekt. Vyberete větve, plán (cron), výjimky - a případně i vlastní GitLab instanci a token.
Vulnyard centrálně skenuje vaše GitLab skupiny a projekty přes Trivy, nahrává CycloneDX SBOM do Dependency-Tracku a dává DevOps jeden dashboard pro celou organizaci - bez pipeline, bez merge requestů.
Open source · Apache-2.0
Žádné CI joby, žádné merge requesty ke schválení, žádné konfigurační soubory ve stovkách projektů. Vulnyardu stačí token pro čtení.
Nový repozitář ve skenované skupině se najde sám. Na otázku „kde všude máme CVE-XXXX?“ odpovíte napříč projekty během pár vteřin.
Trivy pro SBOM, CycloneDX jako formát, Dependency-Track pro analýzu. Data zůstávají v nástrojích, které znáte a můžete dál používat.
Funkce
Vše, co potřebujete k hlídání zranitelných závislostí ve velkém GitLabu - a aby se o nich dozvěděli ti správní lidé.
Celá skupina v GitLabu (i s podskupinami) nebo jeden projekt. Vyberete větve, plán (cron), výjimky - a případně i vlastní GitLab instanci a token.
Mělký klon, Trivy, CycloneDX SBOM, upload do Dependency-Tracku. Projekt, jehož commit se od posledního skenu nezměnil, se přeskočí.
Souhrny podle závažnosti, trend za 30/90/180 dní, nejrizikovější projekty, detail projektu s nálezy a historií a přehled zranitelností napříč projekty.
Nálezy, zlepšení i nefunkční skenování jdou do Google Chatu - jedno vlákno na repozitář, s tím, co se od minula změnilo, a kdo repozitář spravuje.
Potlačení nálezu pro jeden cíl nebo všude, jen pro vybrané komponenty a do zvoleného data. Analýza se zapíše i do Dependency-Tracku.
Historie běhů s chybami po jobech, ruční spuštění a zrušení běhu, vestavěný plánovač, retence historie a testy spojení v Nastavení.
Vše z UI je i v API, zdokumentované přes OpenAPI. Tokeny pro čtení nebo zápis umožní jiným systémům třeba samy zakládat cíle skenování.
Čeština a angličtina v základu. Další jazyk jsou dva soubory s překladem - bez zásahu do kódu.
Jak to funguje
Každý projekt a větev je jeden job ve frontě. Klony se po skenu hned mažou a do GitLabu se nikdy nic nezapisuje.
Pro každý cíl skenování Vulnyard přes GitLab API zjistí projekty a větve - nové repozitáře ve skupině najde sám.
Mělký klon jedné větve proskenuje Trivy a vytvoří z něj CycloneDX soupis softwarových komponent (SBOM).
SBOM se nahraje do Dependency-Tracku, který ho průběžně analyzuje - nově zveřejněná CVE se objeví i bez nového skenu.
Dashboard udělá z nálezů přehled pro celou organizaci a notifikace v chatu doputují ke správcům repozitáře.
Rychlý start
Každá verze vychází jako kontejnerový image pro linux/amd64 i linux/arm64. Serveru stačí docker-compose.yml a .env.
read_api, read_repository)# verze, kterou chcete spustit VERSION=X.Y.Z mkdir vulnyard && cd vulnyard curl -fsSLO https://raw.githubusercontent.com/oldsch00ler/vulnyard/v$VERSION/docker-compose.yml curl -fsSL -o .env https://raw.githubusercontent.com/oldsch00ler/vulnyard/v$VERSION/.env.example # vyplňte .env, nastavte POSTGRES_PASSWORD a # VULNYARD_IMAGE=ghcr.io/oldsch00ler/vulnyard:$VERSION docker compose pull docker compose up -d --no-build
Aplikace pak běží na portu 8000. Nemáte Dependency-Track? Compose soubor z repozitáře ho umí spustit lokálně - viz README. Ve výchozím nastavení Vulnyard nikoho nepřihlašuje, provozujte ho proto za VPN nebo za autentizační proxy.
Open source
Vulnyard je pod licencí Apache-2.0. Hlášení chyb, nápady, překlady i pull requesty jsou vítané. Našli jste bezpečnostní problém? Nahlaste ho prosím neveřejně podle bezpečnostních zásad.