Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ndaal_public_SBOM_Auditor — CycloneDX, SPDX 및 syft SBOM을 수집하고, CVE 스캐너 앙상블을 실행하며, EPSS, CISA-KEV 및 nuclei로 결과를 보강하고, SARIF, CSAF 및 PDF로 내보내는 오프라인 단일 바이너리 웹 앱입니다. | Kitploit
도구/GitLabGitLab/vpierre/ndaal_public_sbom_auditor
Defensive ToolsIndicator of Compromise (IOC) ManagementStatic AnalysisVulnerability ScannersVulnerability AnalysisConfiguration AuditingDevSecOpsUtilities & FrameworksThreat Intelligence

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Supply Chain Security
GitLabvpierre/ndaal_public_sbom_auditor

ndaal_public_SBOM_Auditor

CycloneDX, SPDX 및 syft SBOM을 수집하고, CVE 스캐너 앙상블을 실행하며, EPSS, CISA-KEV 및 nuclei로 결과를 보강하고, SARIF, CSAF 및 PDF로 내보내는 오프라인 단일 바이너리 웹 앱입니다.

저장소 보기웹사이트
896일 전아직 검토되지 않음

ndaal SBOM Auditor

SBOM(Software Bill of Materials) 파일을 조사하기 위한 단일 바이너리 오프라인 웹 애플리케이션입니다. SBOM을 업로드하거나 SBOM 폴더를 가져와서, 독립적인 도구들의 앙상블로 각각을 분석하고, 정규화된 결과를 하나의 로컬 UI에서 검토한 뒤, 결과를 여덟 가지 형식으로 내보냅니다. 설치도, 네트워크 접근도, 텔레메트리도 없습니다.

English · Deutsch · Français · Español · Italiano

기능

  1. 수집(Ingest) — 브라우저에서 SBOM을 업로드하거나, 설정 가능한 폴더의 모든 SBOM을 가져옵니다. CycloneDX(JSON/XML), SPDX(JSON/tag-value 및 3.0 JSON-LD), syft-json을 감지하며, 파일은 내용 해시로 중복 제거됩니다.
  2. 분석(Analyse) — 활성화된 도구들을 SBOM에 대해 실행하며, 각각은 데드라인과 동시성 제한 아래에서 격리된 서브프로세스로 실행됩니다. 도구가 없으면 눈에 띄게 구분되는 skip으로 처리되고, 설치되어 있지만 시작할 수 없거나 15초 이내에 응답하지 않는 도구는 그 이유를 명시하는 failure로 처리됩니다. 어느 쪽도 깨끗한 결과로 보고되지 않습니다.
  3. 발견 사항(Findings) — 각 도구의 출력은 공통 형식으로 정규화되며, 도구의 GHSA/OSV 식별자에서 CVE 별칭을 확인하고, 심각도 배지와 함께 도구별로 표시됩니다.
  4. 점수(Score) — SBOM을 CISA 2026의 열일곱 가지 최소 요소 모두에 대해 평가하며, 공급자의 명시적 NOASSERTION과 단순히 누락된 필드를 구분합니다.
  5. 검색(Search) — 전체 코퍼스에서 이름이나 패키지 URL로, 어떤 SBOM이 특정 컴포넌트를 선언하는지 찾습니다.
  6. 내보내기(Export) — 분석 결과를 SARIF 2.1, SARIF 2.2, Markdown, ODT, DOCX, PDF 및 CSAF 2.1 / 2.2 권고문으로 작성합니다. Export는 선택한 형식을 서버 내보내기 디렉터리에 저장하며, 각각에 다섯 개의 암호화 해시 사이드카가 함께 생성됩니다. Start download는 동일한 형식을 메모리에서 렌더링하여 브라우저로 스트리밍합니다 — 문서 하나 또는 여러 개일 경우 ZIP 번들로 — 디스크에는 아무것도 쓰지 않습니다.

저장된 SBOM 대시보드

홈 페이지(/)는 저장된 모든 SBOM을 나열하며, 코퍼스가 커져도 계속 사용할 수 있습니다:

  • 페이지 단위 — 페이지당 25행, "Showing X–Y of N" 캡션과 Previous / Page / Next 컨트롤이 있습니다.
  • 정렬 가능한 열 — Name, Format 또는 Components 헤더를 클릭하면 해당 기준으로 정렬되며, 헤더를 다시 클릭하면 방향이 반전됩니다.
  • 최신 업로드 우선 — 목록은 가장 최근에 업로드된 SBOM으로 시작하며, Last uploaded 열에 그 시각이 표시됩니다. 이미 저장된 SBOM을 업로드하면 맨 위로 이동하며, 상세 페이지에는 원래의 Ingested 시각이 Last uploaded 옆에 유지됩니다.
  • 형식 필터 — 목록을 하나의 형식(CycloneDX JSON/XML, SPDX JSON, SPDX 3.0 JSON, SPDX tag-value, Syft JSON 또는 Unknown)으로 좁힙니다. Reset 버튼은 현재 정렬을 유지한 채 필터를 지웁니다.
  • 심각도 열 — Last uploaded 뒤의 맨 오른쪽 열은 각 SBOM의 단일 최고 발견 심각도(Critical, High, Medium, Low 또는 Negligible)를 표시하며, 아직 발견 사항이 없으면 "—"를 표시합니다. 이에 대응하는 심각도 필터도 있습니다.
  • 전문 검색 — tantivy 전문 인덱스로 뒷받침되는 검색 상자는 SBOM의 이름, 형식, 스펙 버전은 물론 포함된 컴포넌트의 이름과 패키지 URL까지 일치시키므로, log4j나 openssl 같은 질의는 해당 컴포넌트를 포함하는 모든 SBOM을 찾아냅니다. 질의는 길이가 제한되며 관대하게 파싱됩니다.

