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

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

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로 내보내는 오프라인 단일 바이너리 웹 앱입니다.

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

ndaal SBOM Auditor

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

번역: Deutsch · Français

기능

  1. 수집(Ingest) — 브라우저에서 SBOM을 업로드하거나, 설정 가능한 폴더의 모든 SBOM을 가져옵니다. CycloneDX(JSON/XML), SPDX(JSON/tag-value 및 3.0 JSON-LD), syft-json이 감지되며, 파일은 내용 해시로 중복 제거됩니다.
  2. 분석(Analyse) — 활성화된 도구를 SBOM에 대해 실행하며, 각각은 데드라인과 동시성 제한 아래 격리된 서브프로세스로 실행됩니다. 도구가 없으면 깔끔하고 눈에 띄게 구분되는 건너뛰기(skip) 로 처리되며, 결코 정상 결과로 보고되지 않습니다.
  3. 발견 사항(Findings) — 각 도구의 출력은 공통 형태로 정규화되고, 도구의 GHSA/OSV 식별자에서 CVE 별칭을 확인하여, 심각도 배지와 함께 도구별로 표시됩니다.
  4. 점수(Score) — SBOM을 CISA 2026 최소 요소 17개 전체에 대해 평가하며, 공급자의 명시적 NOASSERTION과 단순히 누락된 필드를 구분합니다.
  5. 검색(Search) — 전체 코퍼스에서 주어진 컴포넌트를 선언한 SBOM을 이름 또는 패키지 URL로 찾습니다.
  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 헤더를 클릭하면 해당 기준으로 정렬되며, 헤더를 다시 클릭하면 방향이 반전됩니다.
  • 형식 필터 — 목록을 하나의 형식(CycloneDX JSON/XML, SPDX JSON, SPDX 3.0 JSON, SPDX tag-value, Syft JSON 또는 Unknown)으로 좁힙니다. Reset 버튼은 현재 정렬을 유지한 채 필터를 지웁니다.
  • 심각도 열 — Ingested 다음의 맨 오른쪽 열은 각 SBOM의 단일 최고 발견 심각도(Critical, High, Medium, Low 또는 Negligible)를 표시하며, 아직 발견 사항이 없으면 "—"를 표시합니다. 이에 대응하는 심각도 필터도 있습니다.
  • 전체 텍스트 검색 — tantivy 전체 텍스트 인덱스로 뒷받침되는 검색 상자는 SBOM의 이름, 형식, 스펙 버전은 물론 포함된 컴포넌트의 이름과 패키지 URL까지 일치시키므로, log4j 또는 openssl 같은 질의는 해당 컴포넌트를 포함한 모든 SBOM을 찾아냅니다. 질의는 길이가 제한되며 관대하게 파싱됩니다.

분석기 앙상블

각 도구는 런타임에 선택 사항이며 PATH에서 감지됩니다(SBA_TOOL_<NAME>_BIN으로 바이너리를 재정의). 발견 사항은 결코 단일 도구에 의존하지 않습니다.

처음 여덟 개 도구는 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는 기본적으로 공개 https://vulnlookup.ndaal.eu의 443 포트를 사용하고, 소스 3은 기본적으로 이 호스트 자체의 8680(TCP) / 8681(QUIC) 포트에서 루프백 https://127.0.0.1을 사용하므로, 같은 위치에 있는 vulnlookup이 즉시 작동하는 폴백이 됩니다. 소스는 순서대로 시도됩니다 — 첫 번째가 기본이고 나머지는 폴백입니다.

보안 태세

  • 전송: HTTPS 전용, TLS 1.3(rustls + aws-lc-rs), 포스트 양자 키 교환(X25519MLKEM768)을 우선 제공. 자체 서명 개발 인증서는 시작 시 재생성되며, 운영자 PEM 파일도 지원됩니다.
  • 메모리 안전성: Rust로 작성되었으며 #![forbid(unsafe_code)]를 사용합니다. 린트 정책은 프로덕션 코드에서 패닉을 일으키는 단축 표현, 미검사 산술 연산, 미검사 인덱싱을 금지합니다.
  • 파일시스템 격리: 모든 데이터 / 가져오기 / 내보내기 I/O는 cap-std 기능 핸들로 격리됩니다(경로 순회, 심볼릭 링크, TOCTOU 부류가 차단됨). 저장된 파일 이름은 서버에서 파생되며, 결코 클라이언트가 제공하지 않습니다.
  • 저장소 암호화(선택 사항): XChaCha20-Poly1305가 저장된 SBOM 바이트와 원시 도구 출력을 디스크에 있는 동안 봉인합니다(--encryption-key-file).
  • 웹 강화: 모든 응답에 심층 방어 응답 헤더, 해시로 고정된 Content-Security-Policy, 모든 POST에 동일 출처 검사, 요청 본문 크기 제한.
  • 텔레메트리 없음, 백도어 없음. 모든 것이 로컬에서 실행됩니다. TeleTrusT "IT Security made in Germany / Europe" 기준을 충족합니다.

