Každý repozitář v GitLabu proskenovaný. Nic se do nich nepřidává.

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

  1. GitLabskupiny a projekty, vlastní instance i gitlab.com
  2. Trivymělký klon, CycloneDX SBOM
  3. Vulnyardplánování, cíle, pravidla
  4. Dependency-Trackanalýza zranitelností a metriky
  5. Dashboard a chatpřehled, trendy, notifikace
01

Žádná stopa v repozitářích

Žádné CI joby, žádné merge requesty ke schválení, žádné konfigurační soubory ve stovkách projektů. Vulnyardu stačí token pro čtení.

02

Celá organizace na jednom místě

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.

03

Postavené na otevřených standardech

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

Co pro vás Vulnyard udělá

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é.

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.

Úsporné skenování

Mělký klon, Trivy, CycloneDX SBOM, upload do Dependency-Tracku. Projekt, jehož commit se od posledního skenu nezměnil, se přeskočí.

Dashboard

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.

Notifikace do chatu

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.

Ignorování zranitelností

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.

Provoz

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í.

REST API s tokeny

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í.

Vícejazyč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

Od repozitáře k dashboardu

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.

  1. Vyhledání

    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.

  2. Vytvoření SBOM

    Mělký klon jedné větve proskenuje Trivy a vytvoří z něj CycloneDX soupis softwarových komponent (SBOM).

  3. Analýza v Dependency-Tracku

    SBOM se nahraje do Dependency-Tracku, který ho průběžně analyzuje - nově zveřejněná CVE se objeví i bez nového skenu.

  4. Reakce

    Dashboard udělá z nálezů přehled pro celou organizaci a notifikace v chatu doputují ke správcům repozitáře.

Rychlý start

Spuštěno za pár minut

Každá verze vychází jako kontejnerový image pro linux/amd64 i linux/arm64. Serveru stačí docker-compose.yml a .env.

  • Docker s Compose
  • GitLab - vlastní instance nebo gitlab.com - a skupinový token s rolí Reporter (read_api, read_repository)
  • Dependency-Track 4.12 nebo novější a API klíč týmu
  • PostgreSQL - součástí Compose souboru
shell
# 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

Zdarma k použití, otevřené příspěvkům

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.