컴포넌트 검색

/components는 반대 질문 — 내 SBOM 중 어느 것이 이 컴포넌트를 선언하는가 — 에 전체 코퍼스를 한 번에 대상으로, 컴포넌트 이름이나 정확한 패키지 URL로 답합니다. 이는 수집 시 구축된 전용 컴포넌트 인덱스를 읽으며, 대시보드의 전문 인덱스와는 별개입니다.

오래된 인덱스는 실제로 영향을 받는 SBOM을 "영향 없음"으로 읽히게 만들 수 있으므로, 이 페이지는 아직 인덱싱되지 않은 SBOM이 몇 개인지 명시하고, 바로 그것들에 대해 보관된 바이트를 다시 파싱하는 Rebuild index를 제공합니다. 검색은 그 경고가 사라져야만 완전해집니다.

"인덱싱됨"은 인덱스가 구축되었음을 의미하며, "행을 생성함"과는 다릅니다: 메타데이터만 있는 SBOM은 컴포넌트를 선언하지 않으므로 아무것도 기여하지 않지만 여전히 완전히 인덱싱된 것입니다. 저장소는 행 존재 여부로 추론하는 대신 SBOM별로 인덱싱 사실을 기록합니다(schema v8, components_indexed_at) — 추론 방식은 컴포넌트가 없는 SBOM이 "아직 인덱싱되지 않음" 집합에서 결코 벗어날 수 없게 만들어, 경고가 모든 재구축에도 살아남고 버튼이 같은 SBOM을 영원히 새로 인덱싱된 것으로 보고했습니다. 업그레이드는 자동으로 마이그레이션하고 이미 행이 있던 것은 백필하며, 한 번의 재구축으로 나머지가 정리됩니다.

분석기 앙상블

각 도구는 런타임에 선택 사항이며 PATH에서 감지됩니다(SBA_TOOL_<NAME>_BIN으로 바이너리를 재정의). 발견 사항은 결코 단일 도구에 의존하지 않습니다. 각 스캔 전에 도구는 버전 인수와 함께 한 번 시작됩니다: 바이너리가 없으면 skip(not found on PATH)이고, 시작할 수 없거나 15초 이내에 응답하지 않는 바이너리는 그 이유와 함께 fail입니다.

도구역할검증 버전
syftSBOM 정규화기 / CycloneDX 1.6 변환기1.52.0
grypeCVE 매처0.119.0
trivy취약점 스캐너0.74.0
osv-scannerOSV 데이터베이스 조회2.4.0, 2.6.0
bomber독립 앙상블 매처0.5.1
bomdrift공급망 드리프트 / 타이포스쿼팅(SARIF)0.9.9
inspektrSBOM 취약점 스캐너(JSON)0.1.9
shieldbom오프라인 임베디드/IoT CVE 스캐너(SARIF)0.3.0
provenant라이선스 / 저작권 / 출처(ScanCode)1.0.10

"검증 버전"은 각 호출이 실제로 실행된 버전이며, 최소 요구 버전도 고정 버전도 아닙니다: 도구는 런타임에 PATH에서 확인되며 호환되는 버전이면 무엇이든 작동합니다. osv-scanner가 두 개를 나열하는 이유는 2.x 계열이 로깅을 변경한 후 2.6.0을 재검증했기 때문입니다 — 문서화된 scan --lockfile <input> --format json 형식은 변경되지 않았고 여전히 발견 사항이 있으면 비영(非零) 종료하므로 코드 변경이 필요하지 않았습니다.

처음 여덟 개 도구는 CVE 형태의 취약점 발견 사항을 제공합니다; provenant는 다릅니다 — 라이선스, 저작권, 보유자 및 저자 출처를 보고하며, 감사기는 이를 버리지 않고 자체 발견 사항 형태로 저장하고 표시합니다(실행별 "Licence & provenance" 섹션, Markdown 내보내기에 포함).

스캐너들은 모든 형식을 직접 읽을 수 없습니다: bomber는 CycloneDX ≤ 1.6만 소비하고, 어떤 스캐너도 SPDX 3.0 JSON-LD를 읽지 않습니다. 두 경우 모두 감사기는 먼저 syft convert를 통해 입력을 CycloneDX로 정규화하며, syft를 사용할 수 없을 때는 도구가 패키지 0개를 보고하도록 두는 대신 문서화된 이유와 함께 건너뜁니다. grype의 취약점 데이터베이스는 실행당 한 번(대역 외로) 갱신되므로 일상적인 데이터 노후화는 실패한 스캔이 아니라 새로운 스캔이 됩니다.