이번 주기 강화 사항

  • 멀티파트 DoS 상한 — 업로드 파서는 RFC 2046의 70자보다 긴 멀티파트 경계를 거부하고 선형 양방향 검색으로 이를 찾아내어, O(body×boundary) CPU 고갈 경로를 차단합니다.
  • 폐쇄 실패(fail-closed) 저장 데이터 복호화 — 복호화할 수 없는 암호화 블롭(잘못된 키 또는 변조)은 이제 "발견 사항 없음"을 보고하는 빈 문서로 읽히는 대신 하드 오류를 발생시킵니다.
  • CVSS 검증 — 분석기 CVSS 기본 점수는 생성된 CSAF 또는 SARIF에 도달하기 전에 비유한이거나 [0, 10] 범위를 벗어나면 클램프되거나 거부되며, 도구 간 병합은 가장 강한 점수를 유지합니다.
  • TLS 키 강화 — --tls-key는 PKCS#1 RSA 키(no-RSA 정책)를 거부하고, Unix에서는 그룹 또는 전체가 읽을 수 있는 키 파일을 거부합니다.
  • 내보내기 다운로드 확장자 게이트 — GET /export/download는 인식된 내보내기 또는 체크섬 사이드카 확장자를 가진 이름만 제공하므로, 잘못 구성된 내보내기 디렉터리가 시스템 파일을 내줄 수 없습니다.
  • h2 업데이트(RUSTSEC-2026-0258) — 번들된 HTTP/2 스택이 무제한 빈 DATA 프레임 문제로 0.4.18로 업데이트되었으며, cargo audit는 깨끗합니다.

빌드 및 실행

crates.io에서 게시된 릴리스를 설치하세요 — cargo install은 소스에서 빌드하고, cargo binstall은 GitLab 릴리스에서 미리 빌드된 바이너리를 가져옵니다:

root@kitploit:~
cargo install sbom-auditor     # build from source
cargo binstall sbom-auditor    # prebuilt GitLab-release binary

또는 이 체크아웃을 직접 빌드하세요(최신 안정 Rust 툴체인 필요):

root@kitploit:~
cargo build --release
./target/release/sbom-auditor

그런 다음 https://127.0.0.1:8680을 여세요(브라우저가 자체 서명 인증서에 대해 한 번 경고합니다). 상단 내비게이션은 Home, Upload, Import, Export, Components, Tools, Settings 순으로 실행되며, 오른쪽에 다크/라이트 테마 전환, 언어 메뉴, 정보 메뉴가 이어집니다. 인터페이스는 49개 언어로 제공됩니다 — 영어, Deutsch, Français에 더해 모든 유럽 공식 언어, 노르웨이어 Nynorsk, 노르웨이에서 공용어인 세 개의 사미어(북부, 룰레, 남부 사미), 그리고 세 개의 아시아 추가 언어 — 중국어(中文), 힌디어(हिन्दी), 우르두어(اردو, 오른쪽에서 왼쪽) — 를 언어 메뉴에서 선택할 수 있습니다(브라우저별로 기억됨). 아래의 Supported GUI languages 섹션에 전체 내역이 있습니다.

공통 옵션

root@kitploit:~
--port <PORT>              Listen port (default 8680, env SBA_PORT)
--bind <ADDR>              Bind address (default 127.0.0.1, env SBA_BIND)
--data-dir <DIR>           Data directory (SQLite store + stored SBOMs)
--db <PATH>                Database path (default <data-dir>/auditor.db)
--encryption-key-file <F>  Enable storage encryption with this 32-byte key
--tls-cert <F> --tls-key <F>  Operator certificate instead of self-signed
--allow-non-loopback       Permit binding a non-loopback address
--check-update             Check gitlab.com for a newer release, then exit
--self-update              Download + verify + install the latest release
--help                     Full option list

