비교
CRACI vs Trivy
Trivy는 지정한 대상에서 SBOM도 작성하는 다재다능한 스캐너입니다. CRACI는 빌드가 실행되는 동안 SBOM을 기록하고 계속 모니터링하므로, 직접 빌드하는 소프트웨어에 대해서는 스캔을 대체합니다.
업데이트
간단한 답
Trivy는 가장 유용한 무료 보안 도구 중 하나입니다. 컨테이너 이미지, 파일 시스템, 리포지토리, 가상 머신 이미지, Kubernetes에서 취약점, 잘못된 구성, 시크릿, 라이선스를 스캔하고, 부수적으로 SBOM도 생성합니다. CRACI는 각 빌드가 무엇을 가져왔는지 기록하고, 빌드가 연결할 수 있는 대상을 제어하며, 출시된 소프트웨어의 취약점을 계속 추적하는 GitHub Actions 러너입니다. 핵심 차이는 Trivy는 파일에서 구성 요소 목록을 추론하고, CRACI는 이를 직접 관찰한다는 점입니다. 직접 빌드하는 소프트웨어의 SBOM과 종속성 취약점에 대해서는 CRACI가 Trivy를 대체합니다. Trivy가 스캔하는 나머지 영역은 아래 목록에서 역할별로 도구를 선택하세요.
| 기능 | CRACI | Trivy |
|---|---|---|
| 빌드 실행 | 작업이 CRACI 러너에서 실행 | 단계 또는 CLI로 실행 |
| 빌드에서 종속성 기록 | 실제로 관찰한 가져오기, 캐시된 패키지 포함 | 잠금 파일 또는 설치된 패키지 메타데이터를 읽음 |
| CycloneDX 및 SPDX 형식 SBOM | 모든 빌드, 작업 및 캐시별 완전성 표시 | 모든 스캔 대상, --format 사용 |
| 러너 단의 이그레스 정책 | 기본 거부 또는 허용, 실패 시 차단 | 지원 범위 밖 |
| 서명된 출처 증명 | 서명된 출처 증명 없음 | Cosign과 함께 사용해 증명(attestation) 생성 |
| 출시된 SBOM 모니터링 | 모니터링 대상 SBOM을 지속적으로 재평가 | 원하는 일정에 trivy sbom으로 재스캔 |
| 분류 및 담당 팀으로의 전달 | 여러 빌드와 리포지토리 전반 | 실행별 스캔 결과 |
| 심각도 임계값 기준 CI 실패 처리 | 정책 게이트가 발견 사항이 있으면 빌드를 차단, 임계값은 명시되지 않음 | --exit-code와 --severity 사용 |
| IaC, 시크릿, 라이선스 스캔 | 내장 스캐너 | |
| 모든 이미지, 리포지토리, 클러스터 스캔 | 자신이 실행하는 빌드를 기록 | 이미지, 파일 시스템, 리포지토리, VM, Kubernetes |
| GitHub Actions 외 지원 | 현재 GitHub Actions 지원, GitLab CI와 Jenkins는 로드맵에 포함 | 모든 CI 또는 로컬 CLI |
| CRA 증거 | CycloneDX 또는 SPDX 형식 SBOM, API를 통한 기록, CRA 통지 내용 준비, 보고서 내보내기는 없음 | 직접 수집해 증거로 만들어야 하는 스캔 결과. |
| 가격 | vCPU 분당 $0.002(2 vCPU는 $0.004), 초 단위 측정, 월 요금 및 SBOM당 요금 없음 | Apache-2.0 라이선스의 무료 오픈 소스. |
- 포함
- 일부 지원
- 미포함
- 로드맵에 포함
팀이 Trivy 대안을 찾는 이유
-
2026년 3월 공급망 침해 사고. Aqua Security의 보안 권고(CVE-2026-33634)에 따르면 2026년 3월 19일
악성 Trivy v0.69.4 릴리스와 오염된
trivy-action및setup-trivy태그가 배포되었고, 3월 22일에는 악성 Docker Hub 이미지가 뒤를 이었습니다. 주입된 코드는 CI 러너에서 자격 증명을 탈취했습니다. Aqua는 안전한 버전을 공개했으며 액션을 전체 커밋 SHA로 고정할 것을 권고합니다. - 스캔은 추적이 아닙니다. Trivy는 실행 시점에 발견한 것을 보고합니다. 리포지토리와 릴리스 전반에서 발견 사항, 담당자, 상태를 관리하고, 새 권고가 나올 때마다 출시된 소프트웨어를 다시 확인하는 일은 사용자의 몫입니다.
- SBOM이 파일에서 추론됩니다. 빌드 전 스캔은 잠금 파일을 읽습니다. 리포지토리에 잠금 파일이 커밋되어 있지 않으면 읽을 것이 거의 없으며, 실제 설치에서 결정되는 버전은 빌드 시점에 정해집니다.
- 깊이보다 폭. 하나의 바이너리가 여러 역할을 담당합니다. 코드형 인프라나 컨테이너 이미지처럼 특정 영역에서 더 많은 기능이 필요한 팀은 해당 역할을 전용 도구로 옮기는 경우가 많습니다.
파이프라인이 내려받아 실행하는 모든 스캐너는 그 자체로 소프트웨어 공급망의 일부이며, 작업의 시크릿 바로 옆에서 실행됩니다. CRACI에서는 러너가 SBOM을 기록하므로, 직접 빌드하는 소프트웨어를 위해 내려받을 스캐너 단계가 없습니다. 러너의 이그레스 정책으로 작업의 모든 단계가 접근할 수 있는 호스트를 제한할 수 있으며, 각 작업의 네트워크 추적이 기록됩니다. Aqua가 권고하는 대로 액션을 커밋 SHA로 고정하는 것은 CRACI에서도 똑같이 적용됩니다.
Trivy가 맡던 역할별 Trivy 대안
- 직접 빌드하는 소프트웨어의 SBOM과 종속성 취약점: CRACI. 빌드에서 SBOM을 기록하고, 계속 재평가하며, 발견 사항을 담당 팀에 전달합니다.
- 컨테이너 이미지 및 파일 시스템 스캔: Grype. 컨테이너 이미지, 파일 시스템, SBOM을 대상으로 하는 Anchore의 오픈 소스 취약점 스캐너로, 우선순위 지정을 위한 EPSS 및 KEV 데이터를 제공합니다. SBOM은 Syft와 함께 사용합니다. CRACI vs Syft 및 Grype를 참조하세요.
- 코드형 인프라: Checkov는 Terraform, OpenTofu, CloudFormation, Kubernetes, Helm, Dockerfile, Bicep, ARM 템플릿을 스캔하고 시크릿과 오픈 소스 패키지도 점검합니다. KICS는 Terraform, Kubernetes, Docker, CloudFormation, Ansible, Helm, Pulumi 등을 다룹니다. 둘 다 Apache-2.0 라이선스의 오픈 소스입니다.
- 시크릿: Gitleaks는 Git 리포지토리와 파일에서 비밀번호, API 키, 토큰을 탐지하며, MIT 라이선스의 오픈 소스입니다.
- 수정 가이드를 제공하는 상용 스캐너: CRACI vs Snyk와 SCA 도구 비교를 참조하세요.
각 옵션의 자세한 내용과 Grype vs Trivy 비교는 Trivy 대안 전체 가이드를 참조하세요.
Trivy의 강점
Trivy는 스스로를 "포괄적이고 다재다능한 보안 스캐너"라고 소개하며, 이는 정확한 설명입니다. 하나의 바이너리가 원래라면 별도 도구가 필요한 여러 역할을 담당합니다.
- 다양한 대상. 컨테이너 이미지, 파일 시스템, 원격 Git 리포지토리, 가상 머신 이미지, Kubernetes.
- 다양한 스캐너. OS 패키지와 소프트웨어 종속성, 알려진 취약점, 코드형 인프라의 잘못된 구성, 시크릿, 소프트웨어 라이선스.
-
SBOM 입출력.
trivy fs --format cyclonedx또는--format spdx-json으로 SBOM을 작성하고,trivy sbom으로 기존 SBOM의 취약점을 스캔합니다. - 어디서나 실행. Apache-2.0 라이선스의 오픈 소스이며, CLI로 동작하고 GitHub Action과 Kubernetes 오퍼레이터를 제공합니다.
CRACI는 IaC, 시크릿, 클러스터 스캔을 전혀 하지 않습니다. Terraform 플랜을 점검하거나, 커밋된 토큰을 잡아내거나, 직접 빌드하지 않은 서드파티 이미지를 스캔해야 한다면 Trivy나 위에 소개한 도구가 적합합니다.
Demo: generating an SBOM and scanning it with Trivy
Trivy가 SBOM을 생성한 뒤, 거기에 나열된 구성 요소의 알려진 취약점을 보고하는 과정을 실시간으로 시연합니다.
Kubernetes Community Days Helsinki 2026의 Petteri Pulkkinen 및 Erika Marttinen, SBOMbastic: Getting Ready for Upcoming EU Cybersecurity Regulation in Software Supply Chains 중 23:28~25:35.
CRACI가 다른 점
Trivy는 파일을 읽고, CRACI는 빌드를 관찰합니다
Trivy 문서는 그 방식을 분명히 밝힙니다. "대상이 코드 리포지토리 같은 빌드 전 프로젝트라면, Trivy는 잠금 파일 등
빌드에 사용되는 파일을 분석합니다." 컨테이너 이미지 같은 빌드 후 대상에서는 설치된 패키지
메타데이터와 바이너리를 읽습니다. Node.js 리포지토리라면 package-lock.json, yarn.lock,
pnpm-lock.yaml 또는 bun.lock을 의미합니다.
이 설계는 합리적이지만 예측 가능한 한계가 있습니다. expressjs/express 5.2.1은 잠금 파일을 커밋하지
않으며, anthropics/claude-code 리포지토리에는 어떤 종류의 종속성 매니페스트도 없습니다. 따라서 둘 중
어느 쪽이든 빌드 전 스캔에서는 Trivy가 읽을 것이 없습니다. 이는 Trivy가 실패한 것이 아니라 문서대로 동작한
것입니다. 실제 설치에서 결정되는 버전은 빌드 시점에 정해집니다.
CRACI는 반대쪽에서 출발합니다. 작업은 runs-on: craci로 실행되고, 패키지를 인식하는 프록시가 작업이
npm, PyPI, RubyGems, Composer, Cargo, Go, Nix, OCI, apt, apk, Git 소스와 다운로드 프리셋에서 가져오는 것을 기록합니다. CI
캐시에서 복원된 패키지도 증거를 그대로 유지합니다. SBOM(CycloneDX 또는 SPDX)은 잠금 파일 유무와 관계없이 빌드가
실제로 사용한 것을 기술합니다.
기록이 불완전하면 그렇다고 알려 줍니다
CRACI의 모든 작업과 캐시에는 Complete, Complete with connections, Incomplete, Unavailable, Not recorded 중 하나의 완전성 상태가 있습니다. 비어 있거나 빈약한 SBOM은 종속성이 적은 프로젝트와 똑같아 보이지 않고, 있는 그대로 드러납니다.
빌드를 제어합니다
CRACI가 작업을 실행하므로 네트워크 이그레스 정책을 적용할 수 있습니다. 기본 거부 또는 기본 허용 방식에 24개의 내장 소프트웨어 소스 프리셋을 제공하며, 작업 시작 전에 검증되고 실패 시 차단됩니다. 이그레스 제어는 Trivy의 범위 밖입니다. API는 SBOM, 네트워크 추적, 출처 증명을 반환합니다. CRACI는 출처 증명에 서명하지 않습니다. 서명에 대해 Trivy 문서는 두 도구를 사용하는 흐름을 제시합니다. Trivy가 SBOM을 작성하고 Cosign이 이를 증명(attestation)으로 서명합니다.
계속 지켜봅니다
Trivy는 실행할 때 스캔합니다. CRACI는 빌드와 리포지토리 전반의 취약점을 집계하고 모니터링 대상 SBOM을 계속 재평가하며, 보안 팀은 발견 사항을 분류해 수정을 담당하는 팀에 전달할 수 있습니다. 공급업체 SBOM도 자체 빌드와 함께 모니터링됩니다. CRACI의 정책 게이트는 빌드를 차단할 수 있으며, 임계값 알림은 로드맵에 있습니다.
어디에 무엇이 배포되어 있는지 보여 주는 인벤토리
CRACI의 인벤토리 뷰는 어떤 소프트웨어 버전이 어떤 제품에 배포되어 있는지 전 세계 범위에서 정확히 보여 줍니다. 새 취약점이 등장하면, 릴리스 노트와 스프레드시트를 짜 맞추지 않고도 어떤 제품이 영향받는 버전을 실행하는지 확인할 수 있습니다.
Trivy에서 옮겨 오기
CRACI에서는 출시하는 빌드를 위해 SBOM을 생성하거나 종속성 스캔을 유지 관리할 필요가 없습니다. 러너가 빌드 실행 중에 SBOM을 기록하고, CRACI는 빌드가 끝난 뒤에도 새 취약점이 있는지 계속 확인합니다.
CRACI가 하지 않는 일도 분명히 해 두겠습니다. 코드형 인프라, Kubernetes 클러스터, 가상 머신 이미지를 스캔하지 않고, 시크릿이나 잘못된 구성을 찾지 않으며, 직접 빌드하지 않은 이미지나 소프트웨어를 스캔하지 않습니다. 임계값 알림은 로드맵에 있습니다. 현재는 GitHub Actions만 실행하며, GitLab CI와 Jenkins는 로드맵에 있습니다. 이 중 어떤 용도로든 Trivy에 의존하고 있다면, 그 용도로는 Trivy를 계속 사용하세요.
Cyber Resilience Act 대응
CRA는 제조업체에 각 제품의 구성 요소를 SBOM을 포함해 문서화하고, 출시한 제품의 취약점을 처리하고 보고할 것을 요구합니다. Trivy는 취약점과 잘못된 구성을 찾고 SBOM을 생성하는 방식으로 도움을 주지만, 릴리스에서 SBOM으로 이어지는 증거 체계는 직접 구축해야 합니다. CRACI는 빌드마다 SBOM을 기록해 아티팩트와 연결하고, SBOM을 CycloneDX 또는 SPDX로 내보내며, CRA 취약점 통지 내용을 준비합니다(제출은 사용자가 직접 합니다). 기업이 더 넓은 CRA 컴플라이언스 프로세스에 필요로 하는 소프트웨어 공급망 가시성과 증거의 상당 부분을 자동화합니다. CRA란 무엇인가와 빌드 시점 SBOM 생성을 참조하세요.
CRACI는 현재 Linux 러너에서 GitHub Actions를 지원합니다. GitLab CI, Jenkins 및 기타 CI 시스템은 로드맵에 있습니다. 요금과 취약점 추적을 참조하세요.
CRACI vs Trivy: 자주 묻는 질문
무료 옵션, 2026년 3월 침해 사고, CRACI가 대체하는 영역
가장 좋은 Trivy 대안은 무엇입니까?
Trivy의 어떤 역할을 대체하느냐에 따라 다릅니다. GitHub Actions로 빌드하는 소프트웨어의 SBOM과 종속성 취약점이라면, CRACI가 빌드에서 SBOM을 기록하고 계속 추적합니다. 컨테이너 이미지 스캔에는 Grype가 가장 가까운 오픈 소스 대안입니다. 코드형 인프라(IaC)에는 Checkov와 KICS가 오픈 소스 옵션입니다. 시크릿에는 Gitleaks가 있습니다. Trivy 전체를 대체하는 단일 도구는 없습니다.
Trivy의 무료 대안이 있습니까?
있습니다. Grype(이미지, 파일 시스템, SBOM), Checkov와 KICS(코드형 인프라)는 Apache-2.0 라이선스의 오픈 소스이며, Gitleaks(시크릿)는 MIT 라이선스의 오픈 소스입니다. CRACI는 유료 제품으로, 월 요금 없이 빌드 분 단위로 과금됩니다.
2026년 3월 침해 사고 이후에도 Trivy를 안전하게 사용할 수 있습니까?
Aqua Security의 보안 권고(CVE-2026-33634)에 따르면 2026년 3월 19일 악성 Trivy v0.69.4 릴리스와 오염된 trivy-action 및 setup-trivy 태그가, 3월 22일에는 악성 Docker Hub 이미지가 배포되었습니다. Aqua는 안전한 버전 목록을 공개했으며, 노출되었을 수 있는 시크릿을 교체하고 GitHub Actions를 전체 커밋 SHA로 고정할 것을 권고합니다. 사용 중인 버전은 권고문에서 확인하세요.
Trivy와 Grype의 차이는 무엇입니까?
둘 다 Apache-2.0 라이선스의 오픈 소스 스캐너입니다. Grype는 컨테이너 이미지, 파일 시스템, SBOM의 취약점에 집중하며, SBOM 생성은 Syft와 함께 사용합니다. Trivy는 하나의 바이너리로 더 많은 대상과 스캐너를 다루며, 코드형 인프라, 시크릿, 라이선스, 가상 머신 이미지, Kubernetes까지 포함합니다.
CRACI가 Trivy를 대체할 수 있습니까?
GitHub Actions에서 빌드하는 소프트웨어의 SBOM과 종속성 취약점이라면 가능합니다. CRACI는 빌드가 실행되는 동안 SBOM을 기록하고 취약점 데이터를 기준으로 계속 재평가합니다. CRACI는 코드형 인프라, Kubernetes 클러스터, 가상 머신 이미지, 시크릿, 잘못된 구성, 직접 빌드하지 않은 이미지는 스캔하지 않습니다. 이러한 용도에는 Trivy나 다른 스캐너를 계속 사용하세요.
CRACI는 Terraform 등 코드형 인프라를 스캔합니까?
아니요. CRACI는 빌드가 가져오는 것을 기록하고, 출시하는 소프트웨어의 취약점을 추적합니다. Terraform 등 코드형 인프라에는 Trivy의 잘못된 구성 스캐너나 Checkov, KICS 같은 전용 도구를 사용하세요.
Trivy 결과 옆에 기록된 SBOM을 놓아 보세요
데모를 예약하시면 GitHub Actions 워크플로 하나를 CRACI에서 실행하고, 같은 커밋에 대해 Trivy가 보고하는 내용과 SBOM을 비교해 드립니다.
데모 예약