2026년 하루 평균 보고된 CVE가 전년 대비 131% 증가했습니다.

비교

CRACI vs Timesys Vigiles

Vigiles는 Yocto 또는 Buildroot 빌드의 메타데이터를 SBOM으로 만들고 이를 기준으로 CVE를 추적합니다. CRACI는 Yocto 빌드가 실행되는 러너입니다. 빌드가 가져온 모든 것을 기록하고, 하나의 기록에서 해당 SBOM의 취약점을 모니터링합니다.

업데이트

요약

Vigiles는 Timesys의 SBOM 및 취약점 관리 제품입니다. Lynx Software Technologies가 2023년 12월에 Timesys를 인수했으며, 현재 Lynx는 이 제품을 Lynx Vigiles로 판매합니다. 임베디드 Linux를 위해 만들어졌습니다. Yocto 레이어인 meta-timesys가 이미지에 들어가는 패키지의 메타데이터를 수집해 업로드하면, Vigiles가 이를 선별된 CVE 데이터베이스와 매칭하고, 분류 결정을 추적하며, SBOM, VEX, 취약점 보고서를 내보냅니다.

CRACI는 GitHub Actions 러너입니다. BitBake 빌드가 CRACI에서 실행되며, 실행되는 동안 CRACI는 빌드가 가져온 모든 패키지와 소스를 기록하고, 빌드가 연결할 수 있는 대상을 제한하며, SBOM의 취약점을 계속 모니터링합니다. 두 제품 모두 Yocto 이미지에 대한 SBOM과 CVE 모니터링을 제공하지만, SBOM이 어디서 오는지가 다릅니다. Vigiles는 이미지에 들어간다고 BitBake 메타데이터가 말하는 내용을 읽습니다. CRACI는 빌드가 실제로 가져온 것을 기록합니다.

한눈에 보기

기능 CRACI Vigiles
Yocto 빌드 실행 최대 32 vCPU 러너에서 BitBake 실행 이미 실행 중인 빌드에 추가하는 레이어
SBOM의 출처 각 작업이 가져온 것에서 기록 설치될 패키지에 대한 BitBake 메타데이터
SBOM에 포함되는 호스트 패키지와 GitHub Actions 다른 가져오기와 동일하게 기록 meta-timesys 문서에 설명 없음
빌드 시스템 GitHub Actions에서 실행되는 빌드, Yocto 문서화 Yocto, Buildroot, OpenWrt, Timesys Factory, FreeRTOS
선별된 CVE 데이터와 구성 필터 선별된 데이터베이스, 커널 및 U-Boot 구성 필터
분류 결정과 VEX 발견 사항 분류 및 전달, VEX 지원 영향 받음, 수정됨, 보류, 악용 불가, VEX 내보내기
출시 후 모니터링 모니터링 중인 SBOM을 지속적으로 재평가 선별된 알림을 포함한 일일 스캔
SBOM 가져오기 공급업체 SBOM 추가 가능 SPDX, CycloneDX, CSV
빌드 실행 중 이그레스 정책 작업 전에 검증, 실패 시 차단 범위 밖
CI 시스템 현재 GitHub Actions, GitLab CI와 Jenkins는 로드맵에 포함 빌드 안에서 실행, Jenkins와 GitLab CI 명시
요금 vCPU 분당 $0.002(2 vCPU는 $0.004), 초 단위 측정, 월 요금 및 SBOM당 요금 없음 공개되지 않음, 요청 시 데모 또는 무료 체험 제공(2026년 9월 기준)
  • 포함
  • 일부 지원
  • 미포함

Vigiles의 강점

Timesys Vigiles 홈페이지
lynx.com

임베디드 Linux를 위한 제품. Vigiles는 meta-timesys를 통해 Yocto와 통합되며, Buildroot, OpenWrt, Timesys Factory, FreeRTOS와도 통합됩니다. 그 밖의 모든 것은 SPDX 2.2~3.0.1, CycloneDX 1.1~1.7, CSV 형식의 SBOM으로 가져올 수 있습니다. Lynx에 따르면 2019년에 출시된 Vigiles는 90,000개가 넘는 SBOM을 처리했습니다.

