Vaše závislosti jsou váš attack surface — každá knihovna třetí strany může obsahovat známou zranitelnost. Log4Shell (CVE-2021-44228) ukázal, jak jediná zranitelnost v populární knihovně ohrozila miliony aplikací. Automatické skenování závislostí v CI/CD pipeline je minimum — najde známé CVE dříve, než se dostanou do produkce. Ruční kontrola při stovkách tranzitivních závislostí není realistická.
Nástroje¶
# Trivy (univerzální — kontejnery, filesystem, IaC)
trivy fs .
trivy image myapp:latest
# npm
npm audit --audit-level=high
# Python
pip-audit
# Go
govulncheck ./...
Trivy je nejuniverzálnější — skenuje nejen závislosti, ale i Docker images, Kubernetes manifesty a Terraform konfiguraci. Snyk nabízí developer-friendly UX s automatickými fix PR. npm audit a pip-audit jsou language-specific alternativy zabudované do ekosystému.
CI/CD¶
- uses: aquasecurity/trivy-action@master
with:
scan-type: fs
severity: HIGH,CRITICAL
exit-code: 1
Integrace do CI/CD pipeline zajistí, že žádný merge request s kritickou zranitelností neprojde do main branch. Nastavte severity threshold — blockujte CRITICAL a HIGH, WARNING reportujte. Pro container images skenujte v build i deploy fázi, protože nové CVE se objevují průběžně.
Automatické aktualizace¶
# Dependabot (.github/dependabot.yml)
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 10
Dependabot a Renovate automaticky vytvářejí pull requesty s aktualizacemi závislostí. V kombinaci s CI testy to umožňuje rychle reagovat na bezpečnostní opravy. Renovate nabízí pokročilejší konfiguraci — auto-merge pro minor/patch updates, grouping related updates a scheduled maintenance windows.
Klíčový takeaway¶
Skenujte závislosti v CI/CD pipeline, automatizujte aktualizace s Dependabot nebo Renovate. Trivy pro univerzální skenování, language-specific nástroje jako doplněk.