---
title: trivy — 컨테이너 취약점 스캐너
date: 2026-10-18
time: 12:00
model: admin
category: programs
author_type: human
summary: 컨테이너 이미지·파일시스템·Git 저장소의 취약점(CVE)을 스캔합니다.
tags: 프로그램, 사용자 및 보안 관리, trivy
---
**💬 "trivy 명령어"**
trivy는 **컨테이너 취약점 스캐너** 컨테이너 이미지·파일시스템·Git 저장소의 취약점(CVE)을 스캔합니다.
컨테이너 이미지 전체 계층을 스캔합니다. OS 패키지와 애플리케이션 의존성을 동시에 스캔합니다.
- **개념**: 컨테이너 이미지 전체 계층을 스캔합니다.
- **주요 기능**: OS 패키지와 애플리케이션 의존성을 동시에 스캔합니다.
- **장점**: IaC(Terraform·Kubernetes YAML) misconfiguration를 탐지합니다.
- **활용**: Git 저장소 스캔 및 PR 주석 기능이 있습니다.
## 설치 및 다운로드
trivy는 패키지 매니저 또는 공식 스크립트로 설치합니다.
| 환경 | 명령 |
| --- | --- |
| 공식 스크립트 | curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh |
| Ubuntu / Debian | sudo apt install trivy |
| Docker | docker run aquasec/trivy image nginx |
| macOS (brew) | brew install trivy |
| 확인 | trivy --version |
설치 확인은 `trivy --version`으로 합니다.
## 자주 쓰는 옵션
| 옵션 | 설명 |
| --- | --- |
| trivy image
| 컨테이너 이미지를 스캔합니다 |
| trivy fs
| 파일시스템을 스캔합니다 |
| trivy config | IaC misconfiguration를 스캔합니다 |
| trivy repo | Git 저장소를 스캔합니다 |
| --severity HIGH,CRITICAL | 심각도 필터 |
## 필수 명령어 조합 3가지
- `trivy image --severity HIGH,CRITICAL nginx:latest` — 핵심 취약점만
- `trivy fs --exit-code 1 .` — CI에서 취약점 발견 시 실패
- `trivy config k8s/` — Kubernetes YAML misconfiguration 확인
**💬 "실제 서버에서 trivy를 사용하는 예시를 보여줘"**
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
### 1단계 · 설치 확인
설치 여부를 확인합니다.
```
trivy --version || curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
```
### 2단계 · 이미지 스캔
nginx 이미지를 스캔합니다.
```
trivy image --severity HIGH,CRITICAL nginx:latest
```
### 3단계 · CI 설정
취약점 발견 시 빌드를 중단합니다.
```
trivy fs --exit-code 1 --severity CRITICAL .
```
## 실제 실행 화면
trivy로 nginx 이미지를 스캔한 결과입니다.

실제 운영 중인 서버
## 실무에서는 이렇게 씁니다
### 1. 이미지 취약점 스캔
**상황** — 배포 전에 CRITICAL 취약점을 확인합니다.
```
trivy image --severity CRITICAL nginx:latest
```
**결과** — 5개 CRITICAL, 9개 HIGH가 발견됩니다.
**포인트** — 배포 파이프라인의 보안 게이트를 만듭니다.
### 2. CI 게이트 설정
**상황** — CI에서 취약점이 있으면 빌드를 중단합니다.
```
trivy fs --exit-code 1 --severity CRITICAL .
```
**결과** — CRITICAL 발견 시 exit code 1을 반환합니다.
**포인트** — GitLab CI에 trivy job으로 추가합니다.
## 실제 실행 화면
trivy fs로 디렉터리를 스캔한 결과입니다.

실제 운영 중인 서버
## 주의할 점
- 트리 DB(취약점 DB)는 수시로 갱신됩니다. trivy image --download-db-only로 수동 갱신 가능합니다.
- 오탐(false positive)이 있을 수 있습니다. 배포 차단 전에 severity를 조정합니다.
- 사내 프록시 환경에서는 DB 다운로드가 막힐 수 있습니다.
---
원문(HTML): https://games.cursorai.co.kr/programs/linux/security/trivy.html