用途
Mantis 是一套面向 AI 编程智能体的安全审查技能集,并附带一个基于 Google Agent Development Kit(ADK)的参考执行框架,目标是在 AI 时代辅助构建安全软件。它采用模块化、与技术栈无关的设计,用于让 AI 智能体自主发现、复现并修补漏洞。官方将其定位为起点而非固定指令集,鼓励使用者根据自身组织的软件或硬件技术栈进行调整、调优和扩展。
主要能力
根据官方说明,Mantis 大致设计用于完成以下工作:
- 审查代码库历史,寻找不希望重演的历史漏洞;
- 为代码库构建语义索引(和/或摘要),以便高效导航代码;
- 自动生成威胁模型;
- 为各个智能体构建研究假设(或直接“扫描每个文件”);
- 执行这些研究计划;
- 对已有发现进行去重;
- 对发现进行分诊/批判,以对抗幻觉并静态验证生产可行性;
- 根据可用环境不同程度地复现漏洞,从静态推测漏洞利用方式,到单元测试,甚至启动模拟服务器尝试利用;
- 跨已知漏洞寻找可构建更具影响力攻击链的机会;
- 修补发现的漏洞,并使用对抗式循环验证漏洞确实已修复;
- 依据既定评分标准校准所有发现,以对抗 LLM 对严重性的夸大(把最关键风险呈现给人类,而不是抛出成千上万个“严重”);
- 在每一轮循环后反思本轮研究中获得的经验。
此外,基于收集到的经验、威胁模型和知识库,可使用 /mantis-advise 技能更安全地开发代码,避免重复以往错误,或触发此前由某个已被移除的防护所保护的边界情况。
ADK 参考框架还展示了构建智能体工作流的一些方式:reference/workflow.json 展示了如何进行深度审查,而研究图合成(./run.sh target --objective "...")允许即时生成自定义图拓扑,可用于构建任意类型的智能体深度安全审查。
使用方式
官方给出的入门步骤:先安装 python3-venv(例如 sudo apt install python3-venv),然后运行安装脚本。Mantis 附带自动化配置和启动工具(mantis-configure 和 mantis-launch)。
官方说明,Mantis 技能可适配专门领域,例如硬件/RTL、基础设施即代码(IaC)、ML 流水线或编译固件。官方强烈建议使用 AI 迭代这些技能,并利用内部文档、编码标准和构建系统来增强用于扫描的威胁模型,同时建议根据自身环境和风险容忍度调整风险校准。
适用场景
适用于安全审查与漏洞发现、复现、修补流程,尤其是希望用 AI 编程智能体对代码库进行威胁建模和漏洞研究的团队。也可作为构建智能体工作流的参考示例。
限制与风险
官方给出多项重要警告:
- 使用风险自负,须极其谨慎。该套件会生成并执行自主生成的代码,这些代码可能不稳定或执行意外操作。只能在隔离、受限环境中使用,切勿在可访问生产系统、敏感数据或内部网络的机器上运行。
- 负责任使用:AI 模型具有非确定性,可能产生幻觉发现或生成错误补丁。所有发现必须由安全专家人工验证后才能报告。不要向开源维护者批量提交未经核实的 AI 生成报告。无法自动复现漏洞并不一定意味着误报,成功复现也不保证该漏洞在所有上下文中都可被利用。
- 即使使用 ADK 参考框架提供的示例沙箱,若使用最先进的前沿模型,官方建议额外设置一层沙箱,并在其中配置强监控以检测逃逸尝试。
- 该项目不是 Google 官方支持的产品,不符合 Google 开源软件漏洞奖励计划资格。
- 该项目仅用于演示目的,不适用于生产环境。
许可与项目信息
项目采用 Apache-2.0 许可,仓库地址为 https://github.com/google/mantis。仓库中包含行为准则和安全政策文件。