Cochise: A Reference Harness for Autonomous Penetration Testing
作者: Andreas Happe, Jürgen Cito
分类: cs.CR, cs.AI, cs.SE
发布日期: 2026-05-12
💡 一句话要点
Cochise:用于自主渗透测试的参考框架,促进模型、架构和轨迹对比研究。
🎯 匹配领域: 支柱四:生成式动作 (Generative Motion)
关键词: 自主渗透测试 LLM驱动智能体 参考框架 实验平台 安全测试
📋 核心要点
- 现有自主渗透测试系统集成多种架构、提示和工具选择,难以评估单一改进的效果。
- Cochise提供了一个精简的参考框架,分离规划器和执行器,长期状态在LLM外维护,便于控制和分析。
- 通过在GOAD测试床上评估,并提供回放、分析工具和轨迹日志,方便研究人员复现和比较实验结果。
📝 摘要(中文)
本文提出Cochise,一个597行的Python参考框架,用于自主渗透测试实验。Cochise通过SSH将LLM驱动的智能体连接到Linux执行主机,并支持从该跳板机访问的可控目标环境。该原型实现了一个分离的规划器-执行器架构,其中长期状态维护在LLM上下文之外,而ReAct风格的执行器通过SSH发出命令并根据命令输出进行自我纠正。场景提示可以适应不同的目标环境。为了证明该框架的有效性,作者在名为Game of Active Directory (GOAD)的第三方测试平台上对其进行了评估。此外,还发布了回放和分析工具:(i) cochise-replay用于离线可视化捕获的运行轨迹,(ii) cochise-analyze-alogs和cochise-analyze-graphs用于成本、token、持续时间和compromise分析,以及(iii) 来自GOAD运行的JSON轨迹日志语料库,允许研究人员研究智能体行为,而无需自己配置48--64 GB RAM / 190 GB存储的测试平台。Cochise并非旨在成为最先进的渗透测试智能体,而是作为可重用的实验基础设施,用于比较模型、智能体架构和渗透测试轨迹。
🔬 方法详解
问题定义:现有基于LLM的自主渗透测试研究通常将多种技术选择(如架构、提示工程、工具集成)耦合在一起,难以区分各个组件对最终性能的贡献。研究人员难以评估特定模型、架构或提示策略的有效性,也缺乏统一的实验平台进行公平比较。
核心思路:Cochise的核心思路是提供一个最小化的、可控的参考框架,将LLM驱动的智能体与目标环境隔离,并提供清晰的接口进行交互。通过分离规划器和执行器,将长期状态维护在LLM上下文之外,降低了LLM的负担,并提高了可控性。同时,提供回放和分析工具,方便研究人员复现实验、分析智能体行为,并进行公平比较。
技术框架:Cochise的整体架构包含以下主要模块:1) LLM驱动的规划器:负责制定渗透测试计划。2) ReAct风格的执行器:负责执行计划,通过SSH与目标环境交互,并根据命令输出进行自我纠正。3) Linux执行主机:作为跳板机,连接LLM智能体和目标环境。4) 可控目标环境:例如GOAD,提供真实的渗透测试场景。5) 回放和分析工具:用于离线可视化运行轨迹、分析成本、token使用量、持续时间和compromise情况。
关键创新:Cochise的关键创新在于其作为参考框架的设计理念,而非提出新的渗透测试算法。它提供了一个最小化的、可控的实验环境,方便研究人员比较不同的LLM模型、智能体架构和渗透测试轨迹。通过提供回放和分析工具,降低了研究门槛,促进了该领域的可重复研究。
关键设计:Cochise使用Python编写,代码量仅为597行,易于理解和修改。它采用分离的规划器-执行器架构,其中规划器负责生成高级别的渗透测试计划,执行器负责将计划分解为具体的命令并执行。执行器采用ReAct风格,根据命令输出来调整后续行动。场景提示可以根据不同的目标环境进行定制。Cochise还提供了详细的日志记录功能,方便研究人员分析智能体的行为。
🖼️ 关键图片
📊 实验亮点
Cochise在Game of Active Directory (GOAD)测试平台上进行了评估,证明了其作为渗透测试框架的有效性。虽然论文没有提供具体的性能数据,但强调了Cochise作为可重用实验基础设施的价值,它降低了研究门槛,促进了该领域的可重复研究,并为未来的性能比较提供了基准。
🎯 应用场景
Cochise可应用于自主渗透测试算法的开发与评估,为安全研究人员提供了一个标准化的实验平台,用于比较不同LLM模型、智能体架构和渗透测试策略的性能。它还可以用于教育领域,帮助学生理解和实践渗透测试技术。此外,Cochise提供的回放和分析工具可以用于分析真实攻击事件,提高安全防御能力。
📄 摘要(原文)
Recent work on LLM-driven autonomous penetration testing reports promising results, but existing systems often combine many architectural, prompting, and tool-integration choices, making it difficult to tell what is gained over a simple agent scaffold. We present cochise, a 597 LOC Python reference harness for autonomous penetration-testing experiments. Cochise connects an LLM-driven agent to a Linux execution host over SSH and supports controlled target environments reachable from that jump host. The prototype implements a separated Planner--Executor architecture in which long-term state is maintained outside the LLM context, while a ReAct-style executor issues commands over SSH and self-corrects based on command outputs. The scenario prompt can be adapted to different target environments. To demonstrate the efficacy of our minimal harness, we evaluate it against a live third-party testbed called Game of Active Directory (GOAD). Alongside the harness, we release replay and analysis tools: (i) cochise-replay for offline visualization of captured runs, (ii) cochise-analyze-alogs and cochise-analyze-graphs for cost, token, duration, and compromise analysis, and (iii) a corpus of JSON trajectory logs from GOAD runs, allowing researchers to study agent behavior without provisioning the 48--64 GB RAM / 190 GB storage testbed themselves. Cochise is intended not as a state-of-the-art pen-testing agent, but as reusable experimental infrastructure for comparing models, agent architectures, and penetration-testing traces.