피드로 돌아가기
Performance Test: Grype 0.70 vs Trivy 0.50 Scan Times – 15% Faster for Alpine Images
Dev.toDev.to
Security

Grype 0.70 도입을 통한 Alpine 이미지 스캔 속도 15% 개선

Performance Test: Grype 0.70 vs Trivy 0.50 Scan Times – 15% Faster for Alpine Images

ANKUSH CHOUDHARY JOHAL2026년 4월 29일20intermediate

Context

CI 파이프라인 내 컨테이너 이미지 취약점 스캔 과정에서 발생하는 연산 비용과 시간이 개발 병목으로 작용하는 상황. 특히 Alpine 기반 이미지의 대규모 스캔 시 기존 Trivy 0.50의 In-memory 캐싱 구조로 인한 효율성 한계 노출.

Technical Solution

  • Rust 기반 Indexer 채택을 통한 데이터 처리 성능 최적화 및 메모리 효율성 확보
  • RocksDB 기반의 Persistent on-disk caching 구조 설계로 반복 스캔 시 I/O 오버헤드 감소
  • Alpine secdb 엔트리에 최적화된 Aggressive matching 알고리즘 적용을 통한 탐지 정밀도 향상
  • Trivy-compatible output mode 지원으로 기존 CycloneDX-JSON 파이프라인과의 하위 호환성 유지
  • Ephemeral CI 환경 내 Persistent cache 레이어 구성을 통한 재스캔 속도 22% 추가 단축

Impact

  • Alpine 3.19 이미지 스캔 속도 15.2% 향상 (Trivy 4.9s $\rightarrow$ Grype 4.2s)
  • Peak Memory Usage 절감 (Trivy 620MB $\rightarrow$ Grype 480MB)
  • 일일 1,000회 스캔 기준 월 약 $1,200의 CI 컴퓨팅 비용 절감
  • 이미지 크기(7.3MB~210MB)에 관계없이 평균 14~16%의 일관된 성능 우위 기록

- 일일 100회 이상의 Alpine 이미지 스캔이 발생하는 환경인지 확인 - CI 환경의 스토리지 지속성 여부에 따른 RocksDB 캐싱 전략 수립 - `--severity` 플래그 등 Trivy 전용 옵션의 대체 구현 방안 검토 - 이기종 이미지 스택 사용 시 Trivy와 Grype의 하이브리드 운영 고려

원문 읽기