[Paper] SBOM에서 표준과 도구 간 준수 격차에 대한 대규모 실증 분석
Source: arXiv - 2601.05622v1
Overview
이 논문은 오늘날의 소프트웨어 부품 목록(SBOM) 도구가 공식 SBOM 표준(예: SPDX, CycloneDX)을 실제로 얼마나 잘 따르는지를 최초로 대규모, 2단계 실증 연구를 통해 제시한다. 실제 오픈소스 프로젝트에서 55,000개가 넘는 SBOM을 자동으로 생성하고 분석함으로써, 저자들은 공급망 보안 및 규정 준수 워크플로우를 위협할 수 있는 상당한 “준수 격차”를 드러낸다.
Key Contributions
- SAP Framework – 오픈‑소스 자동 평가 플랫폼으로 SBOM을 파싱하고 표준 정책 규칙에 대해 검사하며 도구 간 일관성 메트릭을 계산합니다.
- Comprehensive Dataset – 6개의 인기 있는 SBOM 생성기가 3 287개의 서로 다른 리포지토리에서 생성한 55 444개의 SBOM으로, 두 시점(기준 시점 및 1년 후)에 수집되었습니다.
- Empirical Findings – (1) 정책 준수 부족, (2) 도구 간 및 도구 내 일관성 문제 심각, (3) 패키지 라이선스와 같은 핵심 필드의 정확도 낮음에 대한 정량적 증거.
- Root‑Cause Analysis – 관찰된 격차를 초래하는 누락된 표준 기능, 모호한 사양 문구, 구현상의 지름길을 식별.
- Practical Recommendations – 도구 개발자를 위한 구체적인 해결책(예: 더 엄격한 스키마 검증, 결정적인 컴포넌트 순서)과 SBOM을 도입하는 조직을 위한 가이드라인.
- Open‑Source Release – 모든 코드, Docker 이미지 및 원시 결과가 공개되어 재현 및 추가 연구에 활용할 수 있습니다.
방법론
- 도구 선택 – SPDX와 CycloneDX 출력을 모두 지원하는 널리 사용되는 SBOM 생성기 6개를 GitHub 스타 수, 다운로드 수, 언어 지원 범위를 기준으로 선정했습니다.
- 리포지토리 코퍼스 – Java, JavaScript, Python, Go, Rust, C/C++를 포함한 3 287개의 오픈소스 프로젝트를 GitHub에서 클론하여, 다양한 빌드 시스템과 의존성 관리자를 현실적으로 반영했습니다.
- 두 단계 평가
- 베이스라인 – 각 도구가 모든 리포지토리에 대해 SBOM을 생성하고, SAP 프레임워크가 해당 표준의 정책 규칙(필수 필드, 데이터 타입, SPDX 라이선스 식별자 등)에 따라 SBOM을 검증했습니다.
- 장기 추적 – 12개월 후, 동일한 도구들을 최신 릴리스 버전으로 같은 리포지토리 집합에 다시 실행하여 시간 경과에 따른 안정성을 평가했습니다.
- 측정 지표 – 준수율(모든 필수 규칙을 만족하는 SBOM 비율), 도구 간 일관성(도구들 간 감지된 패키지의 Jaccard 유사도), 도구 내 일관성(버전 간 출력 변화), 필드 수준 정확도(예: 수동으로 만든 기준 데이터와 비교한 라이선스 탐지 정확도) 등을 사용했습니다.
- 근본 원인 조사 – 주요 결함마다 저자들이 도구 소스 코드, 이슈 트래커, 표준 문서를 검토하여 문제 발생 원인을 파악했습니다.
결과 및 발견
| 측면 | 주요 결과 | 해석 |
|---|---|---|
| 정책 준수 | SBOM의 31 %만이 모든 필수 표준 필드를 충족했으며, 많은 경우 필수 SPDX 라이선스 식별자 또는 구성 요소 해시가 누락되었습니다. | 도구들은 종종 기술적으로 파싱 가능하지만 하위 단계의 준수 검사에는 충분하지 않은 “최소” SBOM을 생성합니다. |
| 도구 간 일관성 | 도구 간 패키지 탐지 겹침 비율은 7.84 %(Go)에서 12.77 %(JavaScript)까지 다양했습니다. | 다양한 파서와 의존성 그래프 알고리즘이 크게 다른 구성 요소 목록을 초래하여 도구 간 검증을 신뢰할 수 없게 만듭니다. |
| 도구 내 일관성 | 동일 도구의 새 버전과 이전 버전 간에 많은 저장소에서 겹침 비율이 ≤ 15 %에 불과했습니다. | 업데이트가 회귀를 도입하거나 휴리스틱을 변경하여 시간이 지남에 따라 SBOM의 재현성을 깨뜨립니다. |
| 라이선스 정확도 | 대부분의 도구에서 올바른 라이선스 지정 비율이 20 % 미만이었으며, 많은 경우 “UNKNOWN”으로 보고되거나 잘못 식별된 라이선스가 있었습니다. | 라이선스 탐지 로직이 충분히 설계되지 않아 SBOM의 주요 보안 활용 사례 중 하나를 약화시킵니다. |
| 근본 원인 | – 불명확한 사양 섹션(예: 선택적 필드와 필수 필드). – 구성 요소 목록에서 결정론적 순서가 부족함. – 의존성 그래프 추출 도구(예: npm ls, go mod graph)가 일관되지 않은 출력을 생성함. | 이러한 시스템적 문제는 사양과 도구의 정밀한 정렬 및 보다 견고한 파싱 파이프라인을 통해 해결할 수 있습니다. |
Practical Implications
- DevOps 팀을 위해 – 단일 SBOM 생성기에만 의존하면 잘못된 안도감을 줄 수 있습니다; 특히 컴플라이언스 감사를 앞두고 최소 하나 이상의 대체 도구와 교차 검증하는 것이 권장됩니다.
- 도구 공급업체를 위해 – 전체 스키마 검증, 결정론적 컴포넌트 순서 지정, 그리고 버전 안정성을 보장하는 API를 제공하여 업그레이드 후 하위 파이프라인이 깨지는 것을 방지하십시오.
- 보안 플랫폼을 위해 – SBOM 검증을 일차적인 단계(예: CI/CD 게이트)로 통합하여 누락된 필드나 형식이 잘못된 라이선스가 취약점 스캐너로 전파되기 전에 감지하십시오.
- 표준 기구를 위해 – 이번 조사 결과는 SPDX/CycloneDX의 모호한 문구가 명확히 필요함을 강조합니다; 보다 엄격한 적합성 테스트 스위트를 통해 생태계 일관성을 향상시킬 수 있습니다.
- 공급망 자동화를 위해 – 정확한 라이선스 데이터와 안정적인 컴포넌트 목록은 자동 정책 적용(예: “GPL 라이선스 의존성 금지”)의 전제 조건입니다. 현재 낮은 정확도는 많은 자동 정책 도구가 잡음이 섞인 입력을 사용하고 있어 오탐/누락이 발생하고 있음을 시사합니다.
제한 사항 및 향후 작업
- 언어 범위 – 이 연구는 6개의 인기 있는 언어를 다루었으며, .NET, Swift와 같은 틈새 생태계는 평가되지 않았으며 다른 준수 패턴을 보일 수 있습니다.
- Ground‑Truth 구축 – 라이선스 라벨은 일부 패키지에 대해 수동으로 선별했으며, 이를 전체 코퍼스로 확장하면 추가적인 뉘앙스가 드러날 수 있습니다.
- 도구 세트 – 6개의 생성기만 검토했으며, 최신 또는 상용 SBOM 솔루션은 다르게 동작할 수 있습니다.
- 동적 의존성 – 분석은 정적 의존성 그래프에 초점을 맞췄으며, 실행 시 로드되는 플러그인과 같은 런타임 생성 구성 요소는 다루어지지 않았습니다.
향후 연구 방향으로는 언어 범위 확대, 커뮤니티 주도형 SBOM 표준 적합성 테스트 스위트 구축, 그리고 실제 프로덕션 파이프라인에서 SBOM 부정확성이 하위 취약점 관리 도구에 미치는 영향을 조사하는 것이 포함됩니다.
저자
- Chengjie Wang
- Jingzheng Wu
- Hao Lyu
- Xiang Ling
- Tianyue Luo
- Yanjun Wu
- Chen Zhao
논문 정보
- arXiv ID: 2601.05622v1
- 분류: cs.SE
- 출판일: 2026년 1월 9일
- PDF: Download PDF