Ed1s0nZ/CyberStrikeAI
GitHub: Ed1s0nZ/CyberStrikeAI
基于 Go 构建的 AI 原生安全测试平台,集成百种工具与智能编排引擎,通过自然语言驱动渗透测试全流程自动化。
Stars: 1774 | Forks: 323
### 系统仪表板概览
*仪表板全面展示了系统运行状态、安全漏洞、工具使用情况和知识库,帮助用户快速了解平台的核心功能与当前状态。*
### 核心功能概览
## 亮点
- 🤖 具备 OpenAI 兼容模型(GPT、Claude、DeepSeek 等)的 AI 决策引擎
- 🔌 原生 MCP 实现,支持 HTTP/stdio/SSE 传输协议及外部 MCP 联邦
- 🧰 100 多个预构建工具配方 + 基于 YAML 的扩展系统
- 📄 大结果集分页、压缩及可搜索归档
- 🔗 攻击链图谱、风险评分及逐步回放
- 🔒 密码保护的 Web UI、审计日志及 SQLite 持久化
- 📚 包含向量搜索和混合检索的知识库,用于安全专业知识
- 📁 会话分组支持置顶、重命名及批量管理
- 🛡️ 漏洞管理支持 CRUD 操作、严重程度跟踪、状态流转及统计
- 📋 批量任务管理:创建任务队列,添加多项任务并按顺序执行
- 🎭 基于角色的测试:预定义安全测试角色(渗透测试、CTF、Web 应用扫描等),支持自定义提示词和工具限制
- 🎯 技能系统:20 多个预定义安全测试技能(SQL 注入、XSS、API 安全等),可附加到角色或由 AI agents 按需调用
- 📱 **聊天机器人**:钉钉和飞书长连接支持,让您可以从移动端与 CyberStrikeAI 对话(设置和命令详见 [机器人 / 聊天机器人指南](docs/robot_en.md))
## 工具概览
CyberStrikeAI 内置 100 多种精选工具,覆盖整个杀伤链:
- **网络扫描器** – nmap, masscan, rustscan, arp-scan, nbtscan
- **Web 与应用扫描器** – sqlmap, nikto, dirb, gobuster, feroxbuster, ffuf, httpx
- **漏洞扫描器** – nuclei, wpscan, wafw00f, dalfox, xsser
- **子域名枚举** – subfinder, amass, findomain, dnsenum, fierce
- **网络空间搜索引擎** – fofa_search, zoomeye_search
- **API 安全** – graphql-scanner, arjun, api-fuzzer, api-schema-analyzer
- **容器安全** – trivy, clair, docker-bench-security, kube-bench, kube-hunter
- **云安全** – prowler, scout-suite, cloudmapper, pacu, terrascan, checkov
- **二进制分析** – gdb, radare2, ghidra, objdump, strings, binwalk
- **漏洞利用** – metasploit, msfvenom, pwntools, ropper, ropgadget
- **密码破解** – hashcat, john, hashpump
- **取证分析** – volatility, volatility3, foremost, steghide, exiftool
- **后渗透** – linpeas, winpeas, mimikatz, bloodhound, impacket, responder
- **CTF 工具** – stegsolve, zsteg, hash-identifier, fcrackzip, pdfcrack, cyberchef
- **系统辅助** – exec, create-file, delete-file, list-files, modify-file
## 基本用法
### 快速开始(一键部署)
**前置条件:**
- Go 1.21+ ([安装](https://go.dev/dl/))
- Python 3.10+ ([安装](https://www.python.org/downloads/))
**一键部署:**
```
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI-main
chmod +x run.sh && ./run.sh
```
`run.sh` 脚本将自动:
- ✅ 检查并验证 Go 和 Python 环境
- ✅ 创建 Python 虚拟环境
- ✅ 安装 Python 依赖
- ✅ 下载 Go 依赖
- ✅ 构建项目
- ✅ 启动服务器
**首次配置:**
1. **配置 OpenAI 兼容 API**(首次使用前必填)
- 启动后打开 http://localhost:8080
- 进入 `Settings` → 填写您的 API 凭证:
openai:
api_key: "sk-your-key"
base_url: "https://api.openai.com/v1" # 或 https://api.deepseek.com/v1
model: "gpt-4o" # 或 deepseek-chat, claude-3-opus 等
- 或在启动前直接编辑 `config.yaml`
2. **登录** - 使用控制台显示的自动生成密码(或在 `config.yaml` 中设置 `auth.password`)
3. **安装安全工具(可选)** - 按需安装工具:
# macOS
brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass
# Ubuntu/Debian
sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster
当工具缺失时,AI 会自动回退到替代方案。
**其他启动方式:**
```
# Direct Go run(需 Manual setup)
go run cmd/server/main.go
# Manual build
go build -o cyberstrike-ai cmd/server/main.go
./cyberstrike-ai
```
**注意:** Python 虚拟环境(`venv/`)由 `run.sh` 自动创建和管理。需要 Python 的工具(如 `api-fuzzer`、`http-framework-test` 等)将自动使用此环境。
### 核心工作流
- **对话测试** – 自然语言提示词触发工具链,支持 SSE 流式输出。
- **基于角色的测试** – 从预定义的安全测试角色(渗透测试、CTF、Web 应用扫描、API 安全测试等)中选择,以自定义 AI 行为和工具可用性。每个角色应用自定义系统提示词,并可限制可用工具以适应特定测试场景。
- **工具监控** – 检查运行中的任务、执行日志和大结果附件。
- **历史与审计** – 每次对话和工具调用都存储在 SQLite 中并支持回放。
- **会话分组** – 将对话组织到分组中,通过右键菜单置顶重要分组、重命名或删除分组。
- **漏洞管理** – 创建、更新和跟踪测试期间发现的漏洞。按严重程度(critical/high/medium/low/info)、状态(open/confirmed/fixed/false_positive)和会话筛选。查看统计信息并导出发现。
- **批量任务管理** – 创建包含多项任务的任务队列,执行前添加或编辑任务,并按顺序运行。每项任务作为独立会话执行,具有状态跟踪(pending/running/completed/failed/cancelled)和完整执行历史。
- **设置** – 调整提供商密钥、MCP 启用、工具开关及 agent 迭代限制。
### 内置安全防护
- 必填字段验证防止意外留空 API 凭证。
- 当 `auth.password` 为空时自动生成强密码。
- 统一的身份验证中间件用于每个 Web/API 调用(Bearer token 流程)。
- 每个工具的超时和沙箱防护,以及用于排查的结构化日志。
## 高级用法
### 基于角色的测试
- **预定义角色** – 系统在 `roles/` 目录中包含 12 个以上预定义安全测试角色(渗透测试、CTF、Web 应用扫描、API 安全测试、二进制分析、云安全审计等)。
- **自定义提示词** – 每个角色可以定义一个附加在用户消息之前的 `user_prompt`,引导 AI 采用专门的测试方法和关注领域。
- **工具限制** – 角色可以指定 `tools` 列表以限制可用工具,确保聚焦的测试工作流(例如,CTF 角色限制为 CTF 专用工具)。
- **技能集成** – 角色可以附加安全测试技能。技能名称作为提示添加到系统提示词中,AI agents 可以使用 `read_skill` 工具按需访问技能内容。
- **轻松创建角色** – 通过向 `roles/` 目录添加 YAML 文件来创建自定义角色。每个角色定义 `name`、`description`、`user_prompt`、`icon`、`tools`、`skills` 和 `enabled` 字段。
- **Web UI 集成** – 从聊天界面的下拉菜单中选择角色。角色选择同时影响 AI 行为和可用工具建议。
**创建自定义角色(示例):**
1. 在 `roles/` 中创建一个 YAML 文件(例如 `roles/custom-role.yaml`):
name: Custom Role
description: Specialized testing scenario
user_prompt: You are a specialized security tester focusing on API security...
icon: "\U0001F4E1"
tools:
- api-fuzzer
- arjun
- graphql-scanner
skills:
- api-security-testing
- sql-injection-testing
enabled: true
2. 重启服务器或重新加载配置;该角色将出现在角色选择器下拉菜单中。
### 技能系统
- **预定义技能** – 系统在 `skills/` 目录中包含 20 多个预定义安全测试技能(SQL 注入、XSS、API 安全、云安全、容器安全等)。
- **提示词中的技能提示** – 当选中某个角色时,附加到该角色的技能名称会作为推荐添加到系统提示词中。技能内容不会自动注入;AI agents 必须使用 `read_skill` 工具在需要时访问技能详情。
- **按需访问** – AI agents 也可以使用内置工具(`list_skills`、`read_skill`)按需访问技能,允许在任务执行期间动态检索技能。
- **结构化格式** – 每个技能是一个目录,包含一个 `SKILL.md` 文件,其中包含详细的测试方法、工具使用、最佳实践和示例。技能支持 YAML front matter 用于元数据。
- **自定义技能** – 通过向 `skills/` 目录添加目录来创建自定义技能。每个技能目录应包含一个 `SKILL.md` 文件用于存放技能内容。
**创建自定义技能:**
1. 在 `skills/` 中创建一个目录(例如 `skills/my-skill/`)
2. 在该目录中创建一个 `SKILL.md` 文件,包含技能内容
3. 通过将技能添加到角色 YAML 文件中的 `skills` 字段,将其附加到角色
### 工具编排与扩展
- `tools/*.yaml` 中的 **YAML 配方** 描述了命令、参数、提示词和元数据。
- **目录热重载** – 通常只需将 `security.tools_dir` 指向一个文件夹即可;`config.yaml` 中的内联定义仍然支持用于快速实验。
- **大结果集分页** – 超过 200 KB 的输出将作为工件存储,可通过 `query_execution_result` 工具检索,支持分页、过滤和正则搜索。
- **结果压缩** – 多兆字节的日志可以在持久化之前进行摘要或无损压缩,以保持 SQLite 精简。
**创建自定义工具(典型流程)**
1. 从 `tools/` 复制一个现有 YAML 文件(例如 `tools/sample.yaml`)。
2. 更新 `name`、`command`、`args` 和 `short_description`。
3. 在 `parameters[]` 中描述位置参数或标志参数,以便 agent 知道如何构建 CLI 参数。
4. 如果 agent 需要额外的上下文或后处理提示,请提供更长的 `description`/`notes` 块。
5. 重启服务器或重新加载配置;新工具立即可用,并可从设置面板启用/禁用。
### 攻击链智能
- AI 解析每次对话以汇总目标、工具、漏洞和关系。
- Web UI 将链渲染为交互式图谱,包含严重程度评分和步骤回放。
- 将链或原始发现导出到外部报告流水线。
### MCP 无处不在
- **Web 模式** – 自动附带 UI 消费的 HTTP MCP 服务器。
- **MCP stdio 模式** – `go run cmd/mcp-stdio/main.go` 将 agent 暴露给 Cursor/CLI。
- **外部 MCP 联邦** – 从 UI 注册第三方 MCP 服务器(HTTP、stdio 或 SSE),按任务启用/禁用,并实时监控其健康状况和调用频率。
#### MCP stdio 快速开始
1. **构建二进制文件**(从项目根目录运行):
go build -o cyberstrike-ai-mcp cmd/mcp-stdio/main.go
2. **在 Cursor 中配置**
打开 `Settings → Tools & MCP → Add Custom MCP`,选择 **Command**,然后指向编译二进制文件和您的配置:
{
"mcpServers": {
"cyberstrike-ai": {
"command": "/absolute/path/to/cyberstrike-ai-mcp",
"args": [
"--config",
"/absolute/path/to/config.yaml"
]
}
}
}
将路径替换为您的本地路径;Cursor 将自动启动 stdio 服务器。
#### MCP HTTP 快速开始
1. 确保 `config.yaml` 中 `mcp.enabled: true`,并根据需要调整 `mcp.host` / `mcp.port`(localhost:8081 适用于本地 Cursor 使用)。
2. 启动主服务(`./run.sh` 或 `go run cmd/server/main.go`);MCP 端点位于 `http://
*仪表板全面展示了系统运行状态、安全漏洞、工具使用情况和知识库,帮助用户快速了解平台的核心功能与当前状态。*
### 核心功能概览
Web Console
|
Attack Chain Visualization
|
Task Management
|
Vulnerability Management
|
MCP Management
|
MCP stdio Mode
|
Knowledge Base
|
Skills Management
|
Role Management
|
CyberStrikeAI 已加入 [404Starlink](https://github.com/knownsec/404StarLink)
## TCH 高排名智能渗透测试项目
## Star 趋势图

## ⚠️ 免责声明
**本工具仅供教育和授权测试用途!**
CyberStrikeAI 是一个专业的安全测试平台,旨在协助安全研究人员、渗透测试人员和 IT 专业人员**在获得明确授权的情况下**进行安全评估和漏洞研究。
**使用本工具即表示您同意:**
- 仅在您拥有明确书面授权的系统上使用本工具
- 遵守所有适用法律、法规和道德标准
- 对任何未经授权的使用或滥用承担全部责任
- 不将本工具用于任何非法或恶意目的
**开发者不对任何滥用行为负责!** 请确保您的使用符合当地法律法规,并且您已获得目标系统所有者的明确授权。
需要帮助或想要贡献?提交 Issue 或 PR——欢迎社区贡献工具!标签:AI安全, Chat Copilot, CISA项目, DevSecOps, EVTX分析, EVTX分析, FTP漏洞扫描, Go语言, GPT, LIDS, MCP协议, Mutation, Petitpotam, PE 加载器, Ruby, 上游代理, 任务管理, 可视化, 安全合规, 安全工具集成, 安全编排, 安全角色, 密码管理, 技能系统, 插件系统, 攻击链分析, 日志审计, 漏洞管理, 知识库, 程序破解, 端到端自动化, 网络代理, 网络安全, 网络安全审计, 逆向工具, 隐私保护