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

비교

CRACI vs Finite State

Finite State는 직접 작성하지 않은 코드를 포함해 기기에 들어가는 모든 것으로 제품 위험 기록을 만듭니다. CRACI는 기업이 완전히 통제하는 단 하나의 장소, 즉 자사 빌드에서 기록을 만듭니다.

업데이트

요약

Finite State는 커넥티드 기기를 위한 제품 보안 플랫폼입니다. 펌웨어, 바이너리, 소스 코드, 공급업체 SBOM을 분석하고, 도달 가능성에 따라 취약점의 우선순위를 정하며, 그 결과를 CRA 같은 규제를 위한 증거로 만듭니다. CRACI는 각 빌드가 실행 중에 가져오는 항목을 기록하고, 그 기록으로 SBOM을 생성하며, 빌드가 연결할 수 있는 대상을 통제하는 GitHub Actions 러너입니다. Finite State는 출처와 관계없이 출시하는 제품을 분석하고, CRACI는 직접 운영하는 빌드가 수행한 작업을 기록합니다. 두 도구는 대부분 상호 보완적입니다.

한눈에 보기

기능 CRACI Finite State
빌드 실행 작업이 CRACI 러너에서 실행 CI가 바이너리나 SBOM을 업로드
빌드가 가져온 항목 기록 각 작업 중 러너가 관찰 소스, 바이너리, 공급업체 SBOM 분석
빌드 실행 중 이그레스 정책 작업 전에 검사, 실패 시 차단 범위 밖
바이너리 및 펌웨어 분석 50개 이상의 바이너리 명령어 집합 아키텍처
공급업체 SBOM 및 서드파티 발견 사항 공급업체 SBOM 추가 가능, 서드파티 발견 사항은 미지원 하나의 제품 레코드로 수집
도달 가능성 분석 실제로 악용 가능한 항목을 우선순위화
기록된 분류 결정 발견 사항을 분류해 팀에 전달 악용 가능성 상태를 포함한 VEX 결정
CycloneDX 및 SPDX 형식 SBOM 빌드별, 완전성 상태 포함 릴리스별, 소스와 바이너리 기반
CRA 증거 CycloneDX 또는 SPDX 형식 SBOM, API를 통한 기록, CRA 통지 내용 준비, 보고서 내보내기는 없음 CRA 통제 매핑과 감사 대응 보고서
CI 시스템 현재 GitHub Actions, GitLab CI와 Jenkins는 로드맵에 포함 GitHub Actions, GitLab CI, Jenkins 등
  • 포함
  • 일부 지원
  • 미포함

Finite State의 강점

Finite State 홈페이지
finitestate.io

바이너리 및 펌웨어 커버리지. Finite State는 펌웨어, 바이너리, 소스 코드 전반에 걸쳐 SBOM과 소프트웨어 인벤토리를 생성하며, "50개 이상의 바이너리 명령어 집합 아키텍처를 지원"합니다. 여러 공급업체의 코드를 특이한 칩에서 실행하는 기기라면 바로 이 폭넓은 지원이 핵심입니다.

공급업체 전반을 아우르는 하나의 기록. 펌웨어, 바이너리, 소스 코드, 공급업체 SBOM, 서드파티 발견 사항을 하나의 플랫폼으로 모으므로, 공급업체의 설명과 제품에 실제로 들어 있는 내용을 대조해야 할 때 도움이 됩니다.

노이즈 감소. Finite State는 도달 가능성, 익스플로잇 인텔리전스, 제품 맥락에 따라 발견 사항의 순위를 매깁니다. 2024년 이후 도달 가능성을 분석한 발견 사항 중 40.5%가 도달 불가능한 것으로 확인되었다고 밝힙니다. 제품 영향과 악용 가능성 상태를 포함한 VEX 결정도 기록합니다.

컴플라이언스 증거. 컴플라이언스 워크플로는 EU CRA 통제 매핑과 증거 유지 관리를 다루며, SBOM과 VEX 아티팩트를 포함한 감사 대응 보고서를 생성합니다. FDA 가이던스, UN R155, IEC 62443 같은 프레임워크도 다룹니다.

CI 통합. Finite State는 GitHub Actions, GitLab CI, Jenkins에 검사를 내장합니다. Binary Scan 액션은 CI 중에 빌드된 바이너리를 Finite State 플랫폼에 업로드해 빠른 스캔 또는 전체 스캔을 수행합니다.

CRACI가 다른 점

Finite State는 완성된 바이너리, 소스 트리, 공급업체가 보낸 SBOM 같은 아티팩트에서 출발합니다. CRACI는 빌드가 CRACI에서 실행되므로 빌드 자체에서 출발합니다.

추론이 아닌 관찰

