AI News HubLIVE
站内改写2 分钟阅读

Model Due Diligence:AI模型静态供应链审查工具

Model Due Diligence 是一个 Python 命令行工具,用于对本地 AI 模型文件和克隆的模型仓库进行静态供应链尽职调查,帮助用户在导入模型前识别明显的风险指标。它检查文件清单、哈希值、高风险序列化格式、可疑文本和代码模式、Git 来源等,并生成人类可读的 Markdown 报告和自动化 JSON/SARIF 报告。工具不加载模型权重或执行代码,风险评分从 0 到 100 分。

来源Hacker News AI作者: djhope99

Model Due Diligence 是一个专注于 AI 模型静态供应链安全的 Python 命令行工具。它的核心目标是在本地模型文件或克隆的模型仓库被导入到 Ollama、llama.cpp、LM Studio 或 Transformers 等运行时之前,提供可审查的静态证据,帮助回答一个实际问题:是否存在明显的静态证据表明这个模型制品或仓库不应被信任、加载或运行?

该工具执行一系列静态检查,包括文件清单、SHA-256 哈希、权限和符号链接检测;高风险序列化格式如 pickle、.pt、.pth、.bin、.joblib、H5 等;低风险模型格式如 .gguf、.safetensors 和 .onnx;GGUF 魔数及版本元数据;safetensors 头部元数据;可疑文本和二进制字符串;Python AST 中 eval、exec、compile、pickle.loads、os.system、subprocess 等危险调用;trust_remote_code=True 使用情况;高风险序列化格式中的可疑 pickle 字节标记;高熵非模型文件;Git 来源、远程仓库、当前提交、工作目录污染及 Git LFS 列表;以及外部扫描工具如 ModelScan、Semgrep、Bandit、pip-audit、detect-secrets 的输出。它还可以进行可选的代码质量自检(Ruff、Pyright、mypy)。

工具最终生成三种格式的报告:人类可读的 Markdown 报告、用于自动化的确定性 JSON 报告,以及可选的 SARIF 报告以集成到代码扫描工作流中。

Model Due Diligence 特意保持静态特性。在正常扫描过程中,它不会加载模型权重、导入不受信任的仓库代码、执行模型特定脚本、运行模型推理、将制品发送到外部服务,也不需要网络连接进行本地扫描。静态扫描无法可靠检测编码在模型权重中的恶意行为、休眠代理或触发器后门、训练数据投毒、基准操纵、微调后出现的恶意行为、下游 RAG 或代理工作流中的提示注入顺从性,以及运行时数据窃取行为。因此,该工具应作为风险降低门控,而非信任预言。

项目采用模块化单体架构,保持了 CLI、编排、扫描器、风险评分和报告之间的清晰边界。风险评分将发现归一化为严重级别,并转换为 0 到 100 之间的分数。严重级别包括 INFO(0 分)、LOW(3 分)、MEDIUM(10 分)、HIGH(30 分)、CRITICAL(60 分)。风险等级分为 LOW(0-29,可接受沙盒首次运行)、MEDIUM(30-69,不要导入直到理解发现)、HIGH(70-89,有重大风险指标,除非每个发现都得到证明否则不要加载)、CRITICAL(90-100,严重或多个高风险指标,默认视为不安全)。该评分刻意保守,是决策辅助而非自动信任裁决。

安装需要 Python 3.11+ 和 Git。推荐在虚拟环境中安装,并支持可选的外部扫描器集成。快速扫描一个已克隆的模型仓库:mdd ./downloaded-model --out ./audit。扫描本地 GGUF 文件:mdd ~/models/qwen.gguf --out ./audit-qwen。通过名称扫描已安装的 Ollama 模型:mdd-ollama qwen3:4b --out ./audit-qwen3-ollama。可以设置 --fail-on 参数在风险等级达到指定级别时令命令非零退出。

总的来说,Model Due Diligence 为 AI 模型的供应链安全提供了一个实用、可扩展的静态分析框架。它不会替代运行时测试或专业安全审计,但在模型引入管道的第一道防线中扮演着重要角色。