用途:在验证阶段之后运行,把单独看危害有限的已验证安全发现组合成多步利用链,例如路径穿越加宽松权限导致 RCE、存储型 XSS 加 CSRF 导致账户接管、信息泄露加缓冲区溢出绕过 ASLR。
主要能力:读取 workspace/findings/ 中 status 为 VALID 且 viability 为 VIABLE、CONDITIONAL_VIABLE 或 SAMPLE_OR_TEST 的发现,以及 workspace/kb/entities/ 与 workspace/kb/vulnerabilities/ 中的知识库原语;分析各发现的前置与后置条件,寻找 A 的输出或副作用满足 B 触发条件的组合;生成新的链式发现文件,写入 workspace/findings/<new_uuid>.json,原发现保持不变。链式发现通过 constituent_findings 数组记录组成链的发现 UUID。
使用方式:命令 /mantis-chain,参数均可选,由编排器按生命周期契约提供,包括 --snapshot_root、--snapshot_id、--state_root、--target_root。运行前先做定位解析:确定 CODE_ROOT,优先级为 --target_root、--snapshot_root、状态文件中的 active_snapshot,最后回退当前目录并进入 MODE-OFF。快照固定时需校验 .mantis_snapshot_id 哨兵;快照固定时不得在 CODE_ROOT 下写入,编译或生成产物须在私有影子副本中执行。
限制:至少需要 2 个通过快照匹配的合格组成发现,否则不构建链。快照匹配检查要求发现的 discovery_commit 与 SNAPSHOT_ID 完全相等,缺失、为空或为 MIXED 均视为不匹配。active_snapshot 存在但 snapshot_pinned 为 false 时进入 HALT,不产出任何链。写入前做幂等检查,扫描当前 findings 目录及归档目录,按有序组成序列去重;有 signature 时比较有序签名序列并以逐组成发现的 code_paths(含行号)作为区分条件,无 signature 时回退比较 UUID 序列。MODE-OFF 下省略 discovery_commit;组成发现提交不一致或缺失时写为 MIXED。其他细节暂未提供。