自动化与运维 vulnerability-discoveryoffensive-securitymcpsastscasecrets-scanningz3-smtrust-cli

Mantishack(Mantis AI)

基于 OpenAI Codex CLI 改造的自主漏洞发现代理,用「先宽检测、后严验证」的流水线,把误报过滤成可证明可达的真实漏洞。

FollowAgents 评估 · FARS-2.1
谨慎使用
62/ 100 五分制 3.1 / 5
1 2 3 4 5 6
1信任安全18 / 29 · 3.1/5

README声明了双重门控的利用开关(默认关闭)、canary注入诱饵工具、findings服务在代码层面强制'无证明不确认',并要求先确立授权范围;但实际MCP服务器代码、agent TOML与系统提示词未在本次证据中出现,最小权限与确认机制仅是文档断言,故各扣1分。敏感数据处理仅有'有界、脱敏的证据包'一句,未展示脱敏实现,得1分。依赖固定较严格(package. resolutions/overrides),外部工具缺失时降级为available:false而非伪造结果。回滚路径完全没有提及——fixer会修改代码但无恢复/撤销说明,扣至1分。归属处理出色:上游Codex、已退役的RAPTOR历史、双版权与NOTICE齐全。

2可靠稳定9 / 14 · 3.2/5

架构自洽:README与MANTIS.md声明的分层(tool=code/agent=prompt/skill=knowledge)内部一致;扫描器缺失时明确报告而非编造发现,这是可信的失败语义。但findings服务的拒绝/roadblock实现代码未见,只能按文档采信,未给满分。SECURITY.md是上游OpenAI/Codex原文,未针对本项目改写,对本仓的故障处理无增量信息。

3适用触发10 / 18 · 2.8/5

明确目标受众(授权的攻击性AppSec从业者)与场景(自有或授权目标),并给出授权不明时降级为只读静态分析的规则,边界意识较好。但触发精度无从评估:agent/skill触发条件与slash命令的实际定义文件未提供,仅得1分。多平台依赖(pip/brew/go/CodeQL CLI)对环境有一定要求,但'报告直至安装'模式缓解了这一点。

4规范维护12 / 18 · 3.3/5