포트: 8680은 TLS 1.3(HTTP/1.1 + HTTP/2)을 통해 API와 웹 UI를 제공하며, 8681은 향후 QUIC / HTTP-3 리스너용으로 예약되어 있습니다(아직 구현되지 않음).

지원되는 GUI 언어

웹 UI는 49개 언어로 제공됩니다. 영어, Deutsch, Français는 유지 관리되는 사람이 작성한 집합이며 언어 전환기의 맨 앞에 고정됩니다. 다른 모든 언어는 영어 이름 기준 알파벳 순으로 이어집니다.

이번 주기에 세 개의 아시아 언어가 합류했습니다: 중국어 / 中文(만다린, 간체), 힌디어 / हिन्दी, 우르두어 / اردو. 우르두어는 오른쪽에서 왼쪽으로 쓰이며, 선택된 동안 애플리케이션은 <html dir="rtl">을 렌더링합니다.

고정된 세 언어를 제외한 모든 언어는 기계 번역이며 원어민 검토를 기다리고 있습니다. 번역에서 누락된 문자열은 자동으로 영어로 폴백됩니다. 페이지 내 전환기는 각 언어를 해당 언어의 고유 이름(endonym)으로 나열하며 이것이 권위 있는 목록입니다 — 여기에 열거된 것보다 이를 참조하세요.

이는 웹 UI에만 적용됩니다. 생성된 보고서(SARIF, CSAF 및 PDF 내보내기)와 HTTP API는 영어 전용으로 유지됩니다.

테스트

root@kitploit:~
cargo nextest run          # unit + integration suite
cargo test --doc           # doctests

추가 하네스: loom-harness/(동시성 순열 모델), test/bruno/(API 컬렉션), test/playwright/(브라우저 E2E), test/example-corpus/(번들된 example/ SBOM 코퍼스에 대한 API + GUI 업로드→분석→내보내기), loadtest/(Goose 부하 시나리오). tests/scripts/test_examples_upload_via_api.sh(자매 .bats 포함)는 실행 중인 인스턴스에 대해 모든 example/ SBOM을 업로드하고, 각각이 스트리밍 POST /export/download ZIP을 통해 SARIF, CSAF 및 PDF를 산출하는지 검증합니다. TLS는 비루프백 호스트에 대해 검증되고 localhost의 자체 서명 인증서에 대해서는 건너뛰며, --base-url은 모든 인스턴스를 대상으로 합니다(예: https://sbom.ndaal.eu/). test/magnitude/ 스위트(Magnitude, *.mag.ts)는 내비바 순서와 내보내기 기본값 및 Start download에 대한 AI 기반 시각적 검사를 추가합니다. 이는 결정적 테스트를 보완하며, 실행하려면 LLM이 필요하고 차단 CI 게이트의 일부가 아닙니다. 디렉터리에는 651개의 공개 테스트 SBOM이 있습니다(Git LFS). 를 참조하세요. 모듈 맵과 요청 흐름은 를 참조하세요.

문서

  • REFERENCE.md — CLI, 환경, 라우트, 설정 및 내보내기 형식 레퍼런스
  • documentation/structure.md — 아키텍처 맵
  • documentation/User_Guide.md — 최종 사용자 안내
  • documentation/Administrator_Guide.md — 배포 및 운영
  • documentation/arc42/en/ — arc42 아키텍처 뷰
  • documentation/compliance/CSI_2026_cisa_sbom_minimum_elements_508c.md — CISA 2026 SBOM 최소 요소에 대한 적합성 평가
  • CHANGELOG.md — 릴리스 이력

라이선스

코드는 Apache-2.0으로 라이선스됩니다. 번들된 UI 자산은 자체 라이선스를 가집니다(Bootstrap MIT, htmx 0BSD, Roboto OFL-1.1). src/static/ 아래의 파일별 .license 사이드카를 참조하세요.

도구 다운로드
도구역할
syftSBOM 정규화기 / CycloneDX 1.6 변환기
grypeCVE 매처
trivy취약점 스캐너
osv-scannerOSV 데이터베이스 조회
bomber독립적 앙상블 매처
bomdrift공급망 드리프트 / 타이포스쿼팅 (SARIF)
inspektrSBOM 취약점 스캐너 (JSON)
shieldbom오프라인 임베디드/IoT CVE 스캐너 (SARIF)
provenant라이선스 / 저작권 / 출처 (ScanCode)
example/
example/PROVENANCE.md
documentation/structure.md