mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-03-31 08:19:54 +02:00
ae1f2531c9b0d4159d6117a3cc7328f2312808bd
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
安装步骤
- 克隆项目
cd /Users/temp/Desktop/wenjian/tools/CyberStrikeAI
- 安装依赖
go mod download
- 配置
编辑
config.yaml文件,设置您的OpenAI API Key:
openai:
api_key: "sk-your-api-key-here"
base_url: "https://api.openai.com/v1"
model: "gpt-4"
- 启动服务器
方式一:使用启动脚本
./run.sh
方式二:直接运行
go run cmd/server/main.go
方式三:编译后运行
go build -o cyberstrike-ai cmd/server/main.go
./cyberstrike-ai
- 访问应用 打开浏览器访问: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
使用示例
对话式渗透测试
在"对话测试"标签页中,您可以:
-
网络扫描
扫描 192.168.1.1 的开放端口 -
SQL注入检测
检测 https://example.com 的SQL注入漏洞 -
Web漏洞扫描
扫描 https://example.com 的Web服务器漏洞 -
目录扫描
扫描 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协议
本项目实现了MCP(Model 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权限
开发
添加新工具
- 在
config.yaml中添加工具配置 - 在
internal/security/executor.go的buildCommandArgs方法中添加参数构建逻辑 - 在
internal/agent/agent.go的getAvailableTools方法中添加工具定义
构建
go build -o cyberstrike-ai cmd/server/main.go
许可证
本项目仅供学习和研究使用。
贡献
欢迎提交Issue和Pull Request!
Description
No description provided
aiai-agentsai-cybersecurityai-hackingai-penetration-testingai-security-toolctf-toolsmcppentesting-tools
Readme
Apache-2.0
193 MiB
Languages
Go
39.5%
JavaScript
38.7%
CSS
10.1%
HTML
8.4%
Java
1.9%
Other
1.4%