mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-04 13:28:03 +02:00
86 lines
3.4 KiB
Markdown
86 lines
3.4 KiB
Markdown
# Pent Claude Agent MCP
|
||
|
||
[English](README.md)
|
||
|
||
AI 驱动的**渗透测试工程师** MCP 服务。CyberStrikeAI 可指挥 pent_claude_agent 执行渗透测试任务、分析漏洞、进行安全诊断。Agent 内部使用 Claude Agent SDK,可独立配置 MCP、工具等,作为独立的渗透测试工程师运行。
|
||
|
||
## 工具说明
|
||
|
||
| 工具 | 说明 |
|
||
|------|------|
|
||
| `pent_claude_run_pentest_task` | 执行渗透测试任务,Agent 独立执行并返回结果。 |
|
||
| `pent_claude_analyze_vulnerability` | 分析漏洞信息并给出修复建议。 |
|
||
| `pent_agent_execute` | 执行指定任务,Agent 自动选择工具和方法。 |
|
||
| `pent_agent_diagnose` | 对目标(URL、IP、域名)进行安全诊断。 |
|
||
| `pent_claude_status` | 获取 pent_claude_agent 的当前状态。 |
|
||
|
||
## 依赖
|
||
|
||
- Python 3.10+
|
||
- `mcp`、`claude-agent-sdk`、`pyyaml`(使用项目 venv 时已包含;单独运行需:`pip install mcp claude-agent-sdk pyyaml`)
|
||
|
||
## 配置
|
||
|
||
Agent 默认使用本目录下的 `pent_claude_agent_config.yaml`。可通过以下方式覆盖:
|
||
|
||
- 启动 MCP 时传入 `--config /path/to/config.yaml`
|
||
- 环境变量 `PENT_CLAUDE_AGENT_CONFIG`
|
||
|
||
配置项(参见 `pent_claude_agent_config.yaml`):
|
||
|
||
- `cwd`: Agent 工作目录
|
||
- `allowed_tools`: Agent 可用的工具(Read、Write、Bash、Grep、Glob 等)
|
||
- `mcp_servers`: Agent 可挂载的 MCP 服务器(如 reverse_shell)
|
||
- `env`: 环境变量(API Key 等)
|
||
- `system_prompt`: 角色与行为定义
|
||
|
||
路径占位符:`${PROJECT_ROOT}` = CyberStrikeAI 项目根目录,`${SCRIPT_DIR}` = 本脚本所在目录。
|
||
|
||
## 在 CyberStrikeAI 中接入
|
||
|
||
1. **路径**
|
||
例如项目根为 `/path/to/CyberStrikeAI-main`,则脚本路径为:
|
||
`/path/to/CyberStrikeAI-main/mcp-servers/pent_claude_agent/mcp_pent_claude_agent.py`
|
||
|
||
2. **Web 界面** → **设置** → **外部 MCP** → **添加外部 MCP**,填入以下 JSON(将路径替换为你的实际路径):
|
||
|
||
```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
|
||
}
|
||
}
|
||
```
|
||
|
||
- `command`:建议使用项目 **venv** 中的 Python,或系统 `python3`。
|
||
- `args`:**必须使用绝对路径** 指向 `mcp_pent_claude_agent.py`。如需指定配置可追加 `--config` 及配置路径。
|
||
- `timeout`:建议 300(渗透测试任务可能较长)。
|
||
- 保存后点击该 MCP 的 **启动**,即可在对话中通过 AI 调用上述工具。
|
||
|
||
3. **使用流程示例**
|
||
- CyberStrikeAI 调用 `pent_claude_run_pentest_task("扫描目标 192.168.1.1 的开放端口")`。
|
||
- pent_claude_agent 内部启动 Claude Agent,可能使用 Bash、nmap 等工具执行。
|
||
- 结果返回给 CyberStrikeAI。
|
||
|
||
## 本地单独运行(可选)
|
||
|
||
```bash
|
||
# 在项目根目录,使用 venv
|
||
./venv/bin/python mcp-servers/pent_claude_agent/mcp_pent_claude_agent.py
|
||
```
|
||
|
||
进程通过 stdio 与 MCP 客户端通信;CyberStrikeAI 以 stdio 方式启动该脚本时行为相同。
|
||
|
||
## 安全提示
|
||
|
||
- 仅在有授权、隔离的测试环境中使用。
|
||
- 配置中的 API Key 需妥善保管;生产环境建议使用环境变量。
|