google/mantis
A modular, stack-agnostic toolkit for AI coding agents to autonomously find, reproduce, and patch vulnerabilities.
Mantis – 基于AI的自动化安全审查工具包
简介 – Mantis 是一组s技能(插件模块)和一个基于ADK的参考框架,让您可以对代码库运行 AI 驱动的漏洞发现活动。它编排大语言模型(LLM)来读取源代码、构建威胁模型、生成漏洞利用测试,甚至建议补丁,所有操作都在沙箱化的工作流程中完成。
工作原理
- 设置 – 安装 Python 虚拟环境,运行提供的
install.sh,如果要使用 Vertex AI 模型,则(可选)对 Google Cloud 进行身份验证。 - 配置 –
scripts/configure.py自动检测功能(模型访问、硬件、预算)并验证连接。 - 启动 –
run.sh <path>开始审查活动:- 扫描仓库历史以查找过去的错误。
- 构建代码的语义索引以便快速导航。
- 生成威胁模型和研究假设列表。
- 使用 LLM 驱动的代理执行这些假设,去重结果,并尝试复现发现(静态分析 → 单元测试风格的漏洞利用 → 模拟服务器攻击)。
- 可选地运行图合成步骤,为特定目标(例如“审计 SSRF”)创建自定义代理拓扑。
- 反馈循环 – 对发现进行批判,根据严重性标准进行校准,如果需要,系统会尝试自动修补并重新验证修复。
- 建议 – 可以调用
/mantis-advise技能,获取针对新开发的 AI 生成的安全编码建议。
主要特性
- 端到端 AI 工作流:从代码摄取到漏洞利用复现和补丁建议。
- 可插拔的“技能”,可适用于硬件 RTL、IaC、ML 流水线或固件等领域。
- 使用共享 SQLite 数据库(可配置锁定超时)并行执行活动。
- 预算控制(
--no-budget)和用于安全执行的沙箱示例。 - 使用自然语言提示聚焦扫描(
--focus "查找 IDOR")。 - 针对自定义安全目标的基于图的研究综合。
预期用例
- 希望用 AI 生成的假设增强手动代码审查的安全团队。
- 希望自动审计遗留代码库中被遗忘的漏洞的组织。
- 寻求 AI 驱动的指导以编写更安全代码的开发人员。
- 实验基于 LLM 的漏洞发现流水线的研究实验室。
安全与限制
- 高度实验性 – README 反复警告:仅在隔离的、受限的环境中运行;切勿在系统或数据上运行。
- 非确定性模型 – LLM 可能产生幻觉或生成错误的补丁;每个输出都必须由安全专家手动验证。
- 没有 Google 官方支持 – 这是一个演示项目,不属于 Google 的开源漏洞奖励计划。
- 资源密集型 – 大型模型(例如 Vertex AI)可能产生大量计算成本;提供了预算标志来限制支出。
- 沙箱可靠性 – 虽然包含了示例沙箱,但建议用户添加额外的监控以防逃逸尝试。
入门
# 安装虚拟环境和依赖项
cd reference && ./install.sh
# 如果计划使用 Vertex AI,请进行身份验证
gcloud auth application-default login
# 自动配置环境
python3 scripts/configure.py --auto
# 运行快速预检测试
python3 scripts/configure.py --test --probe
# 在仓库或文件上启动审查
./run.sh path/to/code
结论 – Mantis 是一个概念验证平台,展示了如何编排 LLM 来对软件进行深入的自动化安全分析。它对于研究和受控的内部审计非常强大,但必须极其谨慎并在彻底的人工监督下使用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目