用 Rust 编写的安全扫描器,检查 MCP 服务器和 AI 智能体 Skill 文件中的提示注入、工具投毒与密钥泄露等风险。
arm/metis
开源的 LLM 驱动安全代码审查工具,通过语义推理而非固定规则发现漏洞,由 Arm 产品安全团队开发。
- Star
- 889
- Fork
- 128
- 未关闭 Issue
- 12
- 最近提交
- 前天
这是什么?
Metis 是一个面向深度安全代码审查的智能体式 AI 框架。它不依赖 linter 或传统静态分析工具那样的硬编码规则,而是借助大语言模型理解代码语义,目标是发现大型或遗留代码库中不易察觉的漏洞。工具还能验证自身分析结果以及第三方 SARIF 报告中的问题,收集证据以减少误报。
支持的语言包括 C、C++、Java、Python、Go、Rust、TypeScript、Solidity、Terraform 等,基于 tree-sitter 进行代码切分,并提供插件机制便于扩展新语言。LLM 后端可配置为 OpenAI、Azure OpenAI、Anthropic、Gemini、AWS Bedrock、vLLM、Ollama 或 llama.cpp。向量存储默认使用 ChromaDB,也可选 PostgreSQL(pgvector)或 Qdrant。
用户可通过命令行或交互式命令审查目录、文件或补丁,为代码库建立索引并提问,还能对 SARIF 结果进行分诊。输出支持 JSON 和 SARIF 格式。
核心功能
- 01使用 LLM 语义推理代替硬编码规则来发现漏洞。
- 02验证自身及第三方 SARIF 工具的发现结果,以减少误报。
- 03通过插件体系支持多种语言,包括带 CodeGraph 可达性分析的 C/C++。
- 04兼容多个 LLM 服务商,也支持通过 Ollama、vLLM、llama.cpp 运行本地模型。
- 05默认使用 ChromaDB,可选 PostgreSQL pgvector 或 Qdrant 作为向量存储。
- 06可审查整个目录、单个文件或补丁,输出 JSON 或 SARIF 格式。
适用场景
- 对大型或遗留 C/C++ 代码库做安全审查,避免基于规则的工具产生过多噪声。
- 在合并前审查拉取请求的补丁是否存在安全问题。
- 对现有 SAST 工具的结果进行分诊,区分可能的真实漏洞与误报。
- 源代码不能外传时,使用本地部署的模型进行安全分析。
快速上手
- 1
克隆仓库
git clone https://github.com/arm/metis.git - 2
创建虚拟环境并安装依赖
uv venv && uv pip install . - 3
导出你的 OpenAI API 密钥
export OPENAI_API_KEY="your-key-here" - 4
对代码库运行分析
uv run metis --codebase-path "/path/to/src" --verbose
使用前须知
- 需要 LLM 服务提供方,默认为 OpenAI,需要 API 密钥。
- 除非所选向量后端自带嵌入模型,否则索引操作需要配置嵌入服务提供方。
- 各语言支持程度不一,部分语言仅提供基础审查。
收录于专题
标签
常见问题
- metis 是什么?
- 开源的 LLM 驱动安全代码审查工具,通过语义推理而非固定规则发现漏洞,由 Arm 产品安全团队开发。 Metis 是一个面向深度安全代码审查的智能体式 AI 框架。它不依赖 linter 或传统静态分析工具那样的硬编码规则,而是借助大语言模型理解代码语义,目标是发现大型或遗留代码库中不易察觉的漏洞。工具还能验证自身分析结果以及第三方 SARIF 报告中的问题,收集证据以减少误报。
- metis 可以免费使用吗?用的什么许可证?
- metis 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- metis 还在维护吗?
- 活跃维护中。metis 最近一次提交是在 2026年11月5日。
- metis 适合用来做什么?
- 对大型或遗留 C/C++ 代码库做安全审查,避免基于规则的工具产生过多噪声。 在合并前审查拉取请求的补丁是否存在安全问题。 对现有 SAST 工具的结果进行分诊,区分可能的真实漏洞与误报。 源代码不能外传时,使用本地部署的模型进行安全分析。
- metis 怎么安装和运行?
- 克隆仓库: git clone https://github.com/arm/metis.git 创建虚拟环境并安装依赖: uv venv && uv pip install . 导出你的 OpenAI API 密钥: export OPENAI_API_KEY="your-key-here" 对代码库运行分析: uv run metis --codebase-path "/path/to/src" --verbose
- 在哪里获取 metis?
- 源代码和安装说明在 GitHub 上:https://github.com/arm/metis
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
AI 代码审查命令行工具,结合确定性流程与 LLM Agent,对 Git 差异生成精确到行的审查意见。
一个本地代码知识图谱,通过 MCP 和 CLI 为 AI 编程工具提供精准的代码审查上下文。
为 Hermes Agent 提供一组技能,让智能体为每个分析对象生成定制化的分析指令,并同时报告发现与遗漏。
开源 AI 代码审查工具,可用任意大模型对 GitHub PR 和本地分支改动进行审查。
基于 STRIDE 方法、借助大语言模型自动生成应用威胁模型与攻击树的工具。