工具

mithril 物联网固件静态扫描器

离线运行的 C++ 扫描器,用于分析固件和物联网软件的内容,可指向单个文件或已解包的根文件系统,报告其中嵌入的机密信息、软件物料清单(SBOM)、已知 CVE、开源许可证、启动安全配置,以及强度不足或私钥已公开的密钥,每项发现都附带证据和置信度。其 SBOM 还能在已剥离符号的镜像中,从 ELF 版本标识、libc 文件名和内核标识中识别组件,并输出为 CycloneDX 和 SPDX;CVE 检查则将 SBOM 与本地的 OSV 和 NVD 镜像比对,并标注 CISA KEV 与 EPSS 信息。它本身不解包镜像,识别和提取由作者的配套工具 moria 完成。

目标
固件
类别
固件工具
关联
基础工具
来源复核于

使用条件与局限

  • 这是一个很新、更新很快的项目:仓库创建于 2026-09-07,审阅时最新版本为 v0.4.0,发布于 2026-10-22,提供 Linux x86_64 与 arm64、macOS arm64 压缩包,以及 amd64 与 arm64 的 Debian 软件包;所审提交即该版本的合并提交。
  • 从源码构建需要 CMake 3.20+ 和支持 C++20 的编译器,不链接任何第三方库;仓库附带 flake.nix、package.nix 和 Debian 打包文件。输入是固件文件,或已由 moria 或其他解包工具提取的目录;--boot 检查还可读取原始的 AMI 或 EDK2 BIOS 镜像,报告 UEFI 安全启动状态。
  • 扫描过程不发起网络请求。CVE 检查需要位于用户主目录下 .local/share/mithril(或 $MITHRIL_DB 指定位置)的本地镜像:可用 --fetch-db 从项目每周重建的 db-latest 发布下载一次,并按公布的 SHA-256 校验(需要 curl),也可用 --update-db 从 OSV.dev、NVD、CISA KEV、EPSS 及可选的 kernel.org 数据源自行重建。README 指出内核检查清单经过筛选而非穷尽,内核结果为空并不代表内核没有漏洞;机密信息的发现只表示格式正确,从不确认凭据仍然有效。
  • 编译进程序的密钥语料库由 data/ 下附带的公钥和证书生成:rapid7 ssh-badkeys 的公钥部分、Vagrant 不安全公钥、eMudhra 中间 CA 证书、AOSP 测试密钥的公钥部分,以及 PKfail AMI 测试平台密钥(Platform Key)证书。THIRD_PARTY.md 声明仓库不存放任何私钥材料,密钥相关测试在运行时用 openssl 生成所需密钥。
  • MIT 许可;附带的密钥数据沿用上游的 MIT 或 Apache-2.0 条款,镜像的漏洞数据归各数据源所有。本次审阅未构建或运行,也未扫描任何固件;所审来源未确立与 REA 的关联。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · nmatt0/mithril · 修订 3f5bf55
  2. CMakeLists.txt GitHub · nmatt0/mithril · 修订 3f5bf55
  3. THIRD_PARTY.md GitHub · nmatt0/mithril · 修订 3f5bf55
  4. docs/engine-design.md GitHub · nmatt0/mithril · 修订 3f5bf55
  5. docs/boot-security.md GitHub · nmatt0/mithril · 修订 3f5bf55
  6. docs/key-weakness.md GitHub · nmatt0/mithril · 修订 3f5bf55
  7. docs/cve-join.md GitHub · nmatt0/mithril · 修订 3f5bf55
  8. src/cveupdate.cpp GitHub · nmatt0/mithril · 修订 3f5bf55
  9. tests/test_der_keys.py GitHub · nmatt0/mithril · 修订 3f5bf55
  10. LICENSE GitHub · nmatt0/mithril · 修订 3f5bf55
  11. https://github.com/nmatt0/mithril/releases/tag/v0.4.0

同分区更多条目:固件与硬件

固件与硬件分区全部 65 项资源