취약점 보강

분석 후, 각 CVE 형태 발견 사항은 vulnlookup 서비스(기본값 https://vulnlookup.ndaal.eu)에서 가져온 세 가지 실제 신호로 보강됩니다:

  • EPSS — 악용 확률 점수와 그 백분위수.
  • CISA-KEV — 해당 CVE를 알려진 악용 사례로 표시하는 플래그.
  • nuclei — 공개 익스플로잇 템플릿이 존재하는지 여부와 그 심각도.

각 발견 사항은 KEV, Nuclei, EPSS 및 Source 값을 표시하며, Source는 vulnlookup 레코드로 다시 연결됩니다. 발견 사항은 가장 긴급한 것부터 정렬됩니다: 알려진 악용(KEV) 항목이 앞서고, 그다음 EPSS 백분위수가 높은 것이 옵니다; 보강이 없는 발견 사항은 분석기가 생성한 순서를 유지합니다. 보강 정보는 모든 내보내기 형식으로 전달됩니다 — SARIF 2.1 / 2.2, Markdown, ODT, DOCX, PDF 및 CSAF 2.1 / 2.2, 여기서 CSAF는 EPSS를 네이티브 지표로 담고 CISA-KEV와 nuclei를 노트로 기록합니다 — 그리고 내보내기 양식은 이제 기본적으로 모든 형식을 선택합니다.

Settings → Vulnerability enrichment에서 구성합니다: 켜기/끄기 토글(기본 활성화)과 최대 세 개의 vulnlookup 소스, 각각 기본 URL, TCP 포트 및 QUIC 포트를 가집니다(빈 포트는 443으로 처리됨). 소스 1과 2는 기본적으로 포트 443의 공개 https://vulnlookup.ndaal.eu를 사용하고, 소스 3은 기본적으로 이 호스트 자체의 8680(TCP) / 8681(QUIC) 포트에서 루프백 https://127.0.0.1을 사용하므로, 같은 위치에 있는 vulnlookup이 즉시 작동하는 폴백이 됩니다. 소스는 순서대로 시도됩니다 — 첫 번째가 주 소스이고 나머지는 폴백입니다.

조회는 브라우저가 아니라 감사기의 서버 프로세스가 수행하므로, 실행되는 호스트 자체가 HTTPS로 소스에 도달할 수 있어야 합니다: 클라이언트는 TLS 1.3만 사용하고 운영체제의 CA 번들을 신뢰합니다. 도달할 수 없으면 모든 발견 사항은 Not enriched로 남고 분석은 여전히 완료되며, 서버 로그는 0이 아닌 failed= 카운트와 함께 post-analysis enrichment finished를 표시합니다(클라이언트가 아예 시작할 수 없었을 때는 post-analysis enrichment failed). 보강은 모든 분석기가 완료된 후 한 번 실행되므로, 열은 실행이 완료된 직후 채워집니다.

결과를 읽을 때는 각 발견 사항이 어떤 패키지에 매칭되었는지 확인하십시오. 패키지가 없는 발견 사항 — 예를 들어 affects fedora @ 40 — 의 KEV 배지는 설치된 패키지가 아니라 운영체제 릴리스에 대한 매칭에서 나온 것이며, 대개 적용되지 않습니다. Go 표준 라이브러리에 대해 보고된 CVE-2020-0601도 같은 종류의 불일치입니다: 이는 Go가 1.13.6에서 수정한 Windows CryptoAPI 결함입니다.

하나의 발견 사항에서 세 신호를 모두 보려면 ndaal_public_sbom_examples 저장소의 jenkins:2.60.3 이미지 SBOM(example/anchore-sbom-examples/results/docker.io_library_jenkins:2.60.3/sbom/)을 분석하십시오: Spring4Shell(CVE-2022-22965)과 Jenkins Stapler RCE(CVE-2018-1000861)는 각각 KEV 배지, critical nuclei 템플릿, 그리고 0.98을 넘는 EPSS를 가집니다.

csaf-crud용 CSAF 초안(진행 중)

GitLab 작업 항목 #2는 Create CSAF document 액션을 추가합니다: 하나의 SBOM에 대한 감사 발견 사항이 초안 CSAF 2.1 권고문(상태 draft, 버전 0.1.0, 추적 id ndaal-sba-draft-에 SBOM의 SHA-256 앞 16자리 16진수를 붙인 것)이 되어 csaf.ndaal.eu 같은 csaf-crud 서비스에 제출됩니다. 이 빌드에는 초안 생성기와 Settings → CSAF upload 카드가 포함됩니다: 세 개의 엔드포인트를 순서대로 시도하며(csaf.ndaal.eu 두 번, 그다음 이 호스트의 https://localhost:8180에 있는 csaf-crud), 루프백 엔드포인트에서만 자체 서명 인증서를 신뢰하는 옵트인이 있습니다. SBOM 페이지의 버튼, 초안 다운로드 및 --export-csaf 명령줄 옵션은 다음 단계에서 이어집니다.

보안 태세

도구 다운로드