信息架构清晰(仓库结构图、What's wired表格、流水线生命周期图);安装说明具体可执行(构建命令+各扫描器安装);对已知缺口的坦率说明('not polished software'、roadmap)是亮点;双许可文件加NOTICE与CITATION.cff完备,且明确警示CodeQL不可商用。扣分项:无版本号、无CHANGELOG,版本管理为零分;无示例输出、无FAQ;维护责任仅有issue链接,发布者身份未经验证,得1分。

5有效结果9 / 13 · 3.5/5

产出形态明确(工具拥有的findings、带引用roadblock的拒绝、HTTP证据包与稳定哈希),比纯文字报告可审计。'检测是商品,验证精度是产品'的定位有一定边际价值,且零依赖组件(findings/canary/http-audit)开箱可用。但所有有效性声明均无执行证据或基准数据支撑,成本(需构建Rust+安装8+个外部工具+LLM API)与收益对比未量化,均不给满分。

6证据核验4 / 8 · 2.5/5

声明可追溯到具体文件路径(.codex/mcp-servers/、codex-rs/等),事实与愿景('The core bet')区分清楚。但本次提供的源文件集未能交叉证实关键声明——核心能力层代码均未出现,交叉印证只得1分;同时评分整体维持低置信度,未将文档声明当作已验证事实。

证据充分度: 评估于 2026年9月10日 审查版本 c3a2e68e5790
使用前请注意
  • 所有安全机制(利用门控、canary、findings强制转换)均为文档声明,未见实现代码;使用前应自行审计 .codex/mcp-servers/ 与 agent 提示词。
  • fixer组件会修改目标代码且未提供任何回滚/恢复机制,生产环境使用前务必在版本控制下运行。
  • 证据包的'脱敏'仅为一句断言,捕获的HTTP交换可能含凭据或令牌,需自行核验脱敏逻辑。
  • CodeQL CLI不允许商用,商业用途前核查所有被调用组件的许可。
  • 发布者身份未经验证;敏感数据(API密钥、目标系统信息)会流经模型提供商,评估数据外流风险。
  • 本仓库无版本号与变更日志,升级无法追踪变更内容。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Mantishack 是将 OpenAI Codex CLI(Rust,Apache-2.0)整体改造为 Mantis AI 的攻击性 AppSec 框架,主打自主漏洞发现。它的核心是 MCP 工具层(.codex/mcp-servers/,含 semgrep、CodeQL、osv-scanner、trufflehog、bandit、trivy、ast-grep、z3 包装器)加上 findings 服务,所有发现由工具状态机管理:candidate → confirmed/rejected → exploited → fixed → verified。验证阶段要求以攻击者模拟和可达性证据(如 z3 的 smt_check_reachability)确认候选漏洞,无法附证据的候选会被拒绝并须引用具体路障。检测能力遵循「报告直至安装」原则:缺少底层扫描器二进制时如实降级为 available: false,绝不伪造结果。项目自称是有真实缺口的可用框架,非成品软件,且明确要求仅在授权范围内使用,攻击利用默认双重门控关闭。

构建 codex-rs 中的 Codex CLI 后,代理运行一个多阶段流水线:recon、context-enrich、detector、reachability、validator、chain-builder、exploiter(门控)、fixer、reporter 等角色代理(.codex/agents/*.toml)。读取目标代码库,调用 MCP 能力服务器执行 SAST/SCA/密钥扫描(semgrep_scan、codeql_analyze、osv_scan、trufflehog_scan、bandit_scan、trivy_scan)、结构化搜索(ast_grep_scan)、可达性证明(smt_check_reachability,基于 z3 的 SMT-LIB2 路径条件求解,返回 sat/unsat/unknown)。所有发现通过 findings 服务的 finding_create/update/get/list 管理,强制「无证据不得确认、拒绝必须引用路障」;http-audit 服务器将捕获的 HTTP 交互转为带请求引用哈希的脱敏证据包;canary 服务器部署诱饵工具检测提示注入。输出为经修复与验证的漏洞报告;技能层(.codex/skills/*/SKILL.md)提供 mantis-pipeline 等操作手册。

  1. AppSec 工程师对自己拥有或获书面授权的目标代码库做高召回漏洞检测,再用攻击者模拟自动剔除误报
  2. 安全团队需要每个确认漏洞都附带可达性证据(z3 求解结果或 HTTP 证据包),而非扫描器原始输出
  3. 渗透测试人员在授权范围内做静态侦察与漏洞链构建,利用阶段保持默认关闭直至明确授权
  4. 研究员在多模型环境下复用 Codex CLI 的供应商无关路由,切换底层模型而不改框架
  5. 工具开发者按现成的 MCP server 模式扩展能力(如 DAST、OOB、fuzzing),沿用 findings 生命周期与 canary 防注入机制

这个 Agent 有哪些优点和局限?

优点
  • 验证精度优先:findings 服务在代码层面强制「无证据不得确认」,拒绝必须引用具体路障(认证门、sanitizer、不可达路径),显著降低扫描器误报噪音
  • z3 SMT 可达性集成:smt_check_reachability 用可证明的 sat/unsat/unknown 结论驱动检测到验证的流转,而非 LLM 自由裁量
  • 反注入内建:canary 诱饵工具在提示注入或幻觉工具调用触发时告警
  • 无二进制即如实降级:每个能力服务器在扫描器未安装时报告 available: false,不伪造发现
  • 供应商无关模型路由:继承 Codex CLI 的多提供商配置,可换底层模型
局限
  • 重度依赖外部工具链:Rust 构建、Node.js、Python、z3 及多个扫描器二进制缺一即降级,完整能力需要逐个安装
  • CodeQL 不允许商业使用,商用前需审查所有被调用组件的许可
  • 项目自述「非成品软件」:README 与 MANTIS.md 列明有真实缺口,部分流程仍需外部二进制或运行中的目标
  • 仅为 Codex CLI 框架的品牌化改造,上游更新与本项目维护之间的同步成本由使用者承担
  • 自主攻击性安全代理的运行边界要求严格的授权管理,误用于未授权目标的合规风险在用户侧

如何安装或部署这个 Agent?

需要 Rust 工具链(版本见 codex-rs/rust-toolchain.toml)、Node.js(MCP 服务器为纯 Node.js)、Python,以及可选扫描器二进制。步骤:

bash

git clone https://github.com/deonmenezes/mantishack.git
cd mantishack/codex-rs
cargo build --release -p codex-cli

cd ..
# 安装能力目录的底层扫描器(缺了会如实降级,不伪造结果)

pip install semgrep bandit
brew install trufflehog trivy z3 ast-grep
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest

# CodeQL CLI 另行安装:https://github.com/github/codeql-cli-binaries

模型供应商、API key 与按模型设置按上游 Codex CLI 方式配置(见 codex-rs/config.md 与 codex-rs/model-provider/)。

如何使用这个 Agent?

在仓库根目录运行(以便解析项目级 .codex/config.toml):

bash

./codex-rs/target/release/codex

TUI 会播放 Mantis 吉祥物启动动画。代理按 .codex/skills/ 中的 mantis-pipeline 主手册执行流水线;先用目标文件确立范围与授权,授权不明确时仅限只读静态分析。可通过 spawn_agent 角色代理(recon、detector、validator 等)分阶段运行;确认漏洞后才可进入 chain/exploit/fix/verify 阶段,exploiter 默认双重门控关闭。

这个 Agent 与同类方案有什么区别?

与上游 OpenAI Codex CLI 相比,Mantishack 保留其全部框架能力(会话、沙箱、TUI、MCP 客户端),但叠加了漏洞发现专用的 MCP 能力层、角色代理目录、findings 生命周期和授权安全契约;它历史上也改造过基于 Claude Code 的 RAPTOR 框架,但该架构已退役,当前代码树不含 RAPTOR 代码。

常见问题

没有安装全部扫描器能跑吗?
能。MCP 服务器是纯 Node.js,缺底层二进制时对应工具报告 available: false 并如实说明,不会伪造发现;装一个多一个能力。
能用哪些模型?要 OpenAI 吗?
框架继承 Codex CLI 的供应商无关模型路由,可在 codex-rs/config.md 和 codex-rs/model-provider/ 中配置任意提供商、API key 与按模型设置。
它会自动发起攻击吗?
不会默认。exploiter 角色是双重门控且默认关闭,只有确认(confirmed)的漏洞才可能进入利用、修复、验证阶段;授权不明确时应限制为只读静态分析。
商用有什么限制?
项目本体为 Apache-2.0 双版权(上游 Codex CLI 代码 + Menezes 的修改),但被包装的 CodeQL 不允许商业使用,商用前须审查所有被调用组件的许可。
这算成熟产品吗?
不是。README 明确表示这是一个「可用但粗糙」的框架,存在真实缺口,部分功能依赖外部二进制或运行中的目标,路线图(DAST、OOB、fuzzing 等)尚未落地。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents