低调学安全

CyberStrikeAI 新能力:将 Claude Code 当作工具使用

一、引言

CyberStrikeAI 作为 AI 原生安全测试平台,一直致力于将最前沿的 AI 能力与渗透测试工作流深度融合。近期,我们上线了 pent_claude_agent 能力:CyberStrikeAI 可以将 Claude Code(Claude Agent SDK)当作一个可调用的工具来使用。

这是一种「Agent-as-a-Tool」(子 agent 工具化)的架构:主控 AI 不再只是「自己干活」,而是可以把复杂任务整体委托给一个独立的渗透测试子智能体。这个子智能体内部运行 Claude Agent,具备自主推理、多步执行、工具选择与迭代的能力;对主控而言,它则暴露为 MCP 工具接口,像调用 nmap、sqlmap 一样被调用。

Image

二、什么是 pent_claude_agent?

pent_claude_agent 是一个基于 MCP(Model Context Protocol)协议的 MCP 服务,它把 Claude Code 封装成可被 CyberStrikeAI 调用的工具。

本质:pent_claude_agent 本身是一个 agent(内部运行 Claude Agent SDK);对主控来说,它暴露的是 tool 接口。即:对外是工具,对内是 agent。

核心架构

CyberStrikeAI(主控 Agent)
    │
    ├── 自有工具:Bash、nmap、sqlmap、nuclei 等 100+ 工具
    │
    └── pent_claude_agent(MCP 工具,内部为子 Agent)
            │
            └── Claude Agent SDK(渗透测试子智能体)
                    ├── Read / Write / Bash / Grep / Glob
                    ├── 可挂载的 MCP(如 reverse_shell)
                    └── 独立渗透测试工程师角色

工作方式

  1. 1. 主控决策:CyberStrikeAI 主控 Agent 根据用户任务,判断是「自己直接调用工具」还是「委托给 pent_claude_agent」。
  2. 2. 任务下发:通过 pent_claude_run 工具传入任务描述,例如:「对 example.com 做一次完整的 Web 安全测试」。
  3. 3. 子 Agent 执行:pent_claude_agent 内部启动 Claude Agent,自行拆解步骤、选择工具、迭代执行,直到任务完成。
  4. 4. 结果回传:执行结果返回给主控,主控可继续整合、分析或发起下一轮任务。

三、适用场景

何时自己完成(主控直接调用工具)?

  • • 任务简单明确、单步或少量步骤
  • • 已清楚要执行的具体命令

例如:已知要跑 nmap -sV 192.168.1.1、执行某条 curl、读取某文件。成本低、响应快。

何时调用 pent_claude_agent?

  • • 任务需要多步推理、策略选择
  • • 需要根据中间结果动态调整执行路径
  • • 希望「整体委托」给子 Agent

例如:「对 example.com 做一次完整的 Web 安全测试」「分析这份漏洞报告并给出修复建议」。子 Agent 内部使用 Claude,会自行拆解步骤、选工具、迭代执行。


四、能力与优势

1. 双智能体协同(主 Agent 调用子 Agent)

主控 Agent 与 pent_claude_agent(子 Agent)形成「主从协作」:主控负责任务编排与决策,子 Agent 以工具形式被调用,负责复杂、开放域的执行。两者可交替调用,实现更灵活的工作流。

2. 开放域任务理解

pent_claude_agent 能理解自然语言任务描述,无需事先拆解为具体命令。用户只需说「扫描目标 192.168.1.1 的开放端口并分析服务版本」,子 Agent 会自动规划执行路径。

3. 独立配置与扩展

pent_claude_agent 拥有独立的配置文件(pent_claude_agent_config.yaml),可单独配置:

  • • 工作目录:Agent 执行任务时的 cwd
  • • 允许/禁用工具:Read、Write、Bash、Grep、Glob 等
  • • MCP 挂载:可挂载 reverse_shell 等 MCP,扩展能力
  • • 环境变量:API Key、模型等,与主项目解耦
  • • 系统提示词:定义渗透测试工程师的角色与行为

4. 支持多种能力

  • • 渗透测试:端口扫描、漏洞探测、Web 安全测试、信息收集
  • • 漏洞分析:CVE、PoC、风险等级、修复建议
  • • 安全诊断:URL/IP/域名初步评估

5. 标准 MCP 协议

pent_claude_agent 采用标准 MCP stdio 协议,不仅可在 CyberStrikeAI 中使用,也可在 Cursor、VS Code、Claude Code 等任意支持 MCP 的客户端中接入。


五、当前不足与限制

1. 成本较高

每次调用 pent_claude_agent 都会启动 Claude Agent,产生额外的 API 消耗。对于简单、单步任务,建议优先由主控直接调用工具完成。

2. 执行时长

渗透测试任务可能涉及多轮迭代,单次调用耗时较长。建议将 timeout 设置为 300 秒或更高,并注意网络与 API 稳定性。

3. 依赖配置

需要单独安装 claude-agent-sdk,并正确配置 ANTHROPIC_API_KEY 等环境变量。若未配置,会返回明确的错误提示。

4. 状态与可观测性

当前 Agent 状态(最近任务、结果摘要)通过 pent_claude_run("status") 或「获取状态」获取,尚不支持实时进度流式输出。

5. 授权与安全

pent_claude_agent 默认假设「已获得全部授权」,实际使用中需在配置中明确授权范围,并仅在隔离的测试环境中使用。


六、快速接入

在 CyberStrikeAI 中接入

  1. 1. 打开 Web 界面 → 设置 → 外部 MCP → 添加外部 MCP
  2. 2. 填入以下 JSON(将路径替换为你的实际路径):
{
"pent-claude-agent":{
"command":"/path/to/CyberStrikeAI-main/venv/bin/python3",
"args":[
"/path/to/CyberStrikeAI-main/mcp-servers/pent_claude_agent/mcp_pent_claude_agent.py",
"--config",
"/path/to/CyberStrikeAI-main/mcp-servers/pent_claude_agent/pent_claude_agent_config.yaml"
],
"description":"渗透测试工程师:下发任务后独立执行并返回结果",
"timeout":300,
"external_mcp_enable":true
}
}
  1. 3. 保存后点击该 MCP 的 启动,即可在对话中通过 AI 调用 pent_claude_run 工具。

配置 pent_claude_agent

编辑 pent_claude_agent_config.yaml,配置 ANTHROPIC_API_KEY、allowed_tools、system_prompt 等。路径占位符 ${PROJECT_ROOT} 表示 CyberStrikeAI 项目根目录。


七、持续迭代计划

pent_claude_agent 是 CyberStrikeAI 在「AI 驱动渗透测试」方向上的一次探索,我们会持续迭代:

  • • 性能优化:减少不必要的 API 调用,支持更细粒度的任务拆分
  • • 可观测性增强:支持执行进度流式输出、更丰富的状态查询
  • • 能力扩展:支持更多 MCP 挂载、更灵活的工具配置
  • • 成本控制:提供任务复杂度评估与调用建议,帮助用户平衡成本与效果

欢迎社区反馈使用体验与需求,共同推动这一能力走向成熟。


八、总结

CyberStrikeAI 现已支持将 Claude Code 当作工具使用,通过 pent_claude_agent 实现「Agent-as-a-Tool」:主控 Agent 调用渗透测试子 Agent,子 Agent 以 MCP 工具形式对外暴露。对于需要多步推理、策略选择或整体委托的复杂任务,这是一个强有力的补充;对于简单任务,主控直接调用工具仍是更经济的选择。

我们期待这一能力能为安全团队带来更高效、更智能的测试体验,并将在后续版本中持续优化与扩展。


相关链接

  • • https://github.com/Ed1s0nZ/CyberStrikeAI