encyklopedia.space

Trivy

Trivy – otwarto‑źródłowy skaner podatności i nieprawidłowości w obrazach kontenerów oraz kodzie źródłowym, opracowany przez firmę Aqua Security. Narzędzie umożliwia automatyczną detekcję znanych luk bezpieczeństwa (CVE), nieaktualnych pakietów, niezgodności z standardami CIS oraz problemów konfiguracyjnych w środowiskach Docker i Kubernetes.

Historia i rozwój

Projekt Trivy rozpoczął się w 2020 roku jako wewnętrzne narzędzie Aqua Security, a pierwsza publiczna wersja 0.1.0 została udostępniona w 2020 roku. Od tego czasu społeczność open‑source przyczyniła się do wprowadzenia licznych usprawnień, m.in. wsparcia dla skanowania infrastruktury jako kodu (IaC), obrazów OCI oraz repozytoriów GitHub.

Funkcje

  • Wykrywanie podatności w zależnościach systemowych (pakiety Debian, Alpine, Red Hat), językach programowania (Python, Node.js, Go) oraz frameworkach.
  • Analiza konfiguracji pod kątem najlepszych praktyk bezpieczeństwa (CIS Benchmarks).
  • Skanowanie szablonów Kubernetes (manifests, Helm charts).
  • Wykrywanie niezgodności w Infrastructure as Code (Terraform, CloudFormation, Ansible).
  • Wsparcie dla trybu offline – skanowanie bez połączenia z Internetem po uprzednim pobraniu baz danych.
  • Eksport wyników w formatach JSON, Junit, SARIF i Table.

Architektura

Trivy składa się z trzech głównych komponentów:

  1. Klient – lekkie narzędzie wiersza poleceń (trivy) działające na systemach Linux, macOS i Windows.
  2. Baza danych – centralny repozytorium podatności, które jest synchronizowane codziennie z publicznymi źródłami, takimi jak National Vulnerability Database i GitHub Advisory Database.
  3. Silnik skanujący – komponent analizujący obrazy, warstwy kontenerów oraz pliki konfiguracyjne, wykorzystując m.in. OSV i sprawdzanie licencji.

Przykładowe zastosowanie

Poniżej przedstawiono typowy scenariusz użycia Trivy w procesie CI/CD:

# Pobranie najnowszej wersji bazy podatności
trivy image --download-db-only

# Skanowanie obrazu Docker
trivy image myapp:latest

# Skanowanie katalogu z kodem źródłowym
trivy fs ./src

# Skanowanie plików Terraform
trivy config ./infra

Integracje

Trivy jest często integrowany z popularnymi rozwiązaniami DevSecOps, m.in.:

Porównanie z innymi skanerami

Narzędzie Rodzaj skanowania Baza podatności Licencja
Trivy Obrazy, filesystem, IaC, konfiguracje Własna (daily sync) Apache 2.0
Clair Obrazy kontenerów NVD + distro repos Apache 2.0
Anchore Engine Obrazy, polityki Własna + NVD Apache 2.0

Wspólnota i wsparcie

Projekt jest rozwijany publicznie na platformie GitHub pod adresem github.com/aquasecurity/trivy. Użytkownicy mogą zgłaszać błędy, proponować nowe funkcje oraz przyczyniać się do aktualizacji bazy podatności poprzez pull requesty. Dostępny jest także kanał Slack oraz forum dyskusyjne.

Patenty i licencjonowanie

Trivy jest udostępniony na licencji Apache License 2.0, co umożliwia bezpłatne użycie, modyfikację oraz dystrybucję zarówno w projektach komercyjnych, jak i niekomercyjnych.

Przyszłe kierunki rozwoju

  • Rozszerzenie wsparcia dla nowych języków i menedżerów pakietów.
  • Lepsza integracja z rozwiązaniami SBOM (Software Bill of Materials).
  • Wdrożenie funkcji policy as code umożliwiającej definiowanie własnych reguł bezpieczeństwa.

Trivy stał się jednym z najpopularniejszych narzędzi w ekosystemie DevSecOps, zapewniając szybkie i kompleksowe wykrywanie podatności w dynamicznie zmieniających się środowiskach kontenerowych.