mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-29 06:00:52 +02:00
Add files via upload
This commit is contained in:
+43
-3
@@ -7,9 +7,10 @@
|
||||

|
||||
|
||||
## 更新日志
|
||||
- 2025.11.13 在前端新增`设置`功能;
|
||||
- 2025.11.13 新增 MCP Stdio 模式支持,现可在代码编辑器、CLI 及自动化脚本等多种场景下,无缝集成并使用全套安全工具;
|
||||
- 2025.11.12 增加了任务停止功能,优化前端;
|
||||
- 2025.11.13 Web 端新增统一鉴权,支持自动生成强密码与前端修改密码;
|
||||
- 2025.11.13 在前端新增`设置`功能;
|
||||
- 2025.11.13 新增 MCP Stdio 模式支持,现可在代码编辑器、CLI 及自动化脚本等多种场景下,无缝集成并使用全套安全工具;
|
||||
- 2025.11.12 增加了任务停止功能,优化前端;
|
||||
|
||||
|
||||
## ✨ 功能特性
|
||||
@@ -36,6 +37,7 @@
|
||||
- 💾 **数据持久化** - SQLite数据库存储对话历史和过程详情
|
||||
- 📝 **详细日志** - 结构化日志记录,便于调试和问题排查
|
||||
- 🔒 **安全执行** - 工具执行隔离,错误处理和超时控制
|
||||
- 🔐 **登录鉴权保护** - Web 端与 API 统一鉴权,中间件校验会话,并支持可配置会话有效期
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
@@ -130,6 +132,11 @@ go mod download
|
||||
编辑 `config.yaml` 文件,设置您的API配置:
|
||||
|
||||
```yaml
|
||||
# 身份认证配置
|
||||
auth:
|
||||
password: "" # 可留空,首次启动自动生成强密码
|
||||
session_duration_hours: 12 # 登录有效期(小时)
|
||||
|
||||
# OpenAI兼容API配置(支持OpenAI、DeepSeek、Claude等)
|
||||
openai:
|
||||
api_key: "sk-your-api-key-here" # 替换为您的API Key
|
||||
@@ -214,6 +221,8 @@ go run cmd/server/main.go -config /path/to/config.yaml
|
||||
- API Key、Base URL 和模型是必填项(标记为 *),必须填写才能正常使用
|
||||
- 配置会自动保存到 `config.yaml` 文件中
|
||||
- 打开设置时会自动加载当前配置文件中的最新配置
|
||||
- 如果 `auth.password` 留空,程序首次启动会自动生成 24 位强密码,写回 `config.yaml` 并在终端输出中英文安全提示
|
||||
- Web 首次访问会弹出登录框,请使用该密码登录;可在 **设置 → 安全设置** 中随时修改密码
|
||||
|
||||
## ⚙️ 配置说明
|
||||
|
||||
@@ -237,6 +246,11 @@ go run cmd/server/main.go -config /path/to/config.yaml
|
||||
### 完整配置示例
|
||||
|
||||
```yaml
|
||||
# 身份认证
|
||||
auth:
|
||||
password: "change-me" # Web 登录密码
|
||||
session_duration_hours: 12 # 会话有效期(小时)
|
||||
|
||||
# 服务器配置
|
||||
server:
|
||||
host: "0.0.0.0" # 监听地址
|
||||
@@ -316,6 +330,14 @@ parameters:
|
||||
|
||||
**注意:** 如果同时配置了 `tools_dir` 和 `tools`,`tools_dir` 中的工具优先。
|
||||
|
||||
### 身份认证与安全
|
||||
|
||||
- **登录流程**:除 `/api/auth/login` 外,所有 `/api` 接口均需携带 `Authorization: Bearer <token>` 请求头。登录成功后返回的 token 会由前端自动缓存。
|
||||
- **自动生成密码**:`auth.password` 为空时,启动会生成 24 位随机强密码,写回配置文件并在终端输出中英文提示,请务必妥善保管。
|
||||
- **会话控制**:会话有效期由 `auth.session_duration_hours` 控制。过期或修改密码后需重新登录。
|
||||
- **密码修改**:在 **设置 → 安全设置** 中即可修改密码,或直接调用 `/api/auth/change-password` 接口;修改会立即使所有旧会话失效。
|
||||
- **MCP 端口**:独立 MCP 服务器(默认 `8081`)为了兼容 IDE 插件暂未启用鉴权,建议通过网络层限制访问范围。
|
||||
|
||||
## 🚀 使用示例
|
||||
|
||||
### 对话式渗透测试
|
||||
@@ -629,6 +651,9 @@ CyberStrikeAI 支持两种 MCP 传输模式:
|
||||
- 适用于 Web 应用和其他 HTTP 客户端
|
||||
- 默认监听地址:`0.0.0.0:8081/mcp`
|
||||
- 可通过 `/api/mcp` 端点访问
|
||||
- 🌐 便于远程:可对外暴露单个 HTTP 端口,IDE、Web 应用或其他机器上的自动化流程都能直接访问。
|
||||
- 🧩 易于复用:无需额外二进制,只要支持 HTTP 的客户端(例如 curl、Postman、云端任务)都能复用同一个服务。
|
||||
- 🔁 持续服务:与主 Web 服务同进程运行,部署一次即可同时提供 UI、API 和 MCP 能力。
|
||||
|
||||
#### MCP HTTP 模式(IDE 集成)
|
||||
|
||||
@@ -660,6 +685,21 @@ CyberStrikeAI 支持两种 MCP 传输模式:
|
||||
- 完全符合 JSON-RPC 2.0 规范
|
||||
- 支持字符串、数字和 null 类型的 id 字段
|
||||
- 正确处理通知(notification)消息
|
||||
- 🔒 更强隔离:以独立二进制方式运行,可结合最小权限策略、独立运行账号来限制文件/网络访问,安全性更高。
|
||||
- 🪟 无需暴露端口:所有通信都在本地进程内完成,适合不希望在本机开启额外 HTTP 监听端口的场景。
|
||||
- 🧰 IDE 优先体验:Cursor、Claude Desktop 等 IDE 的自定义 MCP 首选 stdio 传输,配置简单即插即用。
|
||||
- 🧱 多层防护:HTTP 适合远程共享场景,stdio 适合本地高安全场景,同时保留可根据工作流自由选择。
|
||||
|
||||
#### 模式对比:按需选择
|
||||
|
||||
| 对比维度 | `mcp-http`(HTTP 模式) | `mcp-stdio`(stdio 模式) |
|
||||
|------------------|-----------------------------------------------|-------------------------------------------------------------------|
|
||||
| 传输协议 | 基于网络的 HTTP/HTTPS | 标准输入输出流 |
|
||||
| 部署方式 | 与主服务器同进程运行 | 独立编译为单独可执行文件 |
|
||||
| 隔离与安全 | 依赖服务端加固(防火墙、认证、网络策略) | 借助操作系统进程隔离,无需暴露监听端口 |
|
||||
| 远程访问 | ✅ 可跨机器访问 | ❌ 仅限本地(除非手动隧道转发) |
|
||||
| IDE 集成 | 适用于支持 HTTP 的客户端 | 原生适配 Cursor / Claude Desktop 等 stdio 连接器 |
|
||||
| 最佳使用场景 | 远程自动化、共享服务、云端部署 | 本地开发、对安全隔离要求较高的环境 |
|
||||
|
||||
### 支持的方法
|
||||
|
||||
|
||||
Reference in New Issue
Block a user