2025-11-08 21:34:45 +08:00
2025-11-08 20:32:50 +08:00
2025-11-08 21:34:45 +08:00
2025-11-08 21:25:09 +08:00
2025-11-08 20:32:50 +08:00
2025-11-08 21:25:09 +08:00
2025-11-08 20:32:50 +08:00
2025-11-08 18:56:23 +08:00
2025-11-08 18:56:23 +08:00
2025-11-08 18:56:23 +08:00
2025-11-08 18:56:23 +08:00

CyberStrikeAI

基于Golang和Gin框架的AI驱动自主渗透测试平台使用MCP协议集成安全工具。

功能特性

  • 🤖 AI代理连接 - 支持Claude、GPT等兼容MCP的AI代理通过FastMCP协议连接
  • 🧠 智能分析 - 决策引擎分析目标并选择最佳测试策略
  • 自主执行 - AI代理执行全面的安全评估
  • 🔄 实时适应 - 系统根据结果和发现的漏洞进行调整
  • 📊 高级报告 - 可视化方式输出漏洞卡片和风险分析
  • 💬 对话式交互 - 前端以对话形式调用后端agent-loop
  • 📈 实时监控 - 监控安全工具的执行状态、结果、调用次数等

项目结构

CyberStrikeAI/
├── cmd/
│   └── server/
│       └── main.go          # 程序入口
├── internal/
│   ├── agent/               # AI代理模块
│   ├── app/                 # 应用初始化
│   ├── config/              # 配置管理
│   ├── handler/             # HTTP处理器
│   ├── logger/              # 日志系统
│   ├── mcp/                 # MCP协议实现
│   └── security/            # 安全工具执行器
├── web/
│   ├── static/              # 静态资源
│   │   ├── css/
│   │   └── js/
│   └── templates/           # HTML模板
├── config.yaml              # 配置文件
├── go.mod                   # Go模块文件
└── README.md                # 说明文档

快速开始

前置要求

  • Go 1.21 或更高版本
  • OpenAI API Key或其他兼容OpenAI协议的API
  • 安全工具可选nmap, sqlmap, nikto, dirb

安装步骤

  1. 克隆项目
cd /Users/temp/Desktop/wenjian/tools/CyberStrikeAI
  1. 安装依赖
go mod download
  1. 配置 编辑 config.yaml 文件设置您的OpenAI API Key
openai:
  api_key: "sk-your-api-key-here"
  base_url: "https://api.openai.com/v1"
  model: "gpt-4"
  1. 启动服务器

方式一:使用启动脚本

./run.sh

方式二:直接运行

go run cmd/server/main.go

方式三:编译后运行

go build -o cyberstrike-ai cmd/server/main.go
./cyberstrike-ai
  1. 访问应用 打开浏览器访问:http://localhost:8080

配置说明

服务器配置

server:
  host: "0.0.0.0"
  port: 8080

MCP配置

mcp:
  enabled: true
  host: "0.0.0.0"
  port: 8081

安全工具配置

security:
  tools:
    - name: "nmap"
      command: "nmap"
      args: ["-sV", "-sC"]
      description: "网络扫描工具"
      enabled: true

使用示例

对话式渗透测试

在"对话测试"标签页中,您可以:

  1. 网络扫描

    扫描 192.168.1.1 的开放端口
    
  2. SQL注入检测

    检测 https://example.com 的SQL注入漏洞
    
  3. Web漏洞扫描

    扫描 https://example.com 的Web服务器漏洞
    
  4. 目录扫描

    扫描 https://example.com 的隐藏目录
    

监控工具执行

在"工具监控"标签页中,您可以:

  • 查看所有工具的执行统计
  • 查看详细的执行记录
  • 查看发现的漏洞列表
  • 实时监控工具状态

API接口

Agent Loop API

POST /api/agent-loop

请求体:

{
  "message": "扫描 192.168.1.1"
}

使用示例:

curl -X POST http://localhost:8080/api/agent-loop \
  -H "Content-Type: application/json" \
  -d '{"message": "扫描 192.168.1.1"}'

监控API

  • GET /api/monitor - 获取所有监控信息
  • GET /api/monitor/execution/:id - 获取特定执行记录
  • GET /api/monitor/stats - 获取统计信息
  • GET /api/monitor/vulnerabilities - 获取漏洞列表

使用示例:

# 获取所有监控信息
curl http://localhost:8080/api/monitor

# 获取统计信息
curl http://localhost:8080/api/monitor/stats

# 获取漏洞列表
curl http://localhost:8080/api/monitor/vulnerabilities

MCP接口

POST /api/mcp - MCP协议端点

MCP协议

本项目实现了MCPModel Context Protocol协议支持

  • initialize - 初始化连接
  • tools/list - 列出可用工具
  • tools/call - 调用工具

工具调用是异步执行的,系统会跟踪每个工具的执行状态和结果。

MCP协议使用示例

初始化连接

curl -X POST http://localhost:8080/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": {
        "name": "test-client",
        "version": "1.0.0"
      }
    }
  }'

列出工具

curl -X POST http://localhost:8080/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "2",
    "method": "tools/list"
  }'

调用工具

curl -X POST http://localhost:8080/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "3",
    "method": "tools/call",
    "params": {
      "name": "nmap",
      "arguments": {
        "target": "192.168.1.1",
        "ports": "1-1000"
      }
    }
  }'

安全工具支持

当前支持的安全工具:

  • nmap - 网络扫描
  • sqlmap - SQL注入检测
  • nikto - Web服务器扫描
  • dirb - 目录扫描

可以通过修改 config.yaml 添加更多工具。

故障排除

问题无法连接到OpenAI API

  • 检查API Key是否正确
  • 检查网络连接
  • 检查base_url配置

问题:工具执行失败

  • 确保已安装相应的安全工具nmap, sqlmap等
  • 检查工具是否在PATH中
  • 某些工具可能需要root权限

问题:前端无法加载

  • 检查服务器是否正常运行
  • 检查端口8080是否被占用
  • 查看浏览器控制台错误信息

安全注意事项

⚠️ 重要提示

  • 仅对您拥有或已获得授权的系统进行测试
  • 遵守相关法律法规
  • 建议在隔离的测试环境中使用
  • 不要在生产环境中使用
  • 某些安全工具可能需要root权限

开发

添加新工具

  1. config.yaml 中添加工具配置
  2. internal/security/executor.gobuildCommandArgs 方法中添加参数构建逻辑
  3. internal/agent/agent.gogetAvailableTools 方法中添加工具定义

构建

go build -o cyberstrike-ai cmd/server/main.go

许可证

本项目仅供学习和研究使用。

贡献

欢迎提交Issue和Pull Request

Languages
Go 39.5%
JavaScript 38.7%
CSS 10.1%
HTML 8.3%
Java 1.9%
Other 1.5%