用途:Mantis Researcher(命令 /mantis-researcher)是 Mantis 工作流中的代码审计阶段,依据 workspace/plan.json 中的策略对生产源码文件做快速分诊与深度审查,目标是发现边界检查、前置条件、缺失的净化处理以及接口违规等问题。
主要能力:读取 plan.json、.mantis_state.json、kb_references 中的 Markdown 知识库文件、目标源码,以及结构索引清单;支持基于快照的路径解析(--snapshot_root、--snapshot_id、--state_root、--target_root),并做哨兵校验;支持波次式并行子代理:第一波轻量快速分诊,第二波对热点文件深度审计,可对同一文件用不同约束或多个模型并行探索;可选使用结构索引辅助排序(仅作提示,不替代全量 grep 调用点扫描);对声明了尺寸约束或安全要求的公开/API 函数做全仓库调用点审查;支持无约束的探索性审计。
使用方式:由编排器传入可选参数;若全部缺省则进入降级/legacy 模式,CODE_ROOT 回退到当前目录,snapshot_pinned 视为 false,不写入 discovery_commit。发现以独立文件写入 workspace/findings/<uuid>.json,每条发现计算 signature、lineage_id,可选 cwe,并写入 discovery_commit。结构索引查询示例:python3 workspace/helpers/query_structural_index.py resolve_symbol --name "<function_name>" --state_root <state_root>;find_callers --symbol_id "<id>" --limit 100 --offset 0 --state_root <state_root>。
适用场景:已有审查计划、需要对代码库做内存安全、逻辑正确性与健壮性审查时使用。
限制:快照固定时不得在 CODE_ROOT 下写入、编译或生成产物,须在私有影子副本中执行;子代理不得执行 git pull/fetch/checkout/reset 等改变工作树的命令;结构索引缺失或不可用时回退到 grep;具体收费、价格与平台支持情况暂未提供。