CVE 노이즈 감소. Vigiles는 원시 공개 데이터가 아닌 선별된 CVE 데이터베이스와 구성 요소를 매칭하며, Lynx는 이를 통해 공개 데이터에서 생기는 오탐 대부분이 제거된다고 말합니다. 스캐너는 전체 Linux 커널과 U-Boot .config 파일을 업로드할 수 있어, 빌드하지 않는 기능의 CVE를 걸러 냅니다. 이는 임베디드 Linux에서 중요합니다. meta-timesys README의 예시 보고서에서 수정되지 않은 CVE 62개 중 60개가 커널에 있습니다.

릴리스가 바뀌어도 유지되는 결정. 팀은 각 CVE가 영향 받음, 수정됨, 보류, 악용 불가 중 무엇인지 기록하고, Vigiles는 이러한 결정을 릴리스별로 유지하며, CISA Known Exploited Vulnerabilities를 강조 표시하고, CycloneDX, SPDX, SPDX Lite 형식의 SBOM을 VEX 및 취약점 보고서와 함께 내보냅니다. 보고서에는 빌드의 패치로 이미 수정된 CVE와 meta-timesys-security 레이어에서 제공되는 패치도 표시됩니다. Lynx는 Vigiles가 도움을 주는 표준으로 EU CRA와 EO 14028을 들고 있으며, Vigiles는 Jira 및 Okta와 연동됩니다.

CRACI의 차이점

Vigiles의 SBOM은 BitBake가 이미지를 파악하는 범위만큼만 완전합니다. meta-timesys README는 이를 설치될 패키지에 대한 메타데이터를 수집하는 것으로 설명하며, BitBake 밖에서 빌드된 패키지나, BitBake로 빌드되었지만 루트 파일 시스템 매니페스트에서 빠진 패키지는 직접 나열해야 합니다. CRACI는 메타데이터를 읽지 않습니다. CRACI는 빌드가 실행되는 머신입니다.

Yocto 자체 SBOM이 놓치는 것

저희는 Vigiles SBOM을 CRACI의 SBOM과 비교하지 않았습니다. 대신 CRACI의 SBOM을 Yocto에 내장된 SPDX SBOM과 비교했으며, 이 SBOM 역시 BitBake 메타데이터로 생성됩니다. 32 vCPU ARM64 러너에서 core-image-sato를 나란히 빌드한 비교에서 CRACI의 SBOM은 Yocto SBOM에 있는 모든 구성 요소를 담았고, Yocto SBOM이 놓친 88개를 추가로 담았습니다. 빌드 머신의 호스트 패키지(예: Ubuntu의 cpio), GitHub 소스와 GitHub Action actions/upload-artifact, 그리고 빌드 중 가져온 그 밖의 소스와 도구입니다. 이 중 어느 것도 이미지에 설치되지 않지만, 모두 빌드의 핵심 경로에 있습니다.

두 SBOM 모두 같은 653개의 Rust 크레이트 버전을 나열했지만, Yocto의 SBOM은 이를 파일 이름과 다운로드 URL로만 나열하고 패키지 URL은 없습니다. 취약점 매칭은 패키지 URL을 기준으로 이루어지므로, Yocto의 SBOM으로는 이 크레이트들을 모니터링할 수 없습니다. CRACI는 모든 크레이트를 pkg:cargo 패키지 URL과 함께 기록합니다. 이미지 스캐너, 바이너리 분석, Yocto의 cve-check를 비교한 내용은 SBOM 스캐너가 Yocto 빌드의 구성 요소를 놓치는 이유를 참고하세요.

빌드가 접근할 수 있는 대상에 대한 통제

러너의 이그레스 정책은 작업이 연결할 수 있는 호스트를 결정합니다. 정책은 작업 시작 전에 검증되고, 실패 시 차단하며, 위반 시 알림을 보냅니다. Yocto에서는 BitBake 자체의 BB_ALLOWED_NETWORKS에 두 번째 계층을 더하며, 기본 거부 정책은 손상된 빌드 도구가 빌드에 필요 없는 호스트로 시크릿을 보내는 것을 차단합니다.

같은 기록에서 나오는 출처 증명과 모니터링

