Mantis 安全审查技能套件
为代码智能体提供可组合的安全审查、复现与修复流程。
按维度查看评分与理由
证据显示:README 明确要求隔离环境、人工审批、禁止 --yolo 等自动批准,并强调所有发现需人工验证;数据流(KB、workspace、snapshot)有说明;敏感数据(生产系统、内部网络)被明确禁止接触;外部影响(执行代码、写文件)有明确警告和沙箱要求;回滚方面仅提到非破坏性同步,未提供具体回滚机制;来源归属明确(Google 官方组织)。扣分:依赖安全仅提及 gVisor 等,未提供依赖清单或漏洞扫描;回滚机制不完整。
证据显示:README 与 README_AGENTS 引用一致,流程描述连贯;失败处理有 Troubleshooting 指南;依赖可用性方面仅提及 npx skills add,未提供版本锁定或镜像。扣分:依赖可用性证据不足。
证据显示:明确面向安全审查场景,支持多种 CLI 和 SDK,提供交互式和无人值守部署指南;能力边界(隔离、人工验证)有说明;触发方式(斜杠命令)明确;环境适配(Docker、gVisor、云沙箱)有指导。扣分:无重大缺陷,但部分细节依赖 README_AGENTS。
证据显示:README 结构清晰,安装说明(npx skills add)明确;命名(/mantis-*)稳定;有示例流程和 FAQ(Troubleshooting);已知限制(非确定性、幻觉)有说明;Apache-2.0 许可证完整;维护责任(非官方支持、不参与漏洞奖励)明确。扣分:版本号或变更日志未提供。
证据显示:输出为结构化报告和补丁,可用性高;边际价值在于自动化安全审查,减少人工重复;成本效益方面,通过模型分层和交互模式优化资源。扣分:无执行验证,成本效益为推断。
证据显示:README 中的声明(如隔离、人工验证)与文件内容一致;但缺少独立来源交叉验证;事实与推断区分明确(如明确说明非确定性)。扣分:交叉验证不足。
- 该工具设计用于生成和执行代码,存在固有风险,必须在隔离环境中使用,并严格遵循人工审批流程。
- AI 生成的结果可能包含幻觉,所有发现必须由安全专家人工验证后才能报告。
- 依赖安全信息不足,建议在使用前审查依赖清单和漏洞。
这个 Agent 能做什么,适合哪些场景?
Mantis 是一组面向代码智能体的、解耦且按顺序执行的安全审查技能。它以交互式斜杠命令驱动,从代码库结构、历史和威胁模型出发,逐步完成扫描规划、漏洞研究、去重、审查、复现、修复与报告。流程会维护 Markdown 知识库及 workspace 中的学习记录,并可生成安全审查报告、漏洞复现程序和最小修复。默认模式是对当前目录进行一次性审查;可选的 snapshot-per-pass 模型则为持续审查中的每一轮固定不可变快照。该项目强调在隔离、受限环境中运行,自动生成的发现和补丁均须由安全专家人工验证。
用户可依次调用 /mantis-history 分析版本控制历史、/mantis-structural-index 建立内容寻址的语义单元索引、/mantis-summarize 生成目录地图,以及 /mantis-architecture 将代码库知识写入 workspace/kb/。随后,/mantis-threat-model、/mantis-plan 和 /mantis-researcher 形成威胁模型、扫描路线和漏洞扫描结果;/mantis-dedupe、/mantis-review 与 /mantis-critic 合并重复项、验证代码有效性并过滤误报。对于留下的问题,/mantis-reproduce 生成并在隔离沙箱中运行崩溃复现程序,/mantis-chain 组合多步利用链,/mantis-patch 应用最小修复并验证其阻断复现程序。最后,/mantis-calibrate 追加风险评级,/mantis-reflect 记录执行经验,/mantis-report 生成人类可读的安全审查包。
- 应用安全团队希望在人工审计前,对单个代码库进行分阶段漏洞发现与误报筛选。
- 维护者需要让代码智能体先生成漏洞复现程序,再验证最小补丁是否阻断该复现。
- 拥有硬件 RTL、基础设施即代码、机器学习流水线或编译固件的团队,希望按自身领域扩展审查技能。
- 需要持续审查活跃代码库的团队,可采用每轮固定快照并仅在轮次边界非破坏性同步目标代码。
- 安全负责人希望依据代码库历史、结构知识和既有学习记录迭代威胁模型与扫描计划。
这个 Agent 有哪些优点和局限?
- 流程覆盖从代码库知识整理、威胁建模到复现、补丁验证和最终报告,而非仅输出扫描告警。
- 技能按阶段解耦,可从历史分析、结构索引或摘要等可选步骤开始,并可针对不同软件或硬件领域调整。
- 提供默认一次性审查和可选 snapshot-per-pass 持续审查两种执行边界,后者为每轮发现标记对应快照。
- 明确把复现程序放入隔离容器执行,并在文档中强调人工审批与人工验证。
- AI 模型具有非确定性,可能产生误报、错误补丁或不安全操作;所有发现都需要安全专家手工验证。
- 复现和补丁阶段可能生成及执行意外代码,部署时需要隔离、受限环境;无人值守场景还需额外硬化。
- 安装后仍需用户自行准备代码智能体 CLI 和适合目标项目的环境、文档、编码规范及构建系统。
- 项目明确说明仅供演示,不面向生产环境,也不属于 Google 开源漏洞奖励计划的适用范围。
如何安装或部署这个 Agent?
在已配置代码智能体 CLI 的环境中运行:npx skills add google/mantis。随后在要审查的工作区启动该代码智能体。README 未规定特定模型、凭据或唯一运行时;Docker、gVisor(runsc)和相关云 SDK 被列为按需选择项。
如何使用这个 Agent?
建议先采用交互模式,在代码智能体界面逐条输入命令,而非自动批准敏感操作。一次基础审查可从 /mantis-architecture、/mantis-threat-model、/mantis-plan、/mantis-researcher 开始,接着运行 /mantis-dedupe、/mantis-review、/mantis-critic、/mantis-reproduce、/mantis-patch 和 /mantis-report。执行复现或补丁阶段前,应人工检查计划中的写入与执行操作;不读取的生成脚本或代码应仅在禁网隔离容器中运行,例如使用 --network none。
这个 Agent 与同类方案有什么区别?
Mantis 不绑定单一代码智能体框架;文档说明其曾与 Gemini CLI、Antigravity CLI、Google ADK 和 Antigravity SDK 配合使用,并称其他代码智能体框架也应可用。
常见问题
能否直接把自动生成的漏洞报告提交给维护者?
运行复现程序是否安全?
是否必须使用 Gemini 或 Antigravity?
默认会持续跟踪代码库变化吗?
--sync 或快照相关参数。