도구 실행 2026-10-15, 취약점 데이터베이스 스냅샷 2026-10-14(dependency-check 는 2026-06-28 데이터), 도구 10종, 검증 대상 31종, 실행 오류 8건
운영자의 이해관계 운영자는 측정 대상 도구 중 하나인 BomLens(SK텔레콤 공개 프로젝트)의 메인테이너다. 결과가 기울지 않도록 채점 축은 공개 표준에서 고르고, 회차마다 모든 도구의 공개 릴리스를 같은 조건으로 재며, 정답은 도구 출력이 아니라 실제 빌드 결과로 정하고, 점수를 만든 원시 출력을 모두 공개한다.
이번 회차 요약
- 의존성 컴포넌트는 BomLens 가 8개 생태계 모두에서 1위이거나 공동 1위다. 2위는 생태계마다 다르다: Java 는 cdxgen 0.83, Node.js 는 ORT 0.84, Python 은 cdxgen 과 osv-scanner 0.93. lockfile 없는 PHP 는 BomLens 만, Ruby 는 BomLens 와 ORT 가 찾았다(cdxgen 은 호스트에 composer 와 최신 Ruby 가 없어 해석하지 못했다).
- 도달성(신설): 호출되지 않는 취약점을 거른 도구는 osv-scanner(소스), BomLens(소스와 바이너리), grype(바이너리 일부)다.
- AI 모델 파일(신설): pickle 계열 위험 직렬화를 표시한 도구는 BomLens 하나다.
- 전 도구를 2026-10-15 기준 최신 정식판으로 측정했다(취약점 DB 스냅샷은 2026-10-14). 채점 규칙도 바꿨다: 라이선스는 찾은 컴포넌트만 대조하고, CycloneDX scope: excluded 와 type: file 항목은 컴포넌트로 세지 않는다.
- 2026-07 대비: cdxgen 의 Python 간접 의존성 해석이 좋아졌다(0.53 → 1.00). 이미지와 Gradle 계열은 채점 규칙이 바뀌어 직접 비교할 수 없다.
카테고리 개요
의존성컴포넌트 F1, 생태계 평균
fixture 18
9개 도구 모두 보기 →컨테이너 이미지컴포넌트
fixture 3
9개 도구 모두 보기 →바이너리와 펌웨어컴포넌트
fixture 3
2개 도구 결과 보기 →파일 라이선스 (소스코드)라이선스
fixture 2
2개 도구 결과 보기 →도달성 (VEX 판정)미호출 취약점 거름
fixture 4
4개 도구 결과 보기 →AI 모델 파일 (AIBOM)모델 검출
fixture 1
2개 도구 결과 보기 →SBOM 품질CISA 2026 충족률
채웠는지만 본다
6개 도구 모두 보기 →표 읽는 법
색과 기호
- 0.9 이상, 0.8 이상, 0.6 이상, 0.6 미만
- 0. 측정 대상인데 찾지 못함. 도구가 다루지 못하는 입력도 0 으로 평균에 넣는다(과대평가 방지)
- 미지원. 그 검증 대상의 실행 대상이 아니거나 도구가 그 지표를 내지 않음. 평균에서 뺀다
- —
- 측정 대상이 아니거나 대조할 대상이 없음. 평균에서 뺀다
- ⚠
- 실행 오류. 점수를 매기지 않고 평균에서 뺀다
- 입력 미지원 n
- 도구가 받지 않는 입력이라 0 으로 넣은 검증 대상 수
- 데이터 날짜
- 취약점 데이터베이스 스냅샷과 다른 날짜의 데이터로 측정함
숫자 읽기
- 퍼센트
- 개요 표는 여러 검증 대상을 합치므로 비율로 적는다
- 정답 N
- 그 퍼센트가 걸친 정답 개수. 작을수록 변동이 크다
- 3/4
- 검증 대상 표의 맞은 개수/전체 개수
- F1
- 정밀도와 재현율을 합친 값. 도구 비교의 기준
조작
- 검증 대상 행
- 누르면 도구별 지표가 펼쳐진다
- 지표 표의 행
- 누르면 그 도구의 검출, 미탐, 과탐이 펼쳐진다
- 열 제목
- 누르면 그 열 기준으로 정렬한다
- 도구 이름
- 저장소나 제품 페이지로 간다. 마우스를 올리면 도구 특성이 보인다
의존성
- 대상
- 언어별 의존성 선언과 lockfile
- 변별
- lockfile 유무와 생태계별 해석 능력
- 결과
- 빌드를 해석하는 도구가 실제 배포 결과에 가깝다. 선언을 모두 담는 도구는 정밀도가 낮다
생태계별
| 도구 | Java3 | Android2 | Node.js6 | Python3 | Go1 | Rust1 | PHP1 | Ruby1 | 생태계 평균같은 비중 |
|---|---|---|---|---|---|---|---|---|---|
| bomlens | 0.90 | 0.70 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 0.95 |
| ort | 0.82 | 0.25 | 0.84 | 0.67 | 0.80 | 1.00 | ⚠ 실행 오류 | 0.86 | 0.757개 생태계 |
| cdxgen | 0.83 | 0.25 | 0.82 | 0.93 | 1.00 | 1.00 | 0 | 0 | 0.60 |
| osv-scanner | 0.53입력 미지원 1 | 0입력 미지원 2 | 0.74입력 미지원 1 | 0.93 | 0.80 | 0입력 미지원 1 | 0입력 미지원 1 | 0입력 미지원 1 | 0.38 |
| trivy | 0.62 | 0 | 0.78 | 0.51 | 0.80 | 0 | 0 | 0 | 0.34 |
| osv-scalibr | 0.39 | 0 | 0.68 | 0.78 | 0.67 | 0 | 0 | 0 | 0.31 |
| syft | 0.39 | 0 | 0.75 | 0.44 | 0.80 | 0 | 0 | 0 | 0.30 |
| dependency-check | 0.32 | 0 | 0.25 | 0.51 | 0.44 | 0 | 0 | 0 | 0.19 |
| grype | 0.39 | 0 | 0.25 | 0.18 | 0 | 0 | 0 | 0 | 0.10 |
- 0.9 이상
- 0.8 이상
- 0.6 이상
- 0.6 미만
- 0, 찾지 못함
- 입력 미지원 n: 도구가 받지 않는 입력이라 0 으로 평균에 넣은 검증 대상 수
- 미지원, 평균에서 뺌
- — 대조 대상 없음(라이선스는 정답 컴포넌트를 하나도 찾지 못함), 평균에서 뺌
- ⚠ 이번 실행의 오류, 평균에서 뺌
전체 지표 (생태계 묶음)
| 도구 | 버전 | 컴포넌트 | 라이선스 | 취약점 | 대응 | 발견 컴포넌트 | 발견 취약점 | 종합 | 평균 시간 |
|---|---|---|---|---|---|---|---|---|---|
| bomlens | 1.13.4 | 95%정답 93 | 100%정답 79 | 100%정답 12 | 100%정답 12 | 138직접 34, 간접 104 | 119 | 99% | 95.6s |
| cdxgen | 13.4.0 | 70%정답 93 | 100%정답 75 | 미지원 | 미지원 | 295직접 60, 간접 235 | 0 | 85% | 7.1s |
| ort | 96.0.0 | 74%정답 91 | 92%정답 76 | 미지원 | 미지원 | 303직접 66, 간접 237 | 0 | 83% | 11.3s |
| osv-scanner | 2.7.0 | 54%정답 93입력 미지원 7 | 미지원 | 71%정답 12입력 미지원 2 | 71%정답 12입력 미지원 2 | 71 | 75 | 66% | 5.0s |
| trivy | 0.76.0 | 49%정답 93 | 40%정답 32 | 71%정답 12 | 71%정답 12 | 41직접 4, 간접 37 | 73 | 58% | 316ms |
| grype | 0.120.1 | 18%정답 93 | 미지원 | 71%정답 12 | 71%정답 12 | 11 | 67 | 54% | 2.2s |
| osv-scalibr | 0.5.3 | 46%정답 93 | 미지원 | 미지원 | 미지원 | 56 | 0 | 46% | 31ms |
| syft | 1.54.1 | 43%정답 93 | 30%정답 32 | 미지원 | 미지원 | 44직접 8, 간접 24 | 0 | 37% | 1.6s |
| dependency-check | 13.0.0 | 25%정답 93 | 미지원 | 43%정답 12데이터 2026-06-28 | 0%정답 12데이터 2026-06-28 | 30 | 11 | 23% | 3.2s |
생태계별 검증 대상
- lockfile 있음
- 해석이 정해져 있어 도구가 대체로 수렴하고, 개발 의존성을 빼는지에서 갈린다
- lockfile 없음
- 설치나 빌드를 해석하는 도구만 간접 의존성까지 찾는다
- 저장소 구조
- 예제, 테스트 디렉터리와 개발 의존성을 빼는지
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
Javafixture 3
gradle-locklockfile 있음컴포넌트 최고0.865개 도구범위 0–0.86도구 9
입력 원본 보기 ↗
- 입력
- Java Gradle 프로젝트. gradle.lockfile 로 간접 의존성까지 버전 고정
- 변별
- 고정된 의존성을 정확히 읽는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/4 | 3/3 | 86% | 1/1 | 1/1 | 1/1 | 오픈소스 | 59.3s |
bomlens (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 bomlens (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] bomlens (vulnerability) 검출(1) CVE-2020-36518 발견: 컴포넌트 5 (직접 2, 간접 3), 취약점 17 | ||||||||
| ▸cdxgen | 3/4 | 3/3 | 86% | 1/1 | — | — | 오픈소스 | 15.2s |
cdxgen (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 cdxgen (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] 발견: 컴포넌트 4 (직접 1, 간접 3), 취약점 0 | ||||||||
| ▸ort | 3/4 | 3/3 | 86% | 1/1 | — | — | 오픈소스 | 9.8s |
ort (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 ort (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] 발견: 컴포넌트 4 (직접 1, 간접 3), 취약점 0 원시 출력: gradle-lock__ort.rawbom.json | ||||||||
| ▸osv-scanner | 3/4 | 3/3 | 86% | — | 1/1 | 1/1 | 오픈소스 | 444ms |
osv-scanner (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 osv-scanner (vulnerability) 검출(1) CVE-2020-36518 발견: 컴포넌트 4, 취약점 17 | ||||||||
| ▸trivy | 3/4 | 3/3 | 86% | 0/1 | 1/1 | 1/1 | 오픈소스 | 4.0s |
trivy (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 trivy (license) 미탐(1) jackson-databind@2.13.0 기대[Apache-2.0] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 trivy (vulnerability) 검출(1) CVE-2020-36518 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 17 | ||||||||
| ▸grype | 2/2 | 2/3 | 80% | — | 1/1 | 1/1 | 오픈소스 | 2.1s |
grype (component) 검출(2) jackson-databind@2.13.0jackson-core 미탐(1) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) grype (vulnerability) 검출(1) CVE-2020-36518 발견: 컴포넌트 2, 취약점 17 | ||||||||
| ▸osv-scalibr | 3/5 | 3/3 | 75% | — | — | — | 오픈소스 | 34ms |
osv-scalibr (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(2) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 unknown@unknown 발견: 컴포넌트 5, 취약점 0 | ||||||||
| ▸syft | 3/5 | 3/3 | 75% | 0/1 | — | — | 오픈소스 | 1.1s |
syft (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(2) gradle-wrapper— 저장소에 포함된 빌드 도구(gradle wrapper jar)로 배포 산출물이 아니다 — 정답에서 제외 jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 syft (license) 미탐(1) jackson-databind@2.13.0 기대[Apache-2.0] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 발견: 컴포넌트 5, 취약점 0 | ||||||||
| ▸dependency-check | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 2.9s |
dependency-check (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) dependency-check (vulnerability) 미탐(1) CVE-2020-36518— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 | ||||||||
gradle-nolocklockfile 없음컴포넌트 최고0.86bomlens, cdxgen, ort범위 0–0.86도구 9
입력 원본 보기 ↗
- 입력
- Java Gradle 프로젝트. 버전을 고정한 lockfile 없음
- 변별
- 빌드를 해석해 간접 의존성까지 찾는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/4 | 3/3 | 86% | 1/1 | 1/1 | 1/1 | 오픈소스 | 49.9s |
bomlens (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 bomlens (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] bomlens (vulnerability) 검출(1) CVE-2020-36518 발견: 컴포넌트 5 (직접 2, 간접 3), 취약점 17 | ||||||||
| ▸cdxgen | 3/4 | 3/3 | 86% | 1/1 | — | — | 오픈소스 | 5.3s |
cdxgen (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 cdxgen (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] 발견: 컴포넌트 4 (직접 1, 간접 3), 취약점 0 | ||||||||
| ▸ort | 3/4 | 3/3 | 86% | 1/1 | — | — | 오픈소스 | 8.4s |
ort (component) 검출(3) jackson-databind@2.13.0jackson-corejackson-annotations 과탐(1) jackson-bom@2.13.0— BOM import(버전 정렬용 pom 선언)라 실제 빌드 산출물(jar)에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 ort (license) 검출(1) jackson-databind@2.13.0 [Apache-2.0] 발견: 컴포넌트 4 (직접 1, 간접 3), 취약점 0 | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | — |
osv-scanner (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) osv-scanner (vulnerability) 미탐(1) CVE-2020-36518— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 | ||||||||
| ▸dependency-check | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 3.0s |
dependency-check (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) dependency-check (vulnerability) 미탐(1) CVE-2020-36518— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 2.0s |
grype (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) grype (vulnerability) 미탐(1) CVE-2020-36518— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸osv-scalibr | 0/1 | 0/3 | 0% | — | — | — | 오픈소스 | 25ms |
osv-scalibr (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) 과탐(1) unknown@unknown 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸syft | 0/1 | 0/3 | 0% | — | — | — | 오픈소스 | 919ms |
syft (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) 과탐(1) gradle-wrapper— 저장소에 포함된 빌드 도구(gradle wrapper jar)로 배포 산출물이 아니다 — 정답에서 제외 syft (license) 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸trivy | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 72ms |
trivy (component) 미탐(3) jackson-databind@2.13.0 jackson-core— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) jackson-annotations— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) trivy (license) trivy (vulnerability) 미탐(1) CVE-2020-36518— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 | ||||||||
java-mavenlockfile 없음컴포넌트 최고1.00bomlens, trivy범위 0.38–1.00도구 9
입력 원본 보기 ↗
- 입력
- Java Maven 프로젝트
- 정답
- 배포물에 들어가는 compile, runtime 범위
- 변별
- pom.xml 을 Maven 으로 해석하고 test, provided 범위를 걸러내는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 13/13 | 13/13 | 100% | 13/13 | 1/1 | 1/1 | 오픈소스 | 42.0s |
bomlens (component) 검출(13) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2jackson-annotations@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0… bomlens (license) 검출(13) log4j-core@2.14.1 [Apache-2.0]guava@33.3.1-jre [Apache-2.0]jackson-databind@2.18.2 [Apache-2.0]commons-lang3@3.17.0 [Apache-2.0]log4j-api@2.14.1 [Apache-2.0]jackson-core@2.18.2 [Apache-2.0]jackson-annotations@2.18.2 [Apache-2.0]failureaccess@1.0.2 [Apache-2.0]listenablefuture@9999.0-empty-to-avoid-conflict-with-guava [Apache-2.0]jsr305@3.0.2 [Apache-2.0]checker-qual@3.43.0 [MIT]error_prone_annotations@2.28.0 [Apache-2.0]… bomlens (vulnerability) 검출(1) CVE-2021-44228 발견: 컴포넌트 13 (직접 4, 간접 9), 취약점 26 | ||||||||
| ▸trivy | 13/13 | 13/13 | 100% | 13/13 | 1/1 | 1/1 | 오픈소스 | 100ms |
trivy (component) 검출(13) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2jackson-annotations@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0… trivy (license) 검출(13) log4j-core@2.14.1 [Apache-2.0]guava@33.3.1-jre [Apache-2.0]jackson-databind@2.18.2 [Apache-2.0]commons-lang3@3.17.0 [Apache-2.0]log4j-api@2.14.1 [Apache-2.0]jackson-core@2.18.2 [Apache-2.0]jackson-annotations@2.18.2 [Apache-2.0]failureaccess@1.0.2 [Apache-2.0]listenablefuture@9999.0-empty-to-avoid-conflict-with-guava [Apache-2.0]jsr305@3.0.2 [Apache-2.0]checker-qual@3.43.0 [MIT]error_prone_annotations@2.28.0 [Apache-2.0]… trivy (vulnerability) 검출(1) CVE-2021-44228 발견: 컴포넌트 13 (직접 4, 간접 9), 취약점 26 | ||||||||
| ▸dependency-check | 12/12 | 12/13 | 96% | — | 1/1 | 0/1 | 오픈소스 | 3.6s |
dependency-check (component) 검출(12) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0j2objc-annotations@3.0.0 미탐(1) jackson-annotations@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) dependency-check (vulnerability) 검출(1) CVE-2021-44228 발견: 컴포넌트 12, 취약점 4 | ||||||||
| ▸cdxgen | 13/21 | 13/13 | 77% | 13/13 | — | — | 오픈소스 | 7.7s |
cdxgen (component) 검출(13) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2jackson-annotations@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0… 과탐(8) junit-jupiter@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-api@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 opentest4j@1.3.0— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-platform-commons@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 apiguardian-api@1.1.2— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-jupiter-params@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-engine@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-platform-engine@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 cdxgen (license) 검출(13) log4j-core@2.14.1 [Apache-2.0]guava@33.3.1-jre [Apache-2.0]jackson-databind@2.18.2 [Apache-2.0]commons-lang3@3.17.0 [Apache-2.0]log4j-api@2.14.1 [Apache-2.0]jackson-core@2.18.2 [Apache-2.0]jackson-annotations@2.18.2 [Apache-2.0]failureaccess@1.0.2 [Apache-2.0]listenablefuture@9999.0-empty-to-avoid-conflict-with-guava [Apache-2.0]jsr305@3.0.2 [Apache-2.0]checker-qual@3.43.0 [MIT]error_prone_annotations@2.28.0 [Apache-2.0]… 발견: 컴포넌트 21 (직접 5, 간접 16), 취약점 0 | ||||||||
| ▸ort | 13/22 | 13/13 | 74% | 13/13 | — | — | 오픈소스 | 16.3s |
ort (component) 검출(13) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2jackson-annotations@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0… 과탐(9) apiguardian-api@1.1.2— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-jupiter@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-api@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-engine@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-params@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-platform-commons@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-platform-engine@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 opentest4j@1.3.0— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 lombok@1.18.34— provided scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 ort (license) 검출(13) log4j-core@2.14.1 [Apache-2.0]guava@33.3.1-jre [Apache-2.0]jackson-databind@2.18.2 [Apache-2.0]commons-lang3@3.17.0 [Apache-2.0]log4j-api@2.14.1 [Apache-2.0]jackson-core@2.18.2 [Apache-2.0]jackson-annotations@2.18.2 [Apache-2.0]failureaccess@1.0.2 [Apache-2.0]listenablefuture@9999.0-empty-to-avoid-conflict-with-guava [Apache-2.0]jsr305@3.0.2 [Apache-2.0]checker-qual@3.43.0 [MIT]error_prone_annotations@2.28.0 [Apache-2.0]… 발견: 컴포넌트 22 (직접 6, 간접 16), 취약점 0 원시 출력: java-maven__ort.rawbom.json | ||||||||
| ▸osv-scanner | 13/22 | 13/13 | 74% | — | 1/1 | 1/1 | 오픈소스 | 7.4s |
osv-scanner (component) 검출(13) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0log4j-api@2.14.1jackson-core@2.18.2jackson-annotations@2.18.2failureaccess@1.0.2listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.43.0error_prone_annotations@2.28.0… 과탐(9) junit-jupiter@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 lombok@1.18.34— provided scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 apiguardian-api@1.1.2— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-jupiter-api@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-engine@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-jupiter-params@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 junit-platform-commons@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 junit-platform-engine@1.11.3— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 opentest4j@1.3.0— test scope 전이(junit)라 배포 JAR 에 들어가지 않는다 — 정답에서 제외 osv-scanner (vulnerability) 검출(1) CVE-2021-44228 발견: 컴포넌트 22, 취약점 26 | ||||||||
| ▸osv-scalibr | 4/6 | 4/13 | 42% | — | — | — | 오픈소스 | 38ms |
osv-scalibr (component) 검출(4) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0 미탐(9) log4j-api@2.14.1— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-core@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-annotations@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) failureaccess@1.0.2— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 listenablefuture@9999.0-empty-to-avoid-conflict-with-guava jsr305@3.0.2 checker-qual@3.43.0— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 error_prone_annotations@2.28.0 j2objc-annotations@3.0.0 과탐(2) junit-jupiter@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 lombok@1.18.34— provided scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 발견: 컴포넌트 6, 취약점 0 | ||||||||
| ▸syft | 4/6 | 4/13 | 42% | 0/4정답 13 | — | — | 오픈소스 | 987ms |
syft (component) 검출(4) log4j-core@2.14.1guava@33.3.1-jrejackson-databind@2.18.2commons-lang3@3.17.0 미탐(9) log4j-api@2.14.1— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-core@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-annotations@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) failureaccess@1.0.2— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 listenablefuture@9999.0-empty-to-avoid-conflict-with-guava jsr305@3.0.2 checker-qual@3.43.0— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 error_prone_annotations@2.28.0 j2objc-annotations@3.0.0 과탐(2) junit-jupiter@5.11.3— test scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 lombok@1.18.34— provided scope 의존성이라 배포 JAR 에 들어가지 않는다 — 배포물 구성 기준으로 정답에서 제외 syft (license) 미탐(4) log4j-core@2.14.1 기대[Apache-2.0] 실제[없음]guava@33.3.1-jre 기대[Apache-2.0] 실제[없음]jackson-databind@2.18.2 기대[Apache-2.0] 실제[없음]commons-lang3@3.17.0 기대[Apache-2.0] 실제[없음] 발견: 컴포넌트 6 (직접 6, 간접 0), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 원시 출력: java-maven__syft.rawbom.json | ||||||||
| ▸grype | 3/3 | 3/13 | 38% | — | 1/1 | 1/1 | 오픈소스 | 1.9s |
grype (component) 검출(3) log4j-core@2.14.1jackson-databind@2.18.2commons-lang3@3.17.0 미탐(10) guava@33.3.1-jre log4j-api@2.14.1— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-core@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) jackson-annotations@2.18.2— 전이 의존성 — pom.xml 만 읽는 도구는 전이를 해석하지 못한다(mvn 해석이 필요) failureaccess@1.0.2— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 listenablefuture@9999.0-empty-to-avoid-conflict-with-guava jsr305@3.0.2 checker-qual@3.43.0— 전이 의존성(guava) — pom.xml 만 읽는 도구는 전이를 해석하지 못한다 error_prone_annotations@2.28.0 j2objc-annotations@3.0.0 grype (vulnerability) 검출(1) CVE-2021-44228 발견: 컴포넌트 3, 취약점 21 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
Androidfixture 2
android-applockfile 없음컴포넌트 최고0.79bomlens범위 0–0.79도구 9
입력 원본 보기 ↗
- 입력
- Android 앱 소스. Android Gradle Plugin 빌드, lockfile 없음
- 정답
- R8 축소를 켠 release APK 의 실제 구성
- 변별
- 빌드에 들어가지 않는 의존성을 걸러내는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 31/48 | 31/31 | 79% | 31/31 | — | — | 오픈소스 | 499.5s |
bomlens (component) 검출(31) appcompat@1.6.1okhttp@4.12.0gson@2.10.1activity@1.6.0annotation@1.3.0appcompat-resources@1.6.1core-common@2.1.0core-runtime@2.1.0collection@1.1.0core@1.9.0cursoradapter@1.0.0customview@1.0.0… 과탐(17) annotation-experimental@1.3.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 concurrent-futures@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 core-ktx@1.9.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 drawerlayout@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 interpolator@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 lifecycle-livedata@2.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 resourceinspection-annotation@1.0.1— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 vectordrawable-animated@1.1.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 viewpager@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 listenablefuture@1.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 okio@3.6.0 kotlin-stdlib-common@1.9.10— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 … bomlens (license) 검출(31) appcompat@1.6.1 [Apache-2.0]okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]activity@1.6.0 [Apache-2.0]annotation@1.3.0 [Apache-2.0]appcompat-resources@1.6.1 [Apache-2.0]core-common@2.1.0 [Apache-2.0]core-runtime@2.1.0 [Apache-2.0]collection@1.1.0 [Apache-2.0]core@1.9.0 [Apache-2.0]cursoradapter@1.0.0 [Apache-2.0]customview@1.0.0 [Apache-2.0]… 발견: 컴포넌트 49 (직접 1, 간접 48), 취약점 0 | ||||||||
| ▸cdxgen | 31/122 | 31/31 | 41% | 31/31 | — | — | 오픈소스 | 10.1s |
cdxgen (component) 검출(31) appcompat@1.6.1okhttp@4.12.0gson@2.10.1activity@1.6.0annotation@1.3.0appcompat-resources@1.6.1core-common@2.1.0core-runtime@2.1.0collection@1.1.0core@1.9.0cursoradapter@1.0.0customview@1.0.0… 과탐(91) android-device-provider-ddmlib@31.5.2 common@31.5.2 annotations@31.5.2 guava@32.0.1-jre failureaccess@1.0.1 listenablefuture@9999.0-empty-to-avoid-conflict-with-guava— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 jsr305@3.0.2 checker-qual@3.33.0 error_prone_annotations@2.18.0 j2objc-annotations@2.8 jna-platform@5.6.0 jna@5.6.0 … cdxgen (license) 검출(31) appcompat@1.6.1 [Apache-2.0]okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]activity@1.6.0 [Apache-2.0]annotation@1.3.0 [Apache-2.0]appcompat-resources@1.6.1 [Apache-2.0]core-common@2.1.0 [Apache-2.0]core-runtime@2.1.0 [Apache-2.0]collection@1.1.0 [Apache-2.0]core@1.9.0 [Apache-2.0]cursoradapter@1.0.0 [Apache-2.0]customview@1.0.0 [Apache-2.0]… 발견: 컴포넌트 125 (직접 17, 간접 108), 취약점 0 | ||||||||
| ▸ort | 31/123 | 31/31 | 40% | 31/31 | — | — | 오픈소스 | 14.5s |
ort (component) 검출(31) appcompat@1.6.1okhttp@4.12.0gson@2.10.1activity@1.6.0annotation@1.3.0appcompat-resources@1.6.1core-common@2.1.0core-runtime@2.1.0collection@1.1.0core@1.9.0cursoradapter@1.0.0customview@1.0.0… 과탐(92) app annotation-experimental@1.3.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 concurrent-futures@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 core-ktx@1.2.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 core-ktx@1.9.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 drawerlayout@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 interpolator@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 lifecycle-livedata@2.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 resourceinspection-annotation@1.0.1— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 vectordrawable-animated@1.1.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 viewpager@1.0.0— releaseRuntimeClasspath 에 해석되나 R8 축소로 클래스가 전부 제거돼 release APK 에 없다(예: Java 앱이라 core-ktx 의 Kotlin 확장 미사용, kotlin-stdlib-jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 — 선언 그래프를 그대로 내는 도구의 precision 함정 annotations@31.5.2 … ort (license) 검출(31) appcompat@1.6.1 [Apache-2.0]okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]activity@1.6.0 [Apache-2.0]annotation@1.3.0 [Apache-2.0]appcompat-resources@1.6.1 [Apache-2.0]core-common@2.1.0 [Apache-2.0]core-runtime@2.1.0 [Apache-2.0]collection@1.1.0 [Apache-2.0]core@1.9.0 [Apache-2.0]cursoradapter@1.0.0 [Apache-2.0]customview@1.0.0 [Apache-2.0]… 발견: 컴포넌트 126 (직접 17, 간접 109), 취약점 0 원시 출력: android-app__ort.rawbom.json | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/31 | 0% | — | — | — | 오픈소스 | — |
osv-scanner (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … | ||||||||
| ▸dependency-check | — | 0/31 | 0% | — | — | — | 오픈소스 | 2.9s |
dependency-check (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/31 | 0% | — | — | — | 오픈소스 | 2.0s |
grype (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
| ▸osv-scalibr | 0/1 | 0/31 | 0% | — | — | — | 오픈소스 | 24ms |
osv-scalibr (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … 과탐(1) unknown@unknown 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸syft | 0/1 | 0/31 | 0% | — | — | — | 오픈소스 | 1.3s |
syft (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … 과탐(1) gradle-wrapper— 저장소에 포함된 빌드 도구(gradle wrapper jar)로 배포 산출물이 아니다 — 정답에서 제외 syft (license) 발견: 컴포넌트 1, 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸trivy | — | 0/31 | 0% | — | — | — | 오픈소스 | 72ms |
trivy (component) 미탐(31) appcompat@1.6.1 okhttp@4.12.0 gson@2.10.1 activity@1.6.0— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(빌드 해석이나 lockfile 이 필요) annotation@1.3.0 appcompat-resources@1.6.1 core-common@2.1.0 core-runtime@2.1.0 collection@1.1.0 core@1.9.0 cursoradapter@1.0.0 customview@1.0.0 … trivy (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
android-flavorlockfile 없음컴포넌트 최고0.61bomlens범위 0–0.61도구 9
입력 원본 보기 ↗
- 입력
- Android 앱 소스. 한 코드에서 무료판(free)과 유료판(paid)을 만드는 Gradle product flavor
- 정답
- 배포본별 의존성
- 변별
- 유료판 전용 라이브러리를 무료판에 섞지 않는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 4/9 | 4/4 | 62% | 4/4 | — | — | 오픈소스 | 416.2s |
bomlens (component) 검출(4) okhttp@4.12.0gson@2.10.1okio-jvm@3.6.0kotlin-stdlib@1.9.10 과탐(5) okio@3.6.0 kotlin-stdlib-common@1.9.10— free 배포 런타임 classpath 에는 있으나 R8 축소로 클래스가 전부 제거돼 free release APK 에 없다(annotations 는 미참조, kotlin-stdlib-common/jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 kotlin-stdlib-jdk7@1.9.10— free 배포 런타임 classpath 에는 있으나 R8 축소로 클래스가 전부 제거돼 free release APK 에 없다(annotations 는 미참조, kotlin-stdlib-common/jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 kotlin-stdlib-jdk8@1.9.10— free 배포 런타임 classpath 에는 있으나 R8 축소로 클래스가 전부 제거돼 free release APK 에 없다(annotations 는 미참조, kotlin-stdlib-common/jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 annotations@13.0— free 배포 런타임 classpath 에는 있으나 R8 축소로 클래스가 전부 제거돼 free release APK 에 없다(annotations 는 미참조, kotlin-stdlib-common/jdk7/jdk8 는 1.9 에서 빈 shim). 배포물 구성 기준으로 정답에서 제외 bomlens (license) 검출(4) okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]okio-jvm@3.6.0 [Apache-2.0]kotlin-stdlib@1.9.10 [Apache-2.0] 발견: 컴포넌트 10 (직접 1, 간접 9), 취약점 0 | ||||||||
| ▸cdxgen | 4/84 | 4/4 | 9% | 4/4 | — | — | 오픈소스 | 9.2s |
cdxgen (component) 검출(4) okhttp@4.12.0gson@2.10.1okio-jvm@3.6.0kotlin-stdlib@1.9.10 과탐(80) android-device-provider-ddmlib@31.5.2common@31.5.2annotations@31.5.2guava@32.0.1-jrefailureaccess@1.0.1listenablefuture@9999.0-empty-to-avoid-conflict-with-guavajsr305@3.0.2checker-qual@3.33.0error_prone_annotations@2.18.0j2objc-annotations@2.8jna-platform@5.6.0jna@5.6.0… cdxgen (license) 검출(4) okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]okio-jvm@3.6.0 [Apache-2.0]kotlin-stdlib@1.9.10 [Apache-2.0] 발견: 컴포넌트 85 (직접 17, 간접 68), 취약점 0 | ||||||||
| ▸ort | 4/85 | 4/4 | 9% | 4/4 | — | — | 오픈소스 | 15.2s |
ort (component) 검출(4) okhttp@4.12.0gson@2.10.1okio-jvm@3.6.0kotlin-stdlib@1.9.10 과탐(81) appannotations@31.5.2common@31.5.2ddmlib@31.5.2proto@31.5.2android-device-provider-ddmlib@31.5.2android-device-provider-ddmlib-proto@31.5.2android-device-provider-gradle@31.5.2android-device-provider-gradle-proto@31.5.2android-test-plugin-host-additional-test-output@31.5.2android-test-plugin-host-additional-test-output-proto@31.5.2android-test-plugin-host-apk-installer@31.5.2… ort (license) 검출(4) okhttp@4.12.0 [Apache-2.0]gson@2.10.1 [Apache-2.0]okio-jvm@3.6.0 [Apache-2.0]kotlin-stdlib@1.9.10 [Apache-2.0] 발견: 컴포넌트 86 (직접 17, 간접 69), 취약점 0 | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/4 | 0% | — | — | — | 오픈소스 | — |
osv-scanner (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 | ||||||||
| ▸dependency-check | — | 0/4 | 0% | — | — | — | 오픈소스 | 3.3s |
dependency-check (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/4 | 0% | — | — | — | 오픈소스 | 2.2s |
grype (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
| ▸osv-scalibr | 0/1 | 0/4 | 0% | — | — | — | 오픈소스 | 33ms |
osv-scalibr (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 과탐(1) unknown@unknown 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸syft | 0/1 | 0/4 | 0% | — | — | — | 오픈소스 | 1.1s |
syft (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 과탐(1) gradle-wrapper— 저장소에 포함된 빌드 도구(gradle wrapper jar)로 배포 산출물이 아니다 — 정답에서 제외 syft (license) 발견: 컴포넌트 1, 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸trivy | — | 0/4 | 0% | — | — | — | 오픈소스 | 78ms |
trivy (component) 미탐(4) okhttp@4.12.0 gson@2.10.1 okio-jvm@3.6.0— okhttp 의 전이 의존. Kotlin 멀티플랫폼 모듈이라 실제 링크 아티팩트는 okio-jvm 이다(선언명 okio 로 보고하는 도구도 있음) kotlin-stdlib@1.9.10 trivy (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
Node.jsfixture 6
bun-locklockfile 있음컴포넌트 최고1.00bomlens, syft, trivy범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Bun 의 텍스트 lockfile(bun.lock)
- 정답
- debug, ms. 개발 의존성 is-number 제외
- 변별
- 새 lockfile 형식을 읽는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 2/2 | 2/2 | 100% | 2/2 | — | — | 오픈소스 | 45.9s |
bomlens (component) 검출(2) debug@4.3.4ms@2.1.2 bomlens (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 2 (직접 1, 간접 1), 취약점 0 | ||||||||
| ▸syft | 2/2 | 2/2 | 100% | 0/2 | — | — | 오픈소스 | 996ms |
syft (component) 검출(2) debug@4.3.4ms@2.1.2 syft (license) 미탐(2) debug@4.3.4 기대[MIT] 실제[없음]ms@2.1.2 기대[MIT] 실제[없음] 발견: 컴포넌트 2 (직접 0, 간접 2), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 원시 출력: bun-lock__syft.rawbom.json | ||||||||
| ▸trivy | 2/2 | 2/2 | 100% | 0/2 | — | — | 오픈소스 | 114ms |
trivy (component) 검출(2) debug@4.3.4ms@2.1.2 trivy (license) 미탐(2) debug@4.3.4 기대[MIT] 실제[없음]ms@2.1.2 기대[MIT] 실제[없음] 발견: 컴포넌트 2 (직접 0, 간접 2), 취약점 0 원시 출력: bun-lock__trivy.rawbom.json | ||||||||
| ▸cdxgen | 2/3 | 2/2 | 80% | 2/2 | — | — | 오픈소스 | 1.8s |
cdxgen (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 cdxgen (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 원시 출력: bun-lock__cdxgen.rawbom.json | ||||||||
| ▸ort | 2/3 | 2/2 | 80% | 2/2 | — | — | 오픈소스 | 6.3s |
ort (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 ort (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 원시 출력: bun-lock__ort.rawbom.json | ||||||||
| ▸osv-scalibr | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 25ms |
osv-scalibr (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 발견: 컴포넌트 4, 취약점 0 | ||||||||
| ▸osv-scanner | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 6.5s |
osv-scanner (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 발견: 컴포넌트 3, 취약점 0 | ||||||||
| ▸dependency-check | — | 0/2 | 0% | — | — | — | 오픈소스 | 2.8s |
dependency-check (component) 미탐(2) debug@4.3.4ms@2.1.2 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/2 | 0% | — | — | — | 오픈소스 | 1.9s |
grype (component) 미탐(2) debug@4.3.4ms@2.1.2 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 원시 출력: bun-lock__grype.rawbom.json | ||||||||
node-locklockfile 있음컴포넌트 최고1.006개 도구범위 0.50–1.00도구 9
입력 원본 보기 ↗
- 입력
- Node.js(npm) 프로젝트. package-lock.json 에 버전까지 고정
- 변별
- 고정된 의존성을 정확히 읽는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/3 | 3/3 | 100% | 3/3 | 1/1 | 1/1 | 오픈소스 | 41.8s |
bomlens (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 bomlens (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] bomlens (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 4 (직접 3, 간접 1), 취약점 1 관련 분석: lockfile 이 있으면 도구가 수렴한다 | ||||||||
| ▸cdxgen | 3/3 | 3/3 | 100% | 3/3 | — | — | 오픈소스 | 2.2s |
cdxgen (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 cdxgen (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 관련 분석: lockfile 이 있으면 도구가 수렴한다 | ||||||||
| ▸ort | 3/3 | 3/3 | 100% | 3/3 | — | — | 오픈소스 | 7.9s |
ort (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 ort (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 관련 분석: lockfile 이 있으면 도구가 수렴한다 원시 출력: node-lock__ort.rawbom.json | ||||||||
| ▸osv-scanner | 3/3 | 3/3 | 100% | — | 1/1 | 1/1 | 오픈소스 | 6.4s |
osv-scanner (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 osv-scanner (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 3, 취약점 1 관련 분석: lockfile 이 있으면 도구가 수렴한다 | ||||||||
| ▸syft | 3/3 | 3/3 | 100% | 3/3 | — | — | 오픈소스 | 1.1s |
syft (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 syft (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 원시 출력: node-lock__syft.rawbom.json | ||||||||
| ▸trivy | 3/3 | 3/3 | 100% | 3/3 | 1/1 | 1/1 | 오픈소스 | 88ms |
trivy (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 trivy (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] trivy (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 1 관련 분석: lockfile 이 있으면 도구가 수렴한다 원시 출력: node-lock__trivy.rawbom.json | ||||||||
| ▸osv-scalibr | 3/4 | 3/3 | 86% | — | — | — | 오픈소스 | 25ms |
osv-scalibr (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 과탐(1) node-lock@1.0.0 발견: 컴포넌트 4, 취약점 0 관련 분석: lockfile 이 있으면 도구가 수렴한다 | ||||||||
| ▸dependency-check | 1/1 | 1/3 | 50% | — | 1/1 | 0/1 | 오픈소스 | 3.3s |
dependency-check (component) 검출(1) minimist@1.2.5 미탐(2) debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) dependency-check (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 1, 취약점 1 관련 분석: lockfile 이 있으면 도구가 수렴한다 | ||||||||
| ▸grype | 1/1 | 1/3 | 50% | — | 1/1 | 1/1 | 오픈소스 | 1.6s |
grype (component) 검출(1) minimist@1.2.5 미탐(2) debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) grype (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 1, 취약점 1 원시 출력: node-lock__grype.rawbom.json | ||||||||
npm-vuln-pinnedlockfile 있음컴포넌트 최고1.009개 도구도구 9
입력 원본 보기 ↗
- 입력
- Node.js(npm) 프로젝트. 취약한 버전의 lodash 를 고정
- 변별
- 취약점을 찾고 고칠 버전을 제시하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 1/1 | 1/1 | 100% | 1/1 | 6/6 | 6/6 | 오픈소스 | 35.7s |
bomlens (component) 검출(1) lodash@4.17.15 bomlens (license) 검출(1) lodash@4.17.15 [MIT] bomlens (vulnerability) 검출(6) CVE-2020-8203CVE-2020-28500CVE-2021-23337CVE-2025-13465CVE-2026-2950CVE-2026-4800 과탐(1) NSWG-ECO-516— 비CVE 자체 식별자(nodejs-security-wg)로 정답 CVE 의 별칭으로 확인되지 않아 매칭되지 않는다 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 7 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
| ▸cdxgen | 1/1 | 1/1 | 100% | 1/1 | — | — | 오픈소스 | 1.6s |
cdxgen (component) 검출(1) lodash@4.17.15 cdxgen (license) 검출(1) lodash@4.17.15 [MIT] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
| ▸dependency-check | 1/1 | 1/1 | 100% | — | 6/6 | 0/6 | 오픈소스 | 2.9s |
dependency-check (component) 검출(1) lodash@4.17.15 dependency-check (vulnerability) 검출(6) CVE-2020-8203CVE-2020-28500CVE-2021-23337CVE-2025-13465CVE-2026-2950CVE-2026-4800 발견: 컴포넌트 1, 취약점 6 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
| ▸grype | 1/1 | 1/1 | 100% | — | 6/6 | 6/6 | 오픈소스 | 2.4s |
grype (component) 검출(1) lodash@4.17.15 grype (vulnerability) 검출(6) CVE-2020-8203CVE-2020-28500CVE-2021-23337CVE-2025-13465CVE-2026-2950CVE-2026-4800 발견: 컴포넌트 1, 취약점 6 | ||||||||
| ▸ort | 1/1 | 1/1 | 100% | 1/1 | — | — | 오픈소스 | 11.1s |
ort (component) 검출(1) lodash@4.17.15 ort (license) 검출(1) lodash@4.17.15 [MIT] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
| ▸osv-scalibr | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 25ms |
| ▸osv-scanner | 1/1 | 1/1 | 100% | — | 6/6 | 6/6 | 오픈소스 | 7.0s |
osv-scanner (component) 검출(1) lodash@4.17.15 osv-scanner (vulnerability) 검출(6) CVE-2020-8203CVE-2020-28500CVE-2021-23337CVE-2025-13465CVE-2026-2950CVE-2026-4800 발견: 컴포넌트 1, 취약점 6 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
| ▸syft | 1/1 | 1/1 | 100% | 0/1 | — | — | 오픈소스 | 1.1s |
syft (component) 검출(1) lodash@4.17.15 syft (license) 미탐(1) lodash@4.17.15 기대[MIT] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 발견: 컴포넌트 2 (직접 0, 간접 2), 취약점 0 | ||||||||
| ▸trivy | 1/1 | 1/1 | 100% | 0/1 | 6/6 | 6/6 | 오픈소스 | 72ms |
trivy (component) 검출(1) lodash@4.17.15 trivy (license) 미탐(1) lodash@4.17.15 기대[MIT] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 trivy (vulnerability) 검출(6) CVE-2020-8203CVE-2020-28500CVE-2021-23337CVE-2025-13465CVE-2026-2950CVE-2026-4800 과탐(1) NSWG-ECO-516— 비CVE 자체 식별자(nodejs-security-wg)로 정답 CVE 의 별칭으로 확인되지 않아 매칭되지 않는다 발견: 컴포넌트 1 (직접 0, 간접 1), 취약점 7 관련 분석: CVE 가 아닌 식별자는 별칭으로 인정한다 | ||||||||
pnpm-workspacelockfile 있음컴포넌트 최고1.00bomlens, trivy범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- pnpm 워크스페이스(pnpm-lock.yaml v9). 패키지 둘이 서로 참조
- 정답
- debug, ms, kind-of. 루트 개발 의존성과 워크스페이스 패키지 자신은 제외
- 변별
- 워크스페이스 전체를 읽는지, 개발 의존성을 빼는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/3 | 3/3 | 100% | 3/3 | — | — | 오픈소스 | 37.0s |
bomlens (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 bomlens (license) 검출(3) debug@4.3.4 [MIT]ms@2.1.2 [MIT]kind-of@6.0.3 [MIT] 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 0 | ||||||||
| ▸trivy | 3/3 | 3/3 | 100% | 0/3 | — | — | 오픈소스 | 75ms |
trivy (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 trivy (license) 미탐(3) debug@4.3.4 기대[MIT] 실제[없음]ms@2.1.2 기대[MIT] 실제[없음]kind-of@6.0.3 기대[MIT] 실제[없음] 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 0 | ||||||||
| ▸cdxgen | 3/4 | 3/3 | 86% | 3/3 | — | — | 오픈소스 | 1.4s |
cdxgen (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 cdxgen (license) 검출(3) debug@4.3.4 [MIT]ms@2.1.2 [MIT]kind-of@6.0.3 [MIT] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 | ||||||||
| ▸osv-scalibr | 3/4 | 3/3 | 86% | — | — | — | 오픈소스 | 24ms |
osv-scalibr (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 발견: 컴포넌트 7, 취약점 0 | ||||||||
| ▸osv-scanner | 3/4 | 3/3 | 86% | — | — | — | 오픈소스 | 6.9s |
osv-scanner (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 발견: 컴포넌트 4, 취약점 0 | ||||||||
| ▸syft | 3/4 | 3/3 | 86% | 0/3 | — | — | 오픈소스 | 994ms |
syft (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 syft (license) 미탐(3) debug@4.3.4 기대[MIT] 실제[없음]ms@2.1.2 기대[MIT] 실제[없음]kind-of@6.0.3 기대[MIT] 실제[없음] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸ort | 3/6 | 3/3 | 67% | 3/3 | — | — | 오픈소스 | 10.1s |
ort (component) 검출(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 과탐(3) app@1.0.0 util@1.0.0 is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 ort (license) 검출(3) debug@4.3.4 [MIT]ms@2.1.2 [MIT]kind-of@6.0.3 [MIT] 발견: 컴포넌트 6 (직접 4, 간접 2), 취약점 0 | ||||||||
| ▸dependency-check | — | 0/3 | 0% | — | — | — | 오픈소스 | 5.2s |
dependency-check (component) 미탐(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/3 | 0% | — | — | — | 오픈소스 | 2.2s |
grype (component) 미탐(3) debug@4.3.4ms@2.1.2kind-of@6.0.3 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
npm-nolocklockfile 없음컴포넌트 최고1.00bomlens, ort범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Node.js(npm) 프로젝트. package.json 만 있고 lockfile 없음
- 변별
- 설치를 해석해 간접 의존성까지 찾는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/3 | 3/3 | 100% | 3/3 | 1/1 | 1/1 | 오픈소스 | 38.1s |
bomlens (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 bomlens (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] bomlens (vulnerability) 검출(1) CVE-2021-44906 발견: 컴포넌트 4 (직접 3, 간접 1), 취약점 1 | ||||||||
| ▸ort | 3/3 | 3/3 | 100% | 3/3 | — | — | 오픈소스 | 7.0s |
ort (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 ort (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 원시 출력: npm-nolock__ort.rawbom.json | ||||||||
| ▸cdxgen | 3/6 | 3/3 | 67% | 3/3 | — | — | 오픈소스 | 2.2s |
cdxgen (component) 검출(3) minimist@1.2.5debug@4.3.1ms@2.1.2 과탐(3) debugminimistms cdxgen (license) 검출(3) minimist@1.2.5 [MIT]debug@4.3.1 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 6 (직접 2, 간접 4), 취약점 0 | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | — |
osv-scanner (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) osv-scanner (vulnerability) 미탐(1) CVE-2021-44906— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸dependency-check | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 2.8s |
dependency-check (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) dependency-check (vulnerability) 미탐(1) CVE-2021-44906— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸grype | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 2.2s |
grype (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) grype (vulnerability) 미탐(1) CVE-2021-44906— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸osv-scalibr | 0/1 | 0/3 | 0% | — | — | — | 오픈소스 | 20ms |
osv-scalibr (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) 과탐(1) npm-nolock@1.0.0 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸syft | — | 0/3 | 0% | — | — | — | 오픈소스 | 971ms |
syft (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) syft (license) 발견: 컴포넌트 0, 취약점 0 원시 출력: npm-nolock__syft.rawbom.json | ||||||||
| ▸trivy | — | 0/3 | 0% | — | 0/1 | 0/1 | 오픈소스 | 64ms |
trivy (component) 미탐(3) minimist@1.2.5 debug@4.3.1 ms@2.1.2— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) trivy (license) trivy (vulnerability) 미탐(1) CVE-2021-44906— 이 CVE 가 붙은 컴포넌트를 검출하지 못한 도구는 취약점 매칭도 불가하다 — 컴포넌트 축의 미탐과 연동 발견: 컴포넌트 0, 취약점 0 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
npm-nonshipped저장소 구조컴포넌트 최고1.00bomlens범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- npm 프로젝트. 루트 lockfile 에 운영 의존성 debug 와 개발 의존성 is-number. examples/, test/ 아래에 각자 lockfile 을 가진 하위 패키지
- 정답
- 배포물에 들어가는 debug, ms 만
- 변별
- 예제와 테스트 매니페스트, 개발 의존성을 빼는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 2/2 | 2/2 | 100% | 2/2 | — | — | 오픈소스 | 36.2s |
bomlens (component) 검출(2) debug@4.3.4ms@2.1.2 bomlens (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 0 | ||||||||
| ▸osv-scanner | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 6.0s |
osv-scanner (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(1) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 발견: 컴포넌트 3, 취약점 0 | ||||||||
| ▸syft | 2/4 | 2/2 | 67% | 2/2 | — | — | 오픈소스 | 845ms |
syft (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(2) kind-of@6.0.3— test/fixtures 아래 테스트용 패키지의 의존성이라 배포되지 않는다 left-pad@1.3.0— examples/demo 아래 예제의 의존성이라 배포되지 않는다 syft (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 7 (직접 0, 간접 7), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸trivy | 2/4 | 2/2 | 67% | 2/2 | — | — | 오픈소스 | 78ms |
trivy (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(2) kind-of@6.0.3— test/fixtures 아래 테스트용 패키지의 의존성이라 배포되지 않는다 left-pad@1.3.0— examples/demo 아래 예제의 의존성이라 배포되지 않는다 trivy (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 | ||||||||
| ▸cdxgen | 2/5 | 2/2 | 57% | 2/2 | — | — | 오픈소스 | 1.5s |
cdxgen (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(3) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 kind-of@6.0.3— test/fixtures 아래 테스트용 패키지의 의존성이라 배포되지 않는다 left-pad@1.3.0— examples/demo 아래 예제의 의존성이라 배포되지 않는다 cdxgen (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 5 (직접 2, 간접 3), 취약점 0 | ||||||||
| ▸ort | 2/5 | 2/2 | 57% | 2/2 | — | — | 오픈소스 | 11.9s |
ort (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(3) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 kind-of@6.0.3— test/fixtures 아래 테스트용 패키지의 의존성이라 배포되지 않는다 left-pad@1.3.0— examples/demo 아래 예제의 의존성이라 배포되지 않는다 ort (license) 검출(2) debug@4.3.4 [MIT]ms@2.1.2 [MIT] 발견: 컴포넌트 8 (직접 4, 간접 4), 취약점 0 | ||||||||
| ▸osv-scalibr | 2/5 | 2/2 | 57% | — | — | — | 오픈소스 | 30ms |
osv-scalibr (component) 검출(2) debug@4.3.4ms@2.1.2 과탐(3) is-number@7.0.0— devDependencies(개발 의존성)라 배포물에 들어가지 않는다 kind-of@6.0.3— test/fixtures 아래 테스트용 패키지의 의존성이라 배포되지 않는다 left-pad@1.3.0— examples/demo 아래 예제의 의존성이라 배포되지 않는다 발견: 컴포넌트 8, 취약점 0 | ||||||||
| ▸dependency-check | — | 0/2 | 0% | — | — | — | 오픈소스 | 3.2s |
dependency-check (component) 미탐(2) debug@4.3.4ms@2.1.2 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/2 | 0% | — | — | — | 오픈소스 | 1.7s |
Pythonfixture 3
uv-locklockfile 있음컴포넌트 최고1.00bomlens, trivy범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- uv 프로젝트(pyproject.toml, uv.lock)
- 정답
- python-dateutil, six. dev 의존성 그룹의 iniconfig 제외
- 변별
- uv lockfile 을 읽는지, 의존성 그룹을 구분하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 2/2 | 2/2 | 100% | 1/1 | — | — | 오픈소스 | 33.1s |
bomlens (component) 검출(2) python-dateutil@2.8.2six@1.16.0 bomlens (license) 검출(1) six@1.16.0 [MIT] 발견: 컴포넌트 2 (직접 1, 간접 1), 취약점 0 원시 출력: uv-lock__bomlens.rawbom.json | ||||||||
| ▸trivy | 2/2 | 2/2 | 100% | 0/1 | — | — | 오픈소스 | 78ms |
trivy (component) 검출(2) python-dateutil@2.8.2six@1.16.0 trivy (license) 미탐(1) six@1.16.0 기대[MIT] 실제[없음] 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 0 원시 출력: uv-lock__trivy.rawbom.json | ||||||||
| ▸cdxgen | 2/3 | 2/2 | 80% | 1/1 | — | — | 오픈소스 | 23.3s |
cdxgen (component) 검출(2) python-dateutil@2.8.2six@1.16.0 과탐(1) iniconfig@2.0.0— dev 의존성 그룹이라 배포물에 들어가지 않는다 cdxgen (license) 검출(1) six@1.16.0 [MIT] 발견: 컴포넌트 3 (직접 1, 간접 2), 취약점 0 원시 출력: uv-lock__cdxgen.rawbom.json | ||||||||
| ▸osv-scalibr | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 75ms |
osv-scalibr (component) 검출(2) python-dateutil@2.8.2six@1.16.0 과탐(1) iniconfig@2.0.0— dev 의존성 그룹이라 배포물에 들어가지 않는다 발견: 컴포넌트 4, 취약점 0 | ||||||||
| ▸osv-scanner | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 1.5s |
osv-scanner (component) 검출(2) python-dateutil@2.8.2six@1.16.0 과탐(1) iniconfig@2.0.0— dev 의존성 그룹이라 배포물에 들어가지 않는다 발견: 컴포넌트 3, 취약점 0 | ||||||||
| ▸syft | 2/3 | 2/2 | 80% | 0/1 | — | — | 오픈소스 | 1.2s |
syft (component) 검출(2) python-dateutil@2.8.2six@1.16.0 과탐(1) iniconfig@2.0.0— dev 의존성 그룹이라 배포물에 들어가지 않는다 syft (license) 미탐(1) six@1.16.0 기대[MIT] 실제[없음] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 원시 출력: uv-lock__syft.rawbom.json | ||||||||
| ▸dependency-check | — | 0/2 | 0% | — | — | — | 오픈소스 | 3.4s |
dependency-check (component) 미탐(2) python-dateutil@2.8.2six@1.16.0 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/2 | 0% | — | — | — | 오픈소스 | 2.6s |
grype (component) 미탐(2) python-dateutil@2.8.2six@1.16.0 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 원시 출력: uv-lock__grype.rawbom.json | ||||||||
| ▸ort | — | 0/2 | 0% | — | — | — | 오픈소스 | 5.9s |
ort (component) 미탐(2) python-dateutil@2.8.2six@1.16.0 ort (license) 발견: 컴포넌트 0, 취약점 0 원시 출력: uv-lock__ort.rawbom.json | ||||||||
py-pinnedlockfile 없음컴포넌트 최고1.004개 도구범위 0.53–1.00도구 9
입력 원본 보기 ↗
- 입력
- Python 프로젝트. requirements.txt 에 직접 의존성 4개만 버전 고정, 간접 7개는 고정하지 않음
- 정답
- pip 해석 기준 11개. 직접은 버전까지, 간접은 이름으로 매칭한다
- 변별
- 직접 선언만 읽는 도구와 간접 의존성까지 해석하는 도구를 가른다
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 11/11 | 11/11 | 100% | 4/4 | 1/1 | 1/1 | 오픈소스 | 39.4s |
bomlens (component) 검출(11) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1werkzeugclickitsdangerousmarkupsafecertifichardetidna bomlens (license) 검출(4) flask@2.0.1 [BSD-3-Clause]requests@2.25.1 [Apache-2.0]urllib3@1.26.4 [MIT]jinja2@3.0.1 [BSD-3-Clause] bomlens (vulnerability) 검출(1) CVE-2021-33503 발견: 컴포넌트 11 (직접 4, 간접 7), 취약점 24 | ||||||||
| ▸cdxgen | 11/11 | 11/11 | 100% | 4/4 | — | — | 오픈소스 | 16.3s |
cdxgen (component) 검출(11) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1werkzeugclickitsdangerousmarkupsafecertifichardetidna cdxgen (license) 검출(4) flask@2.0.1 [BSD-3-Clause]requests@2.25.1 [Apache-2.0]urllib3@1.26.4 [MIT]jinja2@3.0.1 [BSD-3-Clause] 발견: 컴포넌트 11 (직접 4, 간접 7), 취약점 0 | ||||||||
| ▸ort | 11/11 | 11/11 | 100% | 4/4 | — | — | 오픈소스 | 11.6s |
ort (component) 검출(11) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1werkzeugclickitsdangerousmarkupsafecertifichardetidna ort (license) 검출(4) flask@2.0.1 [BSD-3-Clause]requests@2.25.1 [Apache-2.0]urllib3@1.26.4 [MIT]jinja2@3.0.1 [BSD-3-Clause] 발견: 컴포넌트 11 (직접 2, 간접 9), 취약점 0 원시 출력: py-pinned__ort.rawbom.json | ||||||||
| ▸osv-scanner | 11/11 | 11/11 | 100% | — | 1/1 | 1/1 | 오픈소스 | 5.5s |
osv-scanner (component) 검출(11) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1werkzeugclickitsdangerousmarkupsafecertifichardetidna osv-scanner (vulnerability) 검출(1) CVE-2021-33503 발견: 컴포넌트 11, 취약점 24 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸dependency-check | 4/4 | 4/11 | 53% | — | 0/1 | 0/1 | 오픈소스 | 2.9s |
dependency-check (component) 검출(4) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1 미탐(7) werkzeug— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) click— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) itsdangerous— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) markupsafe— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) certifi— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) chardet— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) idna— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) dependency-check (vulnerability) 미탐(1) CVE-2021-33503 발견: 컴포넌트 4, 취약점 0 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸grype | 4/4 | 4/11 | 53% | — | 1/1 | 1/1 | 오픈소스 | 2.5s |
grype (component) 검출(4) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1 미탐(7) werkzeug— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) click— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) itsdangerous— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) markupsafe— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) certifi— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) chardet— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) idna— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) grype (vulnerability) 검출(1) CVE-2021-33503 발견: 컴포넌트 4, 취약점 22 원시 출력: py-pinned__grype.rawbom.json | ||||||||
| ▸osv-scalibr | 4/4 | 4/11 | 53% | — | — | — | 오픈소스 | 22ms |
osv-scalibr (component) 검출(4) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1 미탐(7) werkzeug— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) click— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) itsdangerous— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) markupsafe— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) certifi— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) chardet— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) idna— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) 발견: 컴포넌트 4, 취약점 0 | ||||||||
| ▸syft | 4/4 | 4/11 | 53% | 0/4 | — | — | 오픈소스 | 1.1s |
syft (component) 검출(4) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1 미탐(7) werkzeug— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) click— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) itsdangerous— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) markupsafe— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) certifi— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) chardet— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) idna— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) syft (license) 미탐(4) flask@2.0.1 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 requests@2.25.1 기대[Apache-2.0] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 urllib3@1.26.4 기대[MIT] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 jinja2@3.0.1 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 발견: 컴포넌트 4, 취약점 0 원시 출력: py-pinned__syft.rawbom.json | ||||||||
| ▸trivy | 4/4 | 4/11 | 53% | 0/4 | 1/1 | 1/1 | 오픈소스 | 79ms |
trivy (component) 검출(4) flask@2.0.1requests@2.25.1urllib3@1.26.4jinja2@3.0.1 미탐(7) werkzeug— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) click— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) itsdangerous— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) markupsafe— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) certifi— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) chardet— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) idna— 전이 의존성 — 매니페스트만 읽는 도구는 전이를 해석하지 못한다(설치, 빌드, lockfile 해석이 필요) trivy (license) 미탐(4) flask@2.0.1 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 requests@2.25.1 기대[Apache-2.0] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 urllib3@1.26.4 기대[MIT] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 jinja2@3.0.1 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 trivy (vulnerability) 검출(1) CVE-2021-33503 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 22 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 원시 출력: py-pinned__trivy.rawbom.json | ||||||||
py-rangelockfile 없음컴포넌트 최고1.006개 도구범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Python 프로젝트. requirements.txt 에 버전 범위(>=)로 선언
- 변별
- 범위에서 실제 설치 버전을 정하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | 4/4 | — | 4/4 | — | — | 오픈소스 | 41.7s |
bomlens (component) 검출(4) flaskrequestsurllib3jinja2 bomlens (license) 검출(4) flask [BSD-3-Clause]requests [Apache-2.0]urllib3 [MIT]jinja2 [BSD-3-Clause] 발견: 컴포넌트 12 (직접 4, 간접 8), 취약점 0 관련 분석: bomlens 의 범위 의존성 이중 계상 (수정됨) | ||||||||
| ▸cdxgen | — | 4/4 | — | 4/4 | — | — | 오픈소스 | 11.9s |
cdxgen (component) 검출(4) flaskrequestsurllib3jinja2 cdxgen (license) 검출(4) flask [BSD-3-Clause]requests [Apache-2.0]urllib3 [MIT]jinja2 [BSD-3-Clause] 발견: 컴포넌트 16 (직접 4, 간접 12), 취약점 0 원시 출력: py-range__cdxgen.rawbom.json | ||||||||
| ▸dependency-check | — | 4/4 | — | — | — | — | 오픈소스 | 2.8s |
dependency-check (component) 검출(4) flaskrequestsurllib3jinja2 발견: 컴포넌트 4, 취약점 0 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸ort | — | 4/4 | — | 3/4 | — | — | 오픈소스 | 9.2s |
ort (component) 검출(4) flaskrequestsurllib3jinja2 ort (license) 검출(3) flask [BSD-3-Clause]requests [Apache-2.0]urllib3 [MIT] 미탐(1) jinja2 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 발견: 컴포넌트 12 (직접 2, 간접 10), 취약점 0 원시 출력: py-range__ort.rawbom.json | ||||||||
| ▸osv-scalibr | — | 4/4 | — | — | — | — | 오픈소스 | 23ms |
osv-scalibr (component) 검출(4) flaskrequestsurllib3jinja2 발견: 컴포넌트 4, 취약점 0 | ||||||||
| ▸osv-scanner | — | 4/4 | — | — | — | — | 오픈소스 | 4.6s |
osv-scanner (component) 검출(4) flaskrequestsurllib3jinja2 발견: 컴포넌트 14, 취약점 1 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸grype | — | 0/4 | — | — | — | — | 오픈소스 | 1.9s |
grype (component) 미탐(4) flaskrequestsurllib3jinja2 발견: 컴포넌트 0, 취약점 0 원시 출력: py-range__grype.rawbom.json | ||||||||
| ▸syft | — | 0/4 | — | — | — | — | 오픈소스 | 1.0s |
syft (component) 미탐(4) flaskrequestsurllib3jinja2 syft (license) 발견: 컴포넌트 0, 취약점 0 원시 출력: py-range__syft.rawbom.json | ||||||||
| ▸trivy | — | 0/4 | — | — | — | — | 오픈소스 | 70ms |
trivy (component) 미탐(4) flaskrequestsurllib3jinja2 trivy (license) 발견: 컴포넌트 0, 취약점 0 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 원시 출력: py-range__trivy.rawbom.json | ||||||||
Gofixture 1
go-modlockfile 있음컴포넌트 최고1.00bomlens, cdxgen범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Go 프로젝트. go.mod 와 go.sum 에 버전까지 고정
- 정답
- 빌드 타깃 linux/amd64 에 실제 링크되는 것
- 변별
- 선언 전체를 내는지, 실제 링크만 내는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 2/2 | 2/2 | 100% | 2/2 | — | — | 오픈소스 | 64.7s |
bomlens (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 bomlens (license) 검출(2) cobra@v1.8.0 [Apache-2.0]pflag@v1.0.5 [BSD-3-Clause] 발견: 컴포넌트 2 (직접 1, 간접 1), 취약점 0 관련 분석: go-mod: 정답은 실제 빌드 결과 원시 출력: go-mod__bomlens.rawbom.json | ||||||||
| ▸cdxgen | 2/2 | 2/2 | 100% | 2/2 | — | — | 오픈소스 | 5.5s |
cdxgen (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 cdxgen (license) 검출(2) cobra@v1.8.0 [Apache-2.0]pflag@v1.0.5 [BSD-3-Clause] 발견: 컴포넌트 2 (직접 1, 간접 1), 취약점 0 관련 분석: go-mod: 정답은 실제 빌드 결과 원시 출력: go-mod__cdxgen.rawbom.json | ||||||||
| ▸ort | 2/3 | 2/2 | 80% | 0/2 | — | — | 오픈소스 | 23.2s |
ort (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(1) mousetrap@1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 ort (license) 미탐(2) cobra@v1.8.0 기대[Apache-2.0] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 pflag@v1.0.5 기대[BSD-3-Clause] 실제[없음]— 입력(매니페스트, lockfile)에 라이선스 메타데이터가 없다 — 패키지 설치나 저장소 조회를 하지 않는 도구는 라이선스를 낼 수 없다 발견: 컴포넌트 3 (직접 1, 간접 2), 취약점 0 관련 분석: go-mod: 정답은 실제 빌드 결과 원시 출력: go-mod__ort.rawbom.json | ||||||||
| ▸osv-scanner | 2/3 | 2/2 | 80% | — | — | — | 오픈소스 | 2.8s |
osv-scanner (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(1) mousetrap@1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 발견: 컴포넌트 3, 취약점 0 | ||||||||
| ▸syft | 2/3 | 2/2 | 80% | 2/2 | — | — | 오픈소스 | 11.3s |
syft (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(1) mousetrap@v1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 syft (license) 검출(2) cobra@v1.8.0 [Apache-2.0]pflag@v1.0.5 [BSD-3-Clause] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 원시 출력: go-mod__syft.rawbom.json | ||||||||
| ▸trivy | 2/3 | 2/2 | 80% | 2/2 | — | — | 오픈소스 | 348ms |
trivy (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(1) mousetrap@v1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 trivy (license) 검출(2) cobra@v1.8.0 [Apache-2.0]pflag@v1.0.5 [BSD-3-Clause] 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 원시 출력: go-mod__trivy.rawbom.json | ||||||||
| ▸osv-scalibr | 2/4 | 2/2 | 67% | — | — | — | 오픈소스 | 27ms |
osv-scalibr (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(2) mousetrap@1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 stdlib@1.21 발견: 컴포넌트 4, 취약점 0 관련 분석: go-mod: 정답은 실제 빌드 결과 | ||||||||
| ▸dependency-check | 2/7 | 2/2 | 44% | — | — | — | 오픈소스 | 2.9s |
dependency-check (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 과탐(5) v2@2.0.3— go.sum 의 선언 초집합(문서 생성, 테스트 의존성)으로 실제 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 mousetrap@1.1.0— windows 전용 전이 의존성이라 linux/amd64 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 v2@2.1.0— go.sum 의 선언 초집합(문서 생성, 테스트 의존성)으로 실제 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 check.v1@0.0.0-20161208181325-20d25e280405— go.sum 의 선언 초집합(문서 생성, 테스트 의존성)으로 실제 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 yaml.v3@3.0.1— go.sum 의 선언 초집합(문서 생성, 테스트 의존성)으로 실제 빌드에 링크되지 않는다 — go list -deps 로 검증해 정답에서 제외 발견: 컴포넌트 8, 취약점 0 | ||||||||
| ▸grype | — | 0/2 | 0% | — | — | — | 오픈소스 | 2.8s |
Rustfixture 1
rust-cargolockfile 없음컴포넌트 최고1.00bomlens, cdxgen, ort범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Rust 프로젝트. Cargo.toml 에 의존성 선언, 버전을 고정한 Cargo.lock 없음(라이브러리에서 흔한 방식)
- 정답
- crate 이름으로 매칭. Cargo.toml 의 semver 범위라 실제 버전은 드리프트한다
- 변별
- Cargo.lock 이 없어도 crate 를 잡는지. syft 는 검출 0
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | 1/1 | — | — | — | — | 오픈소스 | 62.4s |
| ▸cdxgen | — | 1/1 | — | — | — | — | 오픈소스 | 4.1s |
| ▸ort | — | 1/1 | — | — | — | — | 오픈소스 | 8.4s |
| ▸osv-scanner 입력 미지원 | — | 0/1 | — | — | — | — | 오픈소스 | — |
osv-scanner (component) 미탐(1) serde 관련 분석: 매니페스트 파서: 못 푸는 것과 과포함 | ||||||||
| ▸dependency-check | — | 0/1 | — | — | — | — | 오픈소스 | 3.2s |
| ▸grype | — | 0/1 | — | — | — | — | 오픈소스 | 2.6s |
grype (component) 미탐(1) serde 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸osv-scalibr | — | 0/1 | — | — | — | — | 오픈소스 | 25ms |
| ▸syft | — | 0/1 | — | — | — | — | 오픈소스 | 1.0s |
| ▸trivy | — | 0/1 | — | — | — | — | 오픈소스 | 76ms |
PHPfixture 1
php-nolocklockfile 없음컴포넌트 최고1.00bomlens범위 0–1.00도구 8
입력 원본 보기 ↗
- 입력
- composer.json 만 있는 PHP 프로젝트
- 정답
- monolog/monolog 3.5.0, psr/log 3.0.2. require-dev 제외
- 변별
- lockfile 없이 Composer 의존성을 해석하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 2/2 | 2/2 | 100% | 2/2 | — | — | 오픈소스 | 143.5s |
bomlens (component) 검출(2) monolog@3.5.0log@3.0.2 bomlens (license) 검출(2) monolog@3.5.0 [MIT]log@3.0.2 [MIT] 발견: 컴포넌트 2 (직접 1, 간접 1), 취약점 0 | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/2 | 0% | — | — | — | 오픈소스 | — |
osv-scanner (component) 미탐(2) monolog@3.5.0log@3.0.2 | ||||||||
| ▸cdxgen | — | 0/2 | 0% | — | — | — | 오픈소스 | 1.4s |
cdxgen (component) 미탐(2) monolog@3.5.0log@3.0.2 cdxgen (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸dependency-check | — | 0/2 | 0% | — | — | — | 오픈소스 | 2.9s |
dependency-check (component) 미탐(2) monolog@3.5.0log@3.0.2 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/2 | 0% | — | — | — | 오픈소스 | 2.2s |
| ▸osv-scalibr | — | 0/2 | 0% | — | — | — | 오픈소스 | 53ms |
osv-scalibr (component) 미탐(2) monolog@3.5.0log@3.0.2 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸syft | — | 0/2 | 0% | — | — | — | 오픈소스 | 1.2s |
syft (component) 미탐(2) monolog@3.5.0log@3.0.2 syft (license) 발견: 컴포넌트 0, 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 원시 출력: php-nolock__syft.rawbom.json | ||||||||
| ▸trivy | — | 0/2 | 0% | — | — | — | 오픈소스 | 79ms |
trivy (component) 미탐(2) monolog@3.5.0log@3.0.2 trivy (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ort | ⚠ 실행 오류로 점수 미산정 — 이번 실행의 실패이지 도구 능력의 판정이 아니다 | |||||||
Rubyfixture 1
ruby-nolocklockfile 없음컴포넌트 최고1.00bomlens범위 0–1.00도구 9
입력 원본 보기 ↗
- 입력
- Gemfile 만 있는 Ruby 프로젝트
- 정답
- rack, mustermann, ruby2_keywords. development, test 그룹 제외
- 변별
- lockfile 없이 Bundler 의존성을 해석하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 3/3 | 3/3 | 100% | 2/2 | — | — | 오픈소스 | 33.6s |
bomlens (component) 검출(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 bomlens (license) 검출(2) rack@3.0.8 [MIT]mustermann@3.0.0 [MIT] 발견: 컴포넌트 3 (직접 2, 간접 1), 취약점 26 | ||||||||
| ▸ort | 3/4 | 3/3 | 86% | 2/2 | — | — | 오픈소스 | 15.7s |
ort (component) 검출(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 과탐(1) rake@13.1.0— development, test 그룹이라 배포물에 들어가지 않는다 ort (license) 검출(2) rack@3.0.8 [MIT]mustermann@3.0.0 [MIT] 발견: 컴포넌트 4 (직접 3, 간접 1), 취약점 0 원시 출력: ruby-nolock__ort.rawbom.json | ||||||||
| ▸osv-scanner 입력 미지원 | — | 0/3 | 0% | — | — | — | 오픈소스 | — |
osv-scanner (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 | ||||||||
| ▸cdxgen | — | 0/3 | 0% | — | — | — | 오픈소스 | 7.3s |
cdxgen (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 cdxgen (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸dependency-check | — | 0/3 | 0% | — | — | — | 오픈소스 | 3.0s |
dependency-check (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸grype | — | 0/3 | 0% | — | — | — | 오픈소스 | 2.7s |
grype (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 발견: 컴포넌트 0, 취약점 0 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
| ▸osv-scalibr | — | 0/3 | 0% | — | — | — | 오픈소스 | 26ms |
osv-scalibr (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 발견: 컴포넌트 0, 취약점 0 | ||||||||
| ▸syft | — | 0/3 | 0% | — | — | — | 오픈소스 | 1.1s |
syft (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 syft (license) 발견: 컴포넌트 0, 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸trivy | — | 0/3 | 0% | — | — | — | 오픈소스 | 153ms |
trivy (component) 미탐(3) rack@3.0.8mustermann@3.0.0ruby2_keywords@0.0.5 trivy (license) 발견: 컴포넌트 0, 취약점 0 | ||||||||
컨테이너 이미지
- 대상
- 이미지에 설치된 OS 패키지와 그 취약점
- 변별
- 배포판 보안 데이터베이스로 백포트를 반영하는지
- 결과
- 상위 버전 범위로만 대조하는 도구는 이미 고쳐진 취약점까지 보고
개요
| 도구 | 버전 | 컴포넌트 | 발견 컴포넌트 | 발견 취약점 | 종합 | 평균 시간 |
|---|---|---|---|---|---|---|
| bomlens | 1.13.4 | 100%정답 22 | 22직접 0, 간접 21 | 72 | 100% | 23.0s |
| osv-scalibr | 0.5.3 | 100%정답 22 | 22 | 0 | 100% | 6.3s |
| syft | 1.54.1 | 100%정답 22 | 22직접 0, 간접 21 | 0 | 100% | 7.5s |
| trivy | 0.76.0 | 100%정답 22 | 22직접 1, 간접 21 | 73 | 100% | 120ms |
| cdxgen | 13.4.0 | 91%정답 22 | 28직접 27, 간접 1 | 0 | 91% | 4.7s |
| osv-scanner | 2.7.0 | 72%정답 22 | 17 | 72 | 72% | 2.9s |
| grype | 0.120.1 | 69%정답 22 | 9 | 86 | 69% | 8.6s |
| dependency-check | 13.0.0 | 0%정답 22입력 미지원 3 | 0 | 0 | 0% | — |
| ort | 96.0.0 | 0%정답 22입력 미지원 3 | 0 | 0 | 0% | — |
검증 대상별 지표와 근거
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
container-image컴포넌트 최고1.004개 도구범위 0.48–1.00도구 7
입력 원본 보기 ↗
- 입력
- Alpine 컨테이너 이미지
- 변별
- 이미지에 설치된 OS 패키지를 찾는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 15/15 | 15/15 | 100% | — | — | — | 오픈소스 | 24.4s |
bomlens (component) 검출(15) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl@1.2.4-r3musl-utils@1.2.4-r3… 발견: 컴포넌트 15 (직접 0, 간접 15), 취약점 0 | ||||||||
| ▸osv-scalibr | 15/15 | 15/15 | 100% | — | — | — | 오픈소스 | 2.3s |
osv-scalibr (component) 검출(15) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl@1.2.4-r3musl-utils@1.2.4-r3… 발견: 컴포넌트 15, 취약점 0 | ||||||||
| ▸syft | 15/15 | 15/15 | 100% | — | — | — | 오픈소스 | 3.0s |
syft (component) 검출(15) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl@1.2.4-r3musl-utils@1.2.4-r3… 발견: 컴포넌트 15 (직접 0, 간접 15), 취약점 0 | ||||||||
| ▸trivy | 15/15 | 15/15 | 100% | — | — | — | 오픈소스 | 115ms |
trivy (component) 검출(15) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl@1.2.4-r3musl-utils@1.2.4-r3… 발견: 컴포넌트 15 (직접 0, 간접 15), 취약점 0 | ||||||||
| ▸cdxgen | 15/19 | 15/15 | 88% | — | — | — | 오픈소스 | 4.7s |
cdxgen (component) 검출(15) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl@1.2.4-r3musl-utils@1.2.4-r3… 과탐(4) ca-certificates@20241121-r1— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(ca-certificates-bundle 의 소스 패키지) libc-dev@0.7.2-r5— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(libc-utils 의 소스 패키지) openssl@3.1.8-r0— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(libssl3, libcrypto3 의 소스 패키지) pax-utils@1.3.7-r1— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(scanelf 의 소스 패키지) 발견: 컴포넌트 19 (직접 19, 간접 0), 취약점 0 | ||||||||
| ▸grype | 6/6 | 6/15 | 57% | — | — | — | 오픈소스 | 4.0s |
grype (component) 검출(6) busybox@1.36.1-r7busybox-binsh@1.36.1-r7musl@1.2.4-r3musl-utils@1.2.4-r3ssl_client@1.36.1-r7zlib@1.2.13-r1 미탐(9) alpine-baselayout@3.4.3-r1alpine-baselayout-data@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0scanelf@1.3.7-r1 발견: 컴포넌트 6, 취약점 14 | ||||||||
| ▸osv-scanner | 6/10 | 6/15 | 48% | — | — | — | 오픈소스 | 2.6s |
osv-scanner (component) 검출(6) alpine-baselayout@3.4.3-r1alpine-keys@2.4-r1apk-tools@2.14.4-r0busybox@1.36.1-r7musl@1.2.4-r3zlib@1.2.13-r1 미탐(9) alpine-baselayout-data@3.4.3-r1busybox-binsh@1.36.1-r7ca-certificates-bundle@20241121-r1libc-utils@0.7.2-r5libcrypto3@3.1.8-r0libssl3@3.1.8-r0musl-utils@1.2.4-r3scanelf@1.3.7-r1ssl_client@1.36.1-r7 과탐(4) ca-certificates@20241121-r1— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(ca-certificates-bundle 의 소스 패키지) libc-dev@0.7.2-r5— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(libc-utils 의 소스 패키지) openssl@3.1.8-r0— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(libssl3, libcrypto3 의 소스 패키지) pax-utils@1.3.7-r1— 설치 패키지가 아닌 소스 패키지(origin) 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지 기준(scanelf 의 소스 패키지) 발견: 컴포넌트 10, 취약점 0 | ||||||||
image-debian-backport컴포넌트 최고1.004개 도구범위 0.50–1.00도구 7
입력 원본 보기 ↗
- 입력
- 컨테이너 이미지. Debian 이 상위 버전의 보안 패치를 현재 버전에 적용한(백포트) 패키지 포함
- 변별
- 백포트 버전을 식별해 이미 고쳐진 취약점을 걸러내는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 6/6 | 6/6 | 100% | — | 65/65 | 34/34 | 오픈소스 | 24.7s |
bomlens (component) 검출(6) base-files@12.4+deb12u12libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 bomlens (vulnerability) 검출(65) CVE-2010-4756CVE-2018-20796CVE-2019-1010022CVE-2019-1010023CVE-2019-1010024CVE-2019-1010025CVE-2019-9192CVE-2025-15281CVE-2025-15467CVE-2025-27587CVE-2025-68160CVE-2025-69418… 발견: 컴포넌트 6 (직접 0, 간접 6), 취약점 65 | ||||||||
| ▸osv-scalibr | 6/6 | 6/6 | 100% | — | — | — | 오픈소스 | 15.8s |
osv-scalibr (component) 검출(6) base-files@12.4+deb12u12libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 발견: 컴포넌트 6, 취약점 0 | ||||||||
| ▸syft | 6/6 | 6/6 | 100% | — | — | — | 오픈소스 | 15.9s |
syft (component) 검출(6) base-files@12.4+deb12u12libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 발견: 컴포넌트 6 (직접 0, 간접 6), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 | ||||||||
| ▸trivy | 6/6 | 6/6 | 100% | — | 65/65 | 34/34 | 오픈소스 | 138ms |
trivy (component) 검출(6) base-files@12.4+deb12u12libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 trivy (vulnerability) 검출(65) CVE-2010-4756CVE-2018-20796CVE-2019-1010022CVE-2019-1010023CVE-2019-1010024CVE-2019-1010025CVE-2019-9192CVE-2025-15281CVE-2025-15467CVE-2025-27587CVE-2025-68160CVE-2025-69418… 과탐(1) DLA-4792-1 발견: 컴포넌트 6 (직접 0, 간접 6), 취약점 66 | ||||||||
| ▸cdxgen | 6/8 | 6/6 | 86% | — | — | — | 오픈소스 | 3.9s |
cdxgen (component) 검출(6) base-files@12.4+deb12u12libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 과탐(2) glibc@2.36-9%2Bdeb12u13— 설치 패키지가 아닌 소스 패키지 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지(libc6, libssl3) 기준 openssl@3.0.17-1~deb12u3— 설치 패키지가 아닌 소스 패키지 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지(libc6, libssl3) 기준 발견: 컴포넌트 8 (직접 8, 간접 0), 취약점 0 | ||||||||
| ▸osv-scanner | 4/6 | 4/6 | 67% | — | 65/65 | 34/34 | 오픈소스 | 3.9s |
osv-scanner (component) 검출(4) base-files@12.4+deb12u12media-types@10.0.0netbase@6.4tzdata@2025b-0+deb12u2 미탐(2) libc6@2.36-9+deb12u13— 소스 패키지 이름(glibc, openssl)으로 보고하는 도구에서는 설치 패키지가 매칭되지 않아 미탐이 된다 libssl3@3.0.17-1~deb12u3— 소스 패키지 이름(glibc, openssl)으로 보고하는 도구에서는 설치 패키지가 매칭되지 않아 미탐이 된다 과탐(2) glibc@2.36-9+deb12u13— 설치 패키지가 아닌 소스 패키지 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지(libc6, libssl3) 기준 openssl@3.0.17-1~deb12u3— 설치 패키지가 아닌 소스 패키지 이름으로 보고했다 — 정답은 이미지에 실제 설치된 패키지(libc6, libssl3) 기준 osv-scanner (vulnerability) 검출(65) CVE-2010-4756CVE-2018-20796CVE-2019-1010022CVE-2019-1010023CVE-2019-1010024CVE-2019-1010025CVE-2019-9192CVE-2025-15281CVE-2025-15467CVE-2025-27587CVE-2025-68160CVE-2025-69418… 발견: 컴포넌트 6, 취약점 65 | ||||||||
| ▸grype | 2/2 | 2/6 | 50% | — | 65/65 | 34/34 | 오픈소스 | 19.5s |
grype (component) 검출(2) libc6@2.36-9+deb12u13libssl3@3.0.17-1~deb12u3 미탐(4) base-files@12.4+deb12u12— 이 패키지에는 적용 취약점이 없다 — 취약점 매처 계열은 취약 패키지만 컴포넌트로 낸다 media-types@10.0.0— 이 패키지에는 적용 취약점이 없다 — 취약점 매처 계열은 취약 패키지만 컴포넌트로 낸다 netbase@6.4— 이 패키지에는 적용 취약점이 없다 — 취약점 매처 계열은 취약 패키지만 컴포넌트로 낸다 tzdata@2025b-0+deb12u2— 이 패키지에는 적용 취약점이 없다 — 취약점 매처 계열은 취약 패키지만 컴포넌트로 낸다 grype (vulnerability) 검출(65) CVE-2010-4756CVE-2018-20796CVE-2019-1010022CVE-2019-1010023CVE-2019-1010024CVE-2019-1010025CVE-2019-9192CVE-2025-15281CVE-2025-15467CVE-2025-27587CVE-2025-68160CVE-2025-69418… 발견: 컴포넌트 2, 취약점 65 | ||||||||
image-log4shell컴포넌트 최고1.007개 도구도구 7
입력 원본 보기 ↗
- 입력
- 컨테이너 이미지. 앱 라이브러리 계층에 취약한 log4j-core 2.14.1(Log4Shell)
- 변별
- 이미지 안 앱 라이브러리의 취약점을 찾는지, 다른 아티팩트의 취약점을 섞지 않는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 1/1 | 1/1 | 100% | — | 7/7 | 7/7 | 오픈소스 | 19.8s |
bomlens (component) 검출(1) log4j-core@2.14.1 bomlens (vulnerability) 검출(7) CVE-2021-44228CVE-2021-45046CVE-2021-45105CVE-2021-44832CVE-2025-68161CVE-2026-34477CVE-2026-34480 발견: 컴포넌트 1, 취약점 7 | ||||||||
| ▸cdxgen | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 5.7s |
cdxgen (component) 검출(1) log4j-core@2.14.1 발견: 컴포넌트 1 (직접 0, 간접 1), 취약점 0 | ||||||||
| ▸grype | 1/1 | 1/1 | 100% | — | 7/7 | 7/7 | 오픈소스 | 2.4s |
grype (component) 검출(1) log4j-core@2.14.1 grype (vulnerability) 검출(7) CVE-2021-44228CVE-2021-45046CVE-2021-45105CVE-2021-44832CVE-2025-68161CVE-2026-34477CVE-2026-34480 발견: 컴포넌트 1, 취약점 7 관련 분석: grype 의 컴포넌트는 취약점 매칭의 부산물 | ||||||||
| ▸osv-scalibr | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 957ms |
osv-scalibr (component) 검출(1) log4j-core@2.14.1 발견: 컴포넌트 1, 취약점 0 | ||||||||
| ▸osv-scanner | 1/1 | 1/1 | 100% | — | 7/7 | 7/7 | 오픈소스 | 2.2s |
osv-scanner (component) 검출(1) log4j-core@2.14.1 osv-scanner (vulnerability) 검출(7) CVE-2021-44228CVE-2021-45046CVE-2021-45105CVE-2021-44832CVE-2025-68161CVE-2026-34477CVE-2026-34480 발견: 컴포넌트 1, 취약점 7 | ||||||||
| ▸syft | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 3.6s |
| ▸trivy | 1/1 | 1/1 | 100% | — | 7/7 | 7/7 | 오픈소스 | 107ms |
trivy (component) 검출(1) log4j-core@2.14.1 trivy (vulnerability) 검출(7) CVE-2021-44228CVE-2021-45046CVE-2021-45105CVE-2021-44832CVE-2025-68161CVE-2026-34477CVE-2026-34480 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 7 | ||||||||
바이너리와 펌웨어
- 대상
- 소스 없는 바이너리와 펌웨어
- 변별
- 파일 식별, Go 빌드 정보 읽기, 펌웨어 풀기
- 결과
- 세 능력의 보유 여부로 갈린다
개요
| 도구 | 버전 | 컴포넌트 | 발견 컴포넌트 | 발견 취약점 | 종합 | 평균 시간 |
|---|---|---|---|---|---|---|
| bomlens | 1.13.4 | 100%정답 4 | 6직접 0, 간접 4 | 56 | 100% | 32.8s |
| syft | 1.54.1 | 67%정답 4 | 5직접 0, 간접 4 | 0 | 67% | 1.0s |
검증 대상별 지표와 근거
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
binary-busybox컴포넌트 최고1.00bomlens, syft도구 2
입력 원본 보기 ↗
- 입력
- 정적 링크된 ELF 실행 파일(busybox)
- 변별
- 소스 없이 실행 파일 안의 오픈소스를 식별하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 31.6s |
| ▸syft | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 1.1s |
binary-go컴포넌트 최고1.00bomlens, syft도구 2
입력 원본 보기 ↗
- 입력
- 정적 링크된 Go 실행 파일(CGO_ENABLED=0)
- 정답
- 빌드에 실제 포함된 cobra 와 pflag. mousetrap 은 windows 전용이라 제외
- 변별
- 바이너리에 새겨진 빌드 정보에서 모듈과 버전을 읽는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | 2/2 | — | — | — | — | 오픈소스 | 28.1s |
bomlens (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 46 | ||||||||
| ▸syft | — | 2/2 | — | — | — | — | 오픈소스 | 989ms |
syft (component) 검출(2) cobra@v1.8.0pflag@v1.0.5 발견: 컴포넌트 4 (직접 0, 간접 4), 취약점 0 관련 분석: syft 는 취약점을 내지 않는다 원시 출력: binary-go__syft.rawbom.json | ||||||||
firmware-busybox컴포넌트 최고1.00bomlens범위 0–1.00도구 2
입력 원본 보기 ↗
- 입력
- 펌웨어 이미지. busybox 가 든 squashfs 파일시스템
- 변별
- 펌웨어를 풀어 안의 오픈소스를 찾는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | 1/1 | 1/1 | 100% | — | — | — | 오픈소스 | 38.7s |
bomlens (component) 검출(1) busybox@1.35.0 발견: 컴포넌트 1, 취약점 5 | ||||||||
| ▸syft | — | 0/1 | 0% | — | — | — | 오픈소스 | 998ms |
파일 라이선스 (소스코드)
- 대상
- 패키지 목록 파일이 없는 순수 소스
- 변별
- 파일 안에 적힌 라이선스를 읽는 능력
- 결과
- scancode, bomlens 만 검출. 패키지를 읽는 도구는 0
개요
검증 대상별 지표와 근거
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
license-mix라이선스 최고1.00bomlens, scancode도구 2
입력 원본 보기 ↗
- 입력
- 파일마다 다른 라이선스(MIT, Apache-2.0, GPL-3.0-only, BSD-3-Clause, ISC)와 복합 표현(MIT OR Apache-2.0)
- 변별
- 파일 헤더의 라이선스를 식별하고 표준 이름(SPDX)으로 통일하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | 1/1 | — | — | 오픈소스 | 394.5s |
bomlens (license) 검출(1) license-mix@1.0.0 [MIT,Apache-2.0,GPL-3.0-only,BSD-3-Clause,ISC] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 | ||||||||
| ▸scancode | — | — | — | 1/1 | — | — | 오픈소스 | 9.6s |
scancode (license) 검출(1) license-mix@1.0.0 [MIT,Apache-2.0,GPL-3.0-only,BSD-3-Clause,ISC] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 | ||||||||
src-licenses라이선스 최고1.00bomlens, scancode도구 2
입력 원본 보기 ↗
- 입력
- 소스 파일만 있는 프로젝트. 패키지 목록 파일 없음
- 변별
- 파일 안에 적힌 라이선스를 읽는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | 1/1 | — | — | 오픈소스 | 367.8s |
bomlens (license) 검출(1) src-licenses@1.0.0 [Apache-2.0,BSD-3-Clause,GPL-3.0-only,MIT] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 | ||||||||
| ▸scancode | — | — | — | 1/1 | — | — | 오픈소스 | 8.4s |
scancode (license) 검출(1) src-licenses@1.0.0 [Apache-2.0,BSD-3-Clause,GPL-3.0-only,MIT] 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 0 | ||||||||
도달성 (VEX 판정)
- 대상
- 취약한 버전의 Go 모듈을 쓰되, 취약한 함수를 호출하는 프로그램과 호출하지 않는 프로그램. 소스와 빌드한 바이너리 두 형태
- 변별
- 실제로 호출되는 취약점은 남기고, 호출되지 않거나 링크되지 않은 취약점은 거르는지(VEX 의 not_affected 판정)
- 읽는 법
- 호출 취약점 유지가 100% 미만이면 실제 위험을 숨긴 것이라 노이즈 감소보다 먼저 본다. 판정 기능이 없는 도구는 유지 100%, 거름 0% 로 나온다
개요
| 도구 | 버전 | 호출 취약점 유지 | 미호출 취약점 거름 | 종합 | 평균 시간 |
|---|---|---|---|---|---|
| osv-scanner | 2.7.0 | 100%정답 1 | 100%정답 5 | 100% | 3.1s |
| bomlens | 1.13.4 | 100%정답 2 | 100%정답 10 | 100% | 83.1s |
| grype | 0.120.1 | 100%정답 2 | 50%정답 10 | 75% | 2.4s |
| trivy | 0.76.0 | 50%정답 2 | 0%정답 10 | 25% | 140ms |
검증 대상별 지표와 근거
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
go-reach-called-bin도달성 최고1.00bomlens, grype범위 0–1.00도구 3
입력 원본 보기 ↗
- 입력
- go-reach-called 를 linux/amd64 로 빌드한 바이너리
- 변별
- 바이너리의 심볼과 링크된 패키지로 판정하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | — | — | — | 오픈소스 | 38.4s |
bomlens (reachability) 검출(3) CVE-2022-32149 영향 있음 유지CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 49 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸grype | — | — | — | — | — | — | 오픈소스 | 2.1s |
grype (reachability) 검출(3) CVE-2022-32149 영향 있음 유지CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 2, 취약점 1 | ||||||||
| ▸trivy | — | — | — | — | — | — | 오픈소스 | 70ms |
trivy (reachability) 미탐(2) CVE-2026-56852 패키지 미검출(거른 것으로 보지 않음)CVE-2026-56851 패키지 미검출(거른 것으로 보지 않음) 과탐(1) CVE-2022-32149 실제로 호출되는데 숨김 발견: 컴포넌트 0, 취약점 0 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
go-reach-called도달성 최고1.00bomlens, osv-scanner범위 0–1.00도구 4
입력 원본 보기 ↗
- 입력
- Go 소스. golang.org/x/text v0.3.7 의 영향 함수(ParseAcceptLanguage)를 호출
- 정답
- CVE-2022-32149 는 affected. 빌드에 들어가지 않는 패키지의 두 CVE 는 not_affected
- 변별
- 호출되는 취약점은 남기고 링크되지 않는 패키지의 취약점은 거르는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | — | — | — | 오픈소스 | 150.6s |
bomlens (reachability) 검출(3) CVE-2022-32149 영향 있음 유지CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸grype | — | — | — | — | — | — | 오픈소스 | 3.3s |
grype (reachability) 검출(1) CVE-2022-32149 영향 있음 유지 미탐(2) CVE-2026-56852 호출되지 않는데 영향 있음으로 보고CVE-2026-56851 호출되지 않는데 영향 있음으로 보고 발견: 컴포넌트 1, 취약점 3 | ||||||||
| ▸osv-scanner | — | — | — | — | — | — | 오픈소스 | 4.8s |
osv-scanner (reachability) 검출(3) CVE-2022-32149 영향 있음 유지CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 1, 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸trivy | — | — | — | — | — | — | 오픈소스 | 92ms |
trivy (reachability) 검출(1) CVE-2022-32149 영향 있음 유지 미탐(2) CVE-2026-56852 호출되지 않는데 영향 있음으로 보고CVE-2026-56851 호출되지 않는데 영향 있음으로 보고 발견: 컴포넌트 2 (직접 0, 간접 2), 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
go-reach-uncalled-bin도달성 최고1.00bomlens, grype범위 0–1.00도구 3
입력 원본 보기 ↗
- 입력
- go-reach-uncalled 를 linux/amd64 로 빌드한 바이너리. 영향 함수가 심볼 표에 없다
- 변별
- 바이너리의 심볼과 링크된 패키지로 판정하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | — | — | — | 오픈소스 | 33.5s |
bomlens (reachability) 검출(3) CVE-2022-32149 영향 없음으로 거름CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 3 (직접 0, 간접 3), 취약점 49 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸grype | — | — | — | — | — | — | 오픈소스 | 1.7s |
grype (reachability) 검출(3) CVE-2022-32149 영향 없음으로 거름CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 2, 취약점 0 | ||||||||
| ▸trivy | — | — | — | — | — | — | 오픈소스 | 66ms |
trivy (reachability) 미탐(3) CVE-2022-32149 패키지 미검출(거른 것으로 보지 않음)CVE-2026-56852 패키지 미검출(거른 것으로 보지 않음)CVE-2026-56851 패키지 미검출(거른 것으로 보지 않음) 발견: 컴포넌트 0, 취약점 0 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
go-reach-uncalled도달성 최고1.00bomlens, osv-scanner범위 0–1.00도구 4
입력 원본 보기 ↗
- 입력
- Go 소스. 같은 모듈을 쓰되 영향 함수는 호출하지 않음
- 정답
- 세 CVE 모두 not_affected
- 변별
- 모듈 버전만 보고 보고하는지, 호출 여부까지 보는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | — | — | — | 오픈소스 | 110.1s |
bomlens (reachability) 검출(3) CVE-2022-32149 영향 없음으로 거름CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 1 (직접 1, 간접 0), 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸grype | — | — | — | — | — | — | 오픈소스 | 2.4s |
grype (reachability) 미탐(3) CVE-2022-32149 호출되지 않는데 영향 있음으로 보고CVE-2026-56852 호출되지 않는데 영향 있음으로 보고CVE-2026-56851 호출되지 않는데 영향 있음으로 보고 발견: 컴포넌트 1, 취약점 3 | ||||||||
| ▸osv-scanner | — | — | — | — | — | — | 오픈소스 | 1.4s |
osv-scanner (reachability) 검출(3) CVE-2022-32149 영향 없음으로 거름CVE-2026-56852 영향 없음으로 거름CVE-2026-56851 영향 없음으로 거름 발견: 컴포넌트 1, 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
| ▸trivy | — | — | — | — | — | — | 오픈소스 | 330ms |
trivy (reachability) 미탐(3) CVE-2022-32149 호출되지 않는데 영향 있음으로 보고CVE-2026-56852 호출되지 않는데 영향 있음으로 보고CVE-2026-56851 호출되지 않는데 영향 있음으로 보고 발견: 컴포넌트 2 (직접 0, 간접 2), 취약점 3 관련 분석: 도달성: 판정은 세 도구가 내고, 방식이 다르다 | ||||||||
AI 모델 파일 (AIBOM)
- 대상
- 형식이 다른 AI 모델 파일 6종(GGUF, safetensors, ONNX, pickle, PyTorch). 그중 둘은 로드할 때 코드가 실행되는 위험 직렬화
- 변별
- 모델을 구성요소로 찾는지, 형식을 맞히는지, 위험 직렬화를 일반 pickle 과 구분해 표시하는지
- 근거
- G7 AI SBOM 최소 요소의 모델 클러스터(이름, 형식)와 보안 속성 클러스터
개요
| 도구 | 버전 | 모델 검출 | 형식 식별 | 위험 직렬화 탐지 | 종합 | 평균 시간 |
|---|---|---|---|---|---|---|
| bomlens | 1.13.4 | 100%정답 6 | 100%정답 6 | 100%정답 2 | 100% | 25.8s |
| cdxgen | 13.4.0 | 50%정답 6 | 50%정답 6 | 0%정답 2 | 33% | 1.1s |
검증 대상별 지표와 근거
행을 누르면 도구별 지표와 검출, 미탐, 과탐 근거가 펼쳐진다.
aibom-model-files모델 검출 최고1.00bomlens범위 0.50–1.00도구 2
입력 원본 보기 ↗
- 입력
- AI 모델 파일 6종: GGUF, safetensors, ONNX, pickle 2개, PyTorch(zip 안 pickle)
- 정답
- pickle 하나와 PyTorch 파일은 로드할 때 builtins.eval 을 호출하는 위험 직렬화. 다른 pickle 은 전역 참조가 없어 안전
- 변별
- 모델을 찾고 형식을 맞히는지, 위험 직렬화를 일반 pickle 과 구분하는지
| 도구 | 컴포넌트 정밀 | 재현 | F1 | 라이선스 | 취약점 | 대응 | 구분 | 시간 |
|---|---|---|---|---|---|---|---|---|
| ▸bomlens | — | — | — | — | — | — | 오픈소스 | 25.8s |
bomlens (aibom) 검출(6) tiny-llama.gguf (gguf)tiny-classifier.safetensors (safetensors)tiny-graph.onnx (onnx)payload-eval.pkl (pickle)plain-weights.pkl (pickle)payload-eval-torch.pt (pytorch) 발견: 컴포넌트 6 (직접 0, 간접 6), 취약점 0 관련 분석: AI 모델 파일: pickle 계열에서 갈린다 | ||||||||
| ▸cdxgen | — | — | — | — | — | — | 오픈소스 | 1.1s |
cdxgen (aibom) 검출(3) tiny-llama.gguf (gguf)tiny-classifier.safetensors (safetensors)tiny-graph.onnx (onnx) 미탐(3) payload-eval.pkl 모델 미검출plain-weights.pkl 모델 미검출payload-eval-torch.pt 모델 미검출 발견: 컴포넌트 3 (직접 1, 간접 2), 취약점 0 관련 분석: AI 모델 파일: pickle 계열에서 갈린다 | ||||||||
SBOM 품질 (CISA 2026 최소 요소 충족률)
| 도구 | cdxgen | bomlens | ort | syft | trivy | osv-scalibr |
|---|---|---|---|---|---|---|
| 종합 | 84% | 78% | 70% | 62% | 62% | 44% |
| 대상 수 | 20 | 29 | 17 | 18 | 15 | 18 |
| 메타 항목 | cdxgen | bomlens | ort | syft | trivy | osv-scalibr |
|---|---|---|---|---|---|---|
| 작성자 | 100% | 0% | 0% | 0% | 0% | 0% |
| 서명 | 0% | 0% | 0% | 0% | 0% | 0% |
| 형식 | 100% | 100% | 100% | 100% | 100% | 100% |
| 생성 맥락 | 100% | 100% | 0% | 0% | 0% | 0% |
| 시각 | 100% | 100% | 100% | 100% | 100% | 100% |
| 도구 | 100% | 100% | 100% | 100% | 100% | 100% |
| 도구 버전 | 100% | 100% | 100% | 100% | 100% | 0% |
| SBOM 버전 | 100% | 97% | 100% | 100% | 100% | 0% |
| 구성요소 항목 | cdxgen | bomlens | ort | syft | trivy | osv-scalibr |
|---|---|---|---|---|---|---|
| 생산자 | 9% | 26% | 0% | 0% | 12% | 0% |
| 해시 | 76% | 60% | 70% | 0% | 13% | 0% |
| 식별자 | 99% | 100% | 100% | 100% | 76% | 100% |
| 식별자 문법 | 99% | 100% | 100% | 100% | 76% | 100% |
| 라이선스 | 84% | 89% | 71% | 46% | 41% | 0% |
| 이름 | 100% | 100% | 100% | 100% | 100% | 100% |
| 버전 | 93% | 98% | 96% | 100% | 72% | 100% |
| 의존 관계 | 89% | 87% | 76% | 51% | 100% | 0% |
실행 오류
- android-app / osv-scanner: No package sources found, --help for usage information.
- android-flavor / osv-scanner: No package sources found, --help for usage information.
- gradle-nolock / osv-scanner: No package sources found, --help for usage information.
- npm-nolock / osv-scanner: No package sources found, --help for usage information.
- php-nolock / osv-scanner: No package sources found, --help for usage information.
- php-nolock / ort: at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1078) ... 28 more
- ruby-nolock / osv-scanner: No package sources found, --help for usage information.
- rust-cargo / osv-scanner: No package sources found, --help for usage information.