runs-on을 craci로 바꾸면 작업이 CRACI 러너의 격리된 가상 머신에서 실행됩니다. 패키지를 인식하는 프록시가 작업이 패키지 소스에서 내려받는 항목을 기록하고, CI 캐시에서 복원된 패키지도 이어서 기록됩니다. 각 SBOM은 작업별, 캐시별로 얼마나 완전한지를 Complete, Complete with connections, Incomplete, Unavailable, Not recorded 중 하나로 명시합니다. 펌웨어 팀은 최대 32 vCPU, 96 GB RAM 러너에서 Yocto를 실행할 수 있습니다. BitBake가 Yocto 소스 미러에서 가져오는 소스는 CRACI 작업 SBOM에 기록됩니다. 완성된 Yocto 이미지를 스캔하는 방식과의 비교는 SBOM 스캐너가 Yocto 빌드의 구성 요소를 놓치는 이유를 참고하세요.

빌드 중 통제

출력물을 스캔해서는 빌드가 접근할 수 있었던 대상을 바꿀 수 없습니다. CRACI의 이그레스 정책은 바꿀 수 있습니다. 기본 거부 또는 허용으로 설정하고, 작업 시작 전에 검증하며, 실패 시 차단하고, 위반 시 알림을 보냅니다.

출처 증명과 모니터링

API는 SBOM, 네트워크 추적, 출처 증명을 반환합니다. CRACI는 빌드와 리포지토리 전반의 취약점을 집계하고, 새 권고가 나올 때마다 모니터링 중인 SBOM을 계속 재평가합니다.

CRACI는 바이너리를 분석하거나 도달 가능성 분석을 하지 않습니다. 빌드 기록은 CRACI에서 실행되는 빌드를 대상으로 하며, 공급업체가 제공하는 SBOM을 추가할 수 있습니다. SBOM 없이 바이너리로 받는 공급업체 펌웨어에 대해서는 Finite State가 CRACI가 다루지 않는 영역을 담당합니다.

어디에 무엇이 배포되어 있는지 보여 주는 인벤토리

CRACI의 인벤토리 뷰는 어떤 소프트웨어 버전이 어떤 제품에 배포되어 있는지 전 세계 범위로 정확히 보여 줍니다. 새로운 취약점이 공개되면 릴리스 노트와 스프레드시트를 짜 맞추는 대신, 영향을 받는 버전을 실행하는 제품을 바로 확인할 수 있습니다.

언제 어느 도구를, 언제 둘 다 쓸까

  • 펌웨어 대부분을 공급업체에서 받는 경우. Finite State입니다. 바이너리 분석과 공급업체 SBOM 수집은 바로 이런 경우를 위해 만들어졌습니다.
  • GitHub Actions에서 자사 이미지와 앱을 빌드하는 경우. CRACI가 각 빌드를 기록합니다. 같은 아티팩트를 Finite State에 업로드하면 빌드 기록과 바이너리 분석을 나란히 확보할 수 있습니다.
  • 여러 제품과 공급업체를 위한 기록 시스템이 필요한 경우. Finite State입니다. CRACI의 SBOM은 CycloneDX 또는 SPDX로 내보낼 수 있으며, Finite State는 업로드 액션을 통해 이 형식을 받아들입니다.
  • 빌드가 내려받을 수 있는 대상을 제한하려는 경우. CRACI입니다. 이 통제는 빌드가 실행되는 곳에서만 가능합니다.

CRA 대응

EU Cyber Resilience Act는 제조사에게 SBOM을 포함해 제품의 구성 요소를 식별하고 문서화하고, 지원 기간 동안 취약점을 처리하며, 2026년 9월부터는 적극적으로 악용되는 취약점을 보고하도록 요구합니다. Finite State는 CRA 통제 매핑과 보고서로 제품과 공급업체 전반의 증거를 모으는 데 도움을 줍니다. CRACI는 직접 빌드하는 소프트웨어에 무엇이 들어갔는지에 대한 빌드별 증거를 출처 증명, 지속적인 모니터링, CycloneDX 또는 SPDX 형식 SBOM 내보내기와 함께 제공해 도움을 줍니다. CRACI는 제조사가 더 넓은 CRA 컴플라이언스 프로세스에 필요로 하는 소프트웨어 공급망 가시성과 증거의 상당 부분을 자동화하지만, 그것만으로 제품이 규정을 준수하게 되지는 않습니다. CRA의 요구 사항을 확인해 보세요.

Finite State와 함께 CRACI 도입하기

Finite State에서 옮길 것은 없습니다. 빌드 작업을 runs-on: craci로 지정하고 Finite State 업로드 단계는 그대로 두면, 같은 워크플로가 CRACI 러너에서 실행되고 CRACI가 이를 기록합니다. Yocto의 경우 CRACI 문서의 예제에서 전체 BitBake 워크플로를 확인할 수 있습니다. CRACI는 현재 GitHub Actions만 지원하므로, GitLab CI나 Jenkins 파이프라인은 CRACI 러너를 사용하려면 이전해야 합니다. GitLab CI와 Jenkins는 로드맵에 있습니다. CRACI가 산업용 IoT와 가전제품 분야에서 어떻게 작동하는지 확인해 보세요.

세 가지 이상의 도구를 검토하고 계신가요? Finite State 대안에서 9가지 옵션을 나란히 비교합니다.

귀사 빌드 하나의 기록을 확인해 보세요

데모를 예약하시면 GitHub Actions 펌웨어 빌드 하나를 CRACI에서 실행하고, 빌드가 무엇을 가져왔는지 함께 살펴봅니다.

데모 예약