API는 SBOM, 네트워크 추적, 출처 증명을 반환합니다. CRACI는 출처 증명에 서명하지 않습니다. CRACI는 빌드와 리포지토리 전반의 취약점을 집계하고, 새 권고가 나올 때마다 모니터링 중인 SBOM을 계속 재평가하며, 보안 팀이 발견 사항을 분류해 수정 책임이 있는 팀에 전달할 수 있게 하고, 과거 어떤 빌드에 취약한 종속성이 포함되었는지 보여 주므로 영향을 받은 기간을 알 수 있습니다. CRACI는 VEX를 지원하며, CRA 취약점 통지 내용을 준비합니다(제출은 고객이 직접 합니다).

더 큰 러너에서 실행되는 빌드 자체

Vigiles는 빌드를 실행하지 않지만 CRACI는 실행합니다. Yocto 빌드는 최대 32 vCPU, 96 GB RAM의 러너에서 실행되며, vCPU 분당 $0.002(기본 2 vCPU 러너는 $0.004)로 초 단위로 측정됩니다. 같은 core-image-sato 비교에서 Yocto의 SBOM 생성을 끈 빌드는 켠 빌드보다 시간이 43% 덜 걸렸습니다.

Vigiles를 CRACI로 대체하기

GitHub Actions에서 빌드하는 Yocto 이미지라면, CRACI는 Vigiles를 도입하는 목적을 충족합니다. 모든 빌드의 SBOM, 출시 후 CVE 모니터링, 분류 결정, VEX입니다. 여기에 메타데이터 기반 SBOM이 줄 수 없는 것을 더합니다. 빌드가 사용한 호스트 패키지, GitHub 소스와 Actions, 그리고 실행 중 이그레스 정책입니다.

포기하는 것도 분명히 알아 두세요. Vigiles의 선별된 CVE 데이터와 커널 및 U-Boot 구성 필터는 CRACI가 하지 않는 방식으로 CVE 노이즈를 줄입니다. Vigiles는 빌드의 패치가 이미 수정한 CVE를 보고하지만 CRACI는 이를 기록하지 않습니다. Yocto 자체 SPDX에도 이 레시피 메타데이터가 담기므로, 이 정보에 의존한다면 create-spdx를 켜 두세요. Vigiles는 Buildroot, OpenWrt, FreeRTOS도 지원하고, 어떤 CI 안에서도 실행되며, 다양한 형식의 SBOM을 가져옵니다. CRACI는 현재 GitHub Actions만 지원하며 GitLab CI와 Jenkins는 로드맵에 있으므로, Jenkins나 GitLab 파이프라인은 먼저 GitHub Actions로 옮겨야 합니다.

CRA 대응

EU Cyber Resilience Act는 제조사에 SBOM을 포함해 제품의 구성 요소를 문서화하고, 제품을 지원하는 기간 동안 취약점을 처리하도록 요구하며, 보고 의무는 2026년 9월부터 적용됩니다. Vigiles는 릴리스별로 SBOM, CVE 결정, 보고서를 보관해 도움을 줍니다. CRACI는 펌웨어에 무엇이 들어갔는지에 대한 빌드별 증거를 출처 증명, 지속적인 모니터링, CycloneDX 또는 SPDX 형식의 SBOM 내보내기와 함께 생성합니다. 제조사가 더 넓은 CRA 프로세스에 필요로 하는 소프트웨어 공급망 가시성과 증거의 상당 부분을 자동화합니다. 어느 도구도 그 자체만으로 제품을 규정에 맞게 만들지는 않습니다. CRA의 요구 사항을 읽어 보세요.

Yocto 빌드를 CRACI로 옮기기

BitBake 작업에 runs-on: craci를 설정하고 러너 크기를 선택하면, 워크플로는 계속 GitHub Actions에서 실행됩니다. CRACI 문서의 Yocto 예시는 가장 큰 크기에서 core-image-sato를 빌드합니다. CRACI가 산업용 IoT와 소비자 가전에서 어떻게 작동하는지 확인해 보세요.

Yocto 빌드를 가지고 데모에 참여하세요

데모를 예약하시면 BitBake 빌드 하나를 CRACI 러너에서 실행하고, 빌드가 가져온 것을 함께 살펴봅니다.

데모 예약