Skip to content
KitploitKITPLOIT
工具漏洞利用博客
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ndaal_public_SBOM_Auditor — 离线单二进制 Web 应用,可导入 CycloneDX、SPDX 和 syft SBOM,运行 CVE 扫描器集成,使用 EPSS、CISA-KEV 和 nuclei 丰富发现结果,并导出 SARIF、CSAF 和 PDF。 | Kitploit
工具/GitLabGitLab/vpierre/ndaal_public_sbom_auditor
防御工具危害指标 (IOC) 管理静态分析漏洞扫描器漏洞分析配置审计DevSecOps实用工具与框架威胁情报

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
供应链安全
GitLabvpierre/ndaal_public_sbom_auditor

ndaal_public_SBOM_Auditor

离线单二进制 Web 应用,可导入 CycloneDX、SPDX 和 syft SBOM,运行 CVE 扫描器集成,使用 EPSS、CISA-KEV 和 nuclei 丰富发现结果,并导出 SARIF、CSAF 和 PDF。

查看仓库网站
431天前尚未审核

ndaal SBOM Auditor

一个单二进制、离线的 Web 应用程序,用于调查 SBOM(软件物料清单)文件。上传一个 SBOM 或导入一个包含它们的文件夹,使用一组独立工具对每个进行分析,在一个本地 UI 中查看规范化后的发现结果,并以八种格式导出结果。无需安装,无需网络访问,无遥测。

翻译:Deutsch · Français

功能

  1. 摄取 — 在浏览器中上传一个 SBOM,或导入可配置文件夹中的每个 SBOM。可检测 CycloneDX(JSON/XML)、SPDX(JSON/tag-value 和 3.0 JSON-LD)以及 syft-json;文件按内容哈希并去重。
  2. 分析 — 对 SBOM 运行已启用的工具,每个工具作为独立的子进程,受截止时间和并发限制约束。缺失的工具会被明确标记为可见且独立的跳过 — 绝不会被报告为干净结果。
  3. 发现结果 — 每个工具的输出被规范化为统一结构,CVE 别名从工具的 GHSA/OSV 标识符解析而来,并按工具显示,附带严重性徽章。
  4. 评分 — 依据全部十七项 CISA 2026 最低要素对 SBOM 进行评级,区分供应商显式的 NOASSERTION 与单纯缺失的字段。
  5. 搜索 — 在整个语料库中,按名称或包 URL 查找哪些 SBOM 声明了给定组件。
  6. 导出 — 将分析结果写为 SARIF 2.1、SARIF 2.2、Markdown、ODT、DOCX、PDF 以及 CSAF 2.1 / 2.2 公告。Export 将所选格式持久化到服务器导出目录,每个文件附带五个加密哈希附属文件;Start download 在内存中渲染相同格式并流式传输到浏览器 — 单个文档,或多个文档的 ZIP 包 — 不向磁盘写入任何内容。

已存储 SBOM 仪表板

主页(/)列出每个已存储的 SBOM,并随着语料库增长保持可用:

  • 分页 — 每页 25 行,带有“显示第 X–Y 项,共 N 项”的说明文字以及上一页 / 页码 / 下一页控件。
  • 可排序列 — 点击 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 则不同 — 它报告许可证、版权、持有者和作者来源信息,审计器将其存储并作为自身形态的发现结果展示(每次运行有一个“许可证与来源”部分,包含在 Markdown 导出中),而不是将其丢弃。

扫描器无法直接读取每一种格式:bomber 仅消费 CycloneDX ≤ 1.6,且没有任何扫描器能读取 SPDX 3.0 JSON-LD。在这两种情况下,审计器会先通过 syft convert 将输入规范化为 CycloneDX,并在 syft 不可用时以有记录的原因跳过,而不是让工具报告零个包。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 默认使用回环地址 https://127.0.0.1,位于本机自身的 8680(TCP)/ 8681(QUIC)端口,因此同机部署的 vulnlookup 开箱即是一个可用的回退。这些源按顺序尝试 — 第一个是主源,其余是回退。

