用途:作为 Mantis 流水线的复现阶段(Integration Test Engineer 角色),针对已存在的可行发现(findings)编写并执行崩溃复现脚本或原始输入载荷,以实证验证安全缺陷。
主要能力:读取 state_root/workspace/findings/ 中的可行/条件可行发现,分析 target_root 源码触发路径,生成 PoC 文件(如 poc_[uuid].py 或 crash_[uuid].payload)并写入 state_root/workspace/reproducers/;正常运行时回写 repro_status、repro_file_path、run_command、repro_output 等字段,临时有效则置为 VALID;使用 --reattack 时回写 reattack_* 字段用于补丁验证。支持快照感知:发现快照不匹配时重新生成 PoC,无 reached-sink 证据时拒绝给出否定结论。通过 .repro_attempts.lock 文件锁与原子临时文件替换保证并发安全与重试稳定。
使用方式:命令为 /mantis-reproduce [--reattack] [--finding_id=<uuid>] [--force] [--target_root=<path>] [--state_root=<path>] [--snapshot_root=<path>] [--snapshot_id=<SNAPSHOT_ID>] [--snapshot_pinned=<true|false>]。--reattack 需配合 --finding_id;--force 可绕过定向正常运行的资格检查;--target_root 为权威路径并跳过哨兵检查。所有复现执行必须在容器/沙箱中隔离运行,禁止在宿主终端直接执行;编译与测试须在私有构建影子目录(mktemp -d)中进行,不得以 CODE_ROOT 为工作目录。C/C++ 内存安全目标建议使用 -fsanitize=address,undefined,数据竞争加 -fsanitize=thread,且基线、攻击、再攻击须使用相同 sanitizer 标志。
适用场景:安全审计中需要实证验证漏洞、补丁后再攻击验证、以及生成可复现 PoC 的流程。
限制:需已存在 findings 且具备沙箱/容器运行时;--reattack 要求发现状态为 VALID 或 PROVISIONALLY_VALID、repro_status 为 reproduced 且 patch_status 非 MITIGATION_PROPOSED;快照哨兵不匹配时停止;MSan 需全依赖链插桩,否则回退 ASan+UBSan。具体收费、平台支持等信息暂未提供。