Trivy는 Aqua Security에서 개발하고 CNCF(Cloud Native Computing Foundation)에서 호스팅하는 오픈소스 보안 스캐너입니다. "tri"(세 가지)와 "vy"(취약점)의 합성어로, 원래는 세 가지 대상(OS 패키지, 애플리케이션 의존성, IaC)을 스캔하는 것에서 시작했지만, 현재는 컨테이너, 파일시스템, Git 저장소, VM 이미지, Kubernetes 등 다양한 대상을 지원하는 종합 스캐너로 발전했습니다.
Trivy의 주요 스캔 대상은 네 가지입니다. 취약점(Vulnerabilities)은 NVD, GitHub Advisory Database 등을 참조하여 알려진 CVE를 탐지합니다. 설정 오류(Misconfigurations)는 Terraform, Dockerfile, Kubernetes 매니페스트의 보안 모범 사례 위반을 검사합니다. 비밀 정보(Secrets)는 API 키, 비밀번호, 인증서 등이 코드에 노출되어 있는지 탐지합니다. 라이선스(Licenses)는 오픈소스 컴포넌트의 라이선스 준수 여부를 확인합니다.
Trivy는 설치와 사용이 매우 간단합니다. 단일 바이너리로 배포되어 의존성 없이 실행되며, trivy image nginx:latest 같은 단순한 명령으로 즉시 스캔할 수 있습니다. 오프라인 환경에서도 취약점 DB를 다운로드하여 사용할 수 있고, 다양한 출력 형식(JSON, SARIF, CycloneDX SBOM)을 지원합니다. GitHub Actions, GitLab CI, Jenkins 등 모든 주요 CI/CD 플랫폼과 쉽게 통합됩니다.
Trivy Operator는 Kubernetes 클러스터 내에서 지속적으로 보안 스캔을 수행하는 컴포넌트입니다. 클러스터에 배포된 모든 워크로드를 자동으로 스캔하고, 결과를 Kubernetes CRD(Custom Resource Definition)로 저장합니다. 이를 통해 kubectl이나 Prometheus/Grafana로 보안 상태를 모니터링할 수 있습니다. Trivy는 Clair, Grype 등 다른 스캐너와 비교해 속도, 정확도, 사용 편의성에서 우수한 평가를 받습니다.