安全态势

  • 传输: 仅 HTTPS,TLS 1.3(rustls + aws-lc-rs),优先提供后量子密钥交换(X25519MLKEM768)。自签名开发证书,在启动时重新生成;支持操作员提供的 PEM 文件。
  • 内存安全: 用 Rust 编写,带有 #![forbid(unsafe_code)];lint 策略禁止生产代码中的 panic 快捷方式、未检查的算术和未检查的索引。
  • 文件系统限制: 所有数据 / 导入 / 导出 I/O 都受 cap-std 能力句柄限制(路径遍历、符号链接和 TOCTOU 类问题均已封闭)。存储的文件名由服务器派生,绝不来自客户端提供。
  • 存储加密(可选): XChaCha20-Poly1305 在存储的 SBOM 字节和原始工具输出落盘时对其进行密封(--encryption-key-file)。
  • Web 加固: 每个响应都有纵深防御响应头,哈希固定的 Content-Security-Policy,每个 POST 都有同源检查,以及请求体大小限制。
  • 无遥测,无后门。 一切都在本地运行。符合 TeleTrusT“IT Security made in Germany / Europe”标准。

本周期加固

  • Multipart DoS 上限 — 上传解析器拒绝任何长于 RFC 2046 规定的 70 个字符的 multipart 边界,并以线性双向搜索定位它,封闭了一条 O(body×boundary) 的 CPU 耗尽路径。
  • 故障关闭式存储数据解密 — 无法解密的加密数据块(密钥错误或遭篡改)现在会引发硬错误,而不是被读取为空文档并报告“无发现结果”。
  • CVSS 验证 — 分析器的 CVSS 基础分数在到达生成的 CSAF 或 SARIF 之前,若非有限值或超出 [0, 10] 范围,会被钳制或拒绝,跨工具合并会保留最强分数。
  • TLS 密钥加固 — --tls-key 拒绝 PKCS#1 RSA 密钥(无 RSA 策略),并且在 Unix 上拒绝组可读或全局可读的密钥文件。
  • 导出下载扩展名门控 — GET /export/download 仅提供具有可识别的导出或校验和附属文件扩展名的名称,因此配置错误的导出目录无法交出系统文件。
  • h2 升级(RUSTSEC-2026-0258) — 捆绑的 HTTP/2 栈更新至 0.4.18,以应对无界空 DATA 帧;cargo audit 干净。

构建与运行

从 crates.io 安装已发布的版本 — cargo install 从源码构建,cargo binstall 从 GitLab release 获取预构建二进制文件:

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 种语言 — 英语、德语和法语,加上所有欧洲官方语言、挪威尼诺斯克语、挪威三种官方萨米语(北萨米语、吕勒萨米语和南萨米语),以及三种亚洲新增语言 — 中文、印地语(हिन्दी)和乌尔都语(اردو,从右到左)— 可从语言菜单选择(并按浏览器记忆)。下面的“支持的 GUI 语言”部分有完整细分。

常用选项

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 和 Web UI;8681 保留给未来的 QUIC / HTTP-3 监听器(尚未实现)。

支持的 GUI 语言

Web UI 提供 49 种语言。英语、德语和法语是维护中、由人工撰写的集合,并被固定在语言切换器的前面;其他每种语言按其英文名称的字母顺序排列。

本周期加入了三种亚洲语言:中文(普通话,简体)、印地语 / हिन्दी 和乌尔都语 / اردو。乌尔都语是从右到左的 — 选中它时应用程序渲染 <html dir="rtl">。

除固定的三种语言外,每种语言都是机器翻译,尚待母语者审校;翻译中缺失的任何字符串都会自动回退到英语。页面内切换器以每种语言自身的母语名称(内名)列出它,并且是权威列表 — 请查阅它,而不是此处的枚举。

这仅适用于 Web 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