CyberStrikeAI
CyberStrikeAI 是一款基于 Go 语言构建的原生 AI 安全测试平台,旨在为安全团队提供智能化、自动化的漏洞发现与分析环境。它有效解决了传统安全测试中工具分散、流程繁琐以及人工分析效率低下的痛点,通过对话式指令即可实现从任务下发到结果可视化的端到端自动化闭环。
该平台特别适合网络安全工程师、渗透测试人员及安全研发开发者使用。其核心亮点在于深度集成了 100 多种主流安全工具,并拥有智能编排引擎,能够根据预设的安全角色和专项技能自动调度任务。CyberStrikeAI 原生支持 MCP(模型上下文协议),可灵活对接 GPT、Claude、DeepSeek 等多种大模型,让 AI 代理像专家一样自主决策。此外,它还提供了完整的生命周期管理能力,涵盖任务管理、漏洞追踪、知识库检索及攻击链分析,确保测试过程可审计、可追溯。无论是日常资产巡检还是复杂的红队演练,CyberStrikeAI 都能帮助团队大幅提升协作效率与测试覆盖率。
使用场景
某金融科技公司安全团队正在对即将上线的核心交易系统进行上线前的深度渗透测试与漏洞排查。
没有 CyberStrikeAI 时
- 工具碎片化严重:测试人员需手动切换 Nmap、Burp Suite、SQLMap 等十余种独立工具,环境配置繁琐且数据无法互通。
- 协作效率低下:不同角色的测试成果分散在本地文档或聊天软件中,缺乏统一的生命周期管理,导致漏洞复现和验证困难。
- 分析依赖人工经验:面对海量扫描日志,资深专家需耗费大量时间人工梳理攻击链,新手难以快速上手复杂场景。
- 流程不可追溯:测试过程缺乏自动化审计记录,难以满足合规性要求,出现误报时无法快速回溯操作路径。
使用 CyberStrikeAI 后
- 一站式智能编排:通过内置的 100+ 安全工具库和智能引擎,仅需一条自然语言指令即可自动调度多款工具完成从侦察到利用的全流程。
- 角色化协同作业:利用预定义的“红队”、“审计员”等角色权限与技能系统,团队成员可在统一平台协作,漏洞发现、验证到修复闭环清晰可见。
- AI 辅助决策分析:基于大模型的决策引擎自动关联碎片化线索,生成可视化的攻击链分析报告,大幅降低了对个人经验的依赖。
- 全链路可审计:原生支持 MCP 协议与完整的生命周期管理,所有操作步骤、中间结果及最终报告均自动留痕,轻松应对合规审计。
CyberStrikeAI 将原本分散、高门槛的安全测试转变为可对话、可追溯且高度自动化的智能工作流,显著提升了漏洞发现的深度与响应速度。
运行环境要求
- Linux
- macOS
未说明
未说明

快速开始
CyberStrikeAI
社区: 加入我们的 Discord
微信群(点击展开二维码)
赞助(点击展开)
如果 CyberStrikeAI 对您有所帮助,您可以通过 微信支付 或 支付宝 支持本项目:
CyberStrikeAI 是一个用 Go 语言构建的 原生 AI 安全测试平台。它集成了 100 多种安全工具、智能编排引擎、基于角色的预定义安全角色测试、具有专业测试技能的技能系统,以及全面的生命周期管理能力。通过原生 MCP 协议和 AI 代理,它实现了从对话式命令到漏洞发现、攻击链分析、知识检索和结果可视化的端到端自动化,为安全团队提供了一个可审计、可追溯且协作性强的测试环境。
界面与集成预览
系统仪表盘概览
仪表盘提供了系统运行状态、安全漏洞、工具使用情况和知识库的全面概览,帮助用户快速了解平台的核心功能和当前状态。
核心功能概览
Web 控制台
|
任务管理
|
漏洞管理
|
WebShell 管理
|
MCP 管理
|
知识库
|
技能管理
|
代理管理
|
角色管理
|
系统设置
|
MCP stdio 模式
|
Burp Suite 插件
|
亮点
- 🤖 兼容 OpenAI 模型(GPT、Claude、DeepSeek 等)的 AI 决策引擎
- 🔌 原生 MCP 实现,支持 HTTP/stdio/SSE 传输及外部 MCP 联邦
- 🧰 100 多种预置工具配方 + 基于 YAML 的扩展系统
- 📄 大结果分页、压缩及可搜索归档
- 🔗 攻击链图、风险评分及步骤式回放
- 🔒 密码保护的 Web UI、审计日志和 SQLite 持久化
- 📚 具有向量搜索和混合检索功能的安全知识库
- 📁 对话分组支持置顶、重命名和批量管理
- 🛡️ 漏洞管理支持 CRUD 操作、严重性跟踪、状态工作流和统计
- 📋 批量任务管理:创建任务队列、添加多个任务并按顺序执行
- 🎭 基于角色的测试:预定义安全测试角色(渗透测试、CTF、Web 应用扫描等),配备自定义提示和工具限制
- 🧩 多代理模式(Eino DeepAgent):可选编排模式,协调器通过
task工具将工作委派给由 Markdown 定义的子代理;主代理位于agents/orchestrator.md(或kind: orchestrator),子代理位于agents/*.md;当multi_agent.enabled为真时切换至聊天模式(详见 多代理文档) - 🎯 技能系统:20 多种预定义安全测试技能(SQL 注入、XSS、API 安全等),可附加到角色或由 AI 代理按需调用
- 📱 聊天机器人:支持钉钉和飞书的长连接,方便您通过手机与 CyberStrikeAI 对话(详见 机器人/聊天机器人指南,了解设置和指令)
- 🐚 WebShell 管理:可添加和管理 WebShell 连接(例如兼容 IceSword/AntSword),使用虚拟终端执行命令,内置文件管理器进行文件操作,并配备 AI 助手标签页,用于编排测试并保存每条连接的对话历史;支持 PHP、ASP、ASPX、JSP 以及自定义 Shell 类型,请求方法和命令参数均可配置。
插件
CyberStrikeAI 在 plugins/ 目录下包含可选集成。
- Burp Suite 扩展:
plugins/burp-suite/cyberstrikeai-burp-extension/
构建输出:plugins/burp-suite/cyberstrikeai-burp-extension/dist/cyberstrikeai-burp-extension.jar
文档:plugins/burp-suite/cyberstrikeai-burp-extension/README.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
基本使用
快速入门(一键部署)
先决条件:
一键部署:
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI
chmod +x run.sh && ./run.sh
run.sh 脚本将自动:
- ✅ 检查并验证 Go 和 Python 环境
- ✅ 创建 Python 虚拟环境
- ✅ 安装 Python 依赖项
- ✅ 下载 Go 依赖项
- ✅ 构建项目
- ✅ 启动服务器
首次配置:
- 配置 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
- 登录 - 使用控制台中显示的自动生成密码(或在
config.yaml中设置auth.password) - 安装安全工具(可选) - 根据需要安装工具:
当缺少某些工具时,AI 会自动切换到替代方案。# macOS brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass # Ubuntu/Debian sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster
其他启动方式:
# 直接运行 Go 代码(需手动设置)
go run cmd/server/main.go
# 手动构建
go build -o cyberstrike-ai cmd/server/main.go
./cyberstrike-ai
注意: Python 虚拟环境(venv/)由 run.sh 自动创建和管理。需要 Python 的工具(如 api-fuzzer、http-framework-test 等)将自动使用此环境。
版本更新(无破坏性变更)
推荐的 CyberStrikeAI 一键升级:
- (首次)启用脚本:
chmod +x upgrade.sh - 升级命令:
./upgrade.sh(可选参数:--tag vX.Y.Z、--no-venv、--preserve-custom、--yes) - 脚本将备份您的
config.yaml和data/,从 GitHub Release 获取最新代码,更新config.yaml中的版本号,然后重启服务器。
推荐的一行命令:
chmod +x upgrade.sh && ./upgrade.sh --yes
如果出现问题,您可以从 .upgrade-backup/ 恢复(或手动复制 /data 和 config.yaml),然后再次运行 ./run.sh。
要求与提示:
- 需要
curl或wget来下载 Release 包。 - 推荐使用
rsync来安全地同步代码。 - 如果 GitHub API 对您进行了速率限制,请在运行
./upgrade.sh之前设置export GITHUB_TOKEN="..."。
⚠️ 注意: 此流程仅适用于没有兼容性或破坏性变更的版本更新。如果发布包含兼容性更改,则此方法可能不适用。
示例: 无破坏性变更 — 例如 v1.3.1 → v1.3.2;有破坏性变更 — 例如 v1.3.1 → v1.4.0。该项目遵循 语义化版本控制(SemVer):当只有补丁版本(第三位数字)发生变化时,通常可以安全地进行升级;而当次版本或主版本发生变化时,配置、数据或 API 可能已经改变——请在使用此方法前查看发行说明。
核心工作流程
- 对话测试 – 自然语言提示触发工具链,并以 SSE 流式输出结果。
- 单代理 vs 多代理 – 当
multi_agent.enabled: true时,聊天界面可以在 单代理(经典 ReAct 循环)和 多代理(Eino DeepAgent +task子代理)之间切换。多代理模式使用/api/multi-agent/stream;工具来自与单代理相同的 MCP 堆栈。 - 基于角色的测试 – 从预定义的安全测试角色中选择(渗透测试、CTF、Web 应用扫描、API 安全测试等),以定制 AI 行为和可用工具。每个角色应用自定义系统提示,并可限制可用工具,以实现专注的测试场景。
- 工具监控器 – 检查正在运行的任务、执行日志以及大结果附件。
- 历史与审计 – 每次对话和工具调用都会存储在 SQLite 中,并可回放。
- 对话组 – 将对话组织成组,固定重要组,通过上下文菜单重命名或删除组。
- 漏洞管理 – 创建、更新和跟踪测试过程中发现的漏洞。按严重程度(严重/高/中/低/信息)、状态(未处理/已确认/已修复/误报)和对话筛选。查看统计信息并导出结果。
- 批量任务管理 – 创建包含多个任务的队列,在执行前添加或编辑任务,并按顺序运行。每个任务作为一个独立的对话执行,具有状态跟踪(待处理/运行中/已完成/失败/已取消)和完整的执行历史。
- WebShell 管理 – 添加和管理 WebShell 连接(PHP/ASP/ASPX/JSP 或自定义)。使用虚拟终端运行命令,使用文件管理器列出、读取、编辑、上传和删除文件,以及使用 AI 助手选项卡驱动脚本化测试,每个连接都有单独的对话历史记录。连接存储在 SQLite 中;支持 GET/POST 和可配置的命令参数(例如 IceSword/AntSword 风格)。
- 设置 – 调整提供商密钥、MCP 启用、工具开关和代理迭代限制。
内置防护措施
- 必填字段验证可防止意外留空 API 凭证。
- 当
auth.password为空时,自动生成强密码。 - 统一的身份验证中间件用于所有 Web/API 调用(Bearer 令牌流程)。
- 每个工具都有超时和沙箱保护,并提供结构化日志以便排查问题。
高级使用
基于角色的测试
- 预定义角色 – 系统在
roles/目录中包含 12 种以上的预定义安全测试角色(渗透测试、CTF、Web 应用扫描、API 安全测试、二进制分析、云安全审计等)。 - 自定义提示 – 每个角色可以定义一个
user_prompt,该提示会前置到用户消息之前,引导 AI 采用专门的测试方法和关注点。 - 工具限制 – 角色可以指定一个
tools列表来限制可用工具,从而确保测试流程的专注性(例如,CTF 角色仅限于 CTF 特定的工具)。 - 技能集成 – 角色可以附加安全测试技能。技能名称会被添加到系统提示中作为参考,AI 代理可以通过
read_skill工具按需访问技能内容。 - 轻松创建角色 – 通过在
roles/目录中添加 YAML 文件即可创建自定义角色。每个角色需要定义name、description、user_prompt、icon、tools、skills和enabled字段。 - Web UI 集成 – 在聊天界面的下拉菜单中选择角色。角色的选择会影响 AI 的行为以及可用的工具建议。
创建自定义角色示例:
- 在
roles/目录中创建一个 YAML 文件(例如roles/custom-role.yaml):name: 自定义角色 description: 专注于特定测试场景 user_prompt: 你是一名专注于 API 安全的专业安全测试人员… icon: "\U0001F4E1" tools: - api-fuzzer - arjun - graphql-scanner skills: - api-security-testing - sql-injection-testing enabled: true - 重启服务器或重新加载配置;该角色将出现在角色选择下拉菜单中。
多智能体模式(Eino DeepAgent)
- 是什么 – 基于 CloudWeGo Eino
adk/prebuilt/deep的可选第二条执行路径:一个 协调器(主代理)会调用task工具来运行临时的 子代理,每个子代理都有自己的模型循环和基于当前角色的工具集。 - Markdown 代理 – 在
agents_dir目录下(默认为agents/,相对于config.yaml),定义:- 编排者:文件名为
orchestrator.md或 任何带有kind: orchestrator前置元数据的.md文件(每个目录只能有一个)。设置 Deep 代理的名称/ID、描述以及可选的完整系统提示(正文);如果正文为空,则应用multi_agent.orchestrator_instruction及 Eino 默认值。 - 子代理:其他
*.md文件(YAML 前置元数据 + 正文作为指令)。如果被归类为编排者,则不会被用作task的目标。
- 编排者:文件名为
- 管理 – Web UI:Agents → Agent management,用于对 Markdown 代理进行 CRUD 操作;API 前缀为
/api/multi-agent/markdown-agents。 - 配置 –
config.yaml中的multi_agent块:包括enabled、default_mode(single或multi)、robot_use_multi_agent、batch_use_multi_agent、max_iteration、orchestrator_instruction,以及可选的 YAML 格式的sub_agents,与磁盘上的文件合并(相同id时以 Markdown 文件为准)。 - 详情 – 流式事件、机器人、批处理队列及故障排除:docs/MULTI_AGENT_EINO.md。
技能系统
- 预定义技能 – 系统在
skills/目录中包含 20 多种预定义的安全测试技能(SQL 注入、XSS、API 安全、云安全、容器安全等)。 - 提示中的技能建议 – 当选择某个角色时,与该角色关联的技能名称会被添加到系统提示中作为推荐。技能内容不会自动注入;AI 代理必须使用
read_skill工具才能在需要时访问技能细节。 - 按需访问 – AI 代理还可以通过内置工具(
list_skills、read_skill)按需访问技能,从而在任务执行过程中动态获取技能信息。 - 结构化格式 – 每个技能都是一个目录,其中包含一个
SKILL.md文件,详细介绍了测试方法、工具使用、最佳实践和示例。技能支持 YAML 前置元数据以存储元信息。 - 自定义技能 – 通过在
skills/目录中添加新目录即可创建自定义技能。每个技能目录应包含一个SKILL.md文件,用于存放技能内容。
创建自定义技能:
- 在
skills/目录中创建一个新目录(例如skills/my-skill/)。 - 在该目录中创建一个
SKILL.md文件,并填写技能内容。 - 将该技能添加到角色中,只需将其加入角色 YAML 文件的
skills字段即可。
工具编排与扩展
tools/*.yaml中的 YAML 配方描述了命令、参数、提示和元数据。- 目录热加载 – 通常只需将
security.tools_dir指向一个文件夹即可;同时仍支持在config.yaml中直接定义,以便快速实验。 - 大结果分页 – 超过 200 KB 的输出将以工件形式存储,可通过
query_execution_result工具进行分页、筛选和正则表达式搜索来检索。 - 结果压缩 – 对于数 MB 的日志,可以在持久化到 SQLite 数据库之前进行摘要或无损压缩,以保持数据库轻量化。
创建自定义工具的典型流程:
- 从
tools/目录中复制一个现有的 YAML 文件(例如tools/sample.yaml)。 - 更新
name、command、args和short_description。 - 在
parameters[]中描述位置参数或标志参数,以便代理知道如何构建 CLI 参数。 - 如果代理需要额外的上下文或后处理提示,可提供更详细的
description/notes块。 - 重启服务器或重新加载配置;新工具将立即可用,并可在设置面板中启用或禁用。
攻击链情报
- AI 会解析每次对话,以整理出目标、工具、漏洞及其之间的关系。
- Web UI 会将攻击链渲染为交互式图,附带严重性评分和步骤回放功能。
- 攻击链或原始发现结果可以导出到外部报告管道中。
WebShell 管理
- 连接 – 从 Web 界面进入 WebShell 管理,可以添加、编辑或删除 WebShell 连接。每个连接会保存以下信息:Shell URL、密码/密钥、Shell 类型(PHP、ASP、ASPX、JSP、自定义)、请求方法(GET/POST)、命令参数名(默认为
cmd)以及可选备注;所有记录都会持久化到 SQLite 数据库中,并且兼容常见的客户端工具,如 IceSword 和 AntSword。 - 虚拟终端 – 选择一个连接后,使用 虚拟终端 选项卡可以执行任意命令,支持命令历史和快捷命令(whoami/id/ls/pwd 等)。输出会直接在浏览器中流式显示,按下 Ctrl+L 可以清屏。
- 文件管理器 – 使用 文件管理器 选项卡可以列出目录、读取或编辑文件、删除文件、创建文件夹或文件、上传文件(支持大文件分块上传)、重命名路径以及下载选定的文件。路径导航支持面包屑式导航、返回上一级目录以及按名称过滤。
- AI 助手 – 使用 AI 助手 选项卡可以与一个理解当前 WebShell 连接的智能代理进行对话,自动运行工具和 Shell 命令,并为每个连接维护独立的对话历史,同时在侧边栏中显示之前的会话记录。
- 连通性测试 – 使用 测试连通性 功能可以在执行命令前验证 Shell URL、密码和命令参数是否正确(发送一个轻量级的
echo 1检查)。 - 持久化 – 所有 WebShell 连接和 AI 对话都会存储在 SQLite 数据库中(与对话记录共用同一数据库),因此即使重启后仍能保持数据。
MCP 无处不在
- Web 模式 – 自带 HTTP MCP 服务器,可被 UI 自动调用。
- MCP 标准输入输出模式 – 运行
go run cmd/mcp-stdio/main.go即可将代理暴露给 Cursor/CLI。 - 外部 MCP 联邦 – 可以从 UI 注册第三方 MCP 服务器(HTTP、标准输入输出或 SSE),根据需要切换启用,并实时监控其健康状态和调用量。
- 可选 MCP 服务器 – 在
mcp-servers/目录下提供了独立的 MCP 工具(例如反向 Shell)。它们通过标准输入输出协议与 CyberStrikeAI(设置 → 外部 MCP)、Cursor、VS Code 等其他 MCP 客户端通信。
MCP 标准输入输出快速入门
- 编译二进制文件(在项目根目录下执行):
go build -o cyberstrike-ai-mcp cmd/mcp-stdio/main.go - 在 Cursor 中配置
打开设置 → 工具与 MCP → 添加自定义 MCP,选择 命令,然后指向编译好的二进制文件及你的配置文件:
将路径替换为你本地的实际路径;Cursor 会自动启动该标准输入输出服务器。{ "mcpServers": { "cyberstrike-ai": { "command": "/绝对路径/to/cyberstrike-ai-mcp", "args": [ "--config", "/绝对路径/to/config.yaml" ] } } }
MCP HTTP 快速入门(Cursor / Claude Code)
HTTP MCP 服务器运行在独立的端口上(默认为 8081),并支持 基于头部的身份验证,只有携带正确头部的客户端才能调用工具。
- 在配置中启用 MCP – 在
config.yaml中设置mcp.enabled: true,并可选地指定mcp.host或mcp.port。若要启用身份验证(建议在网络可访问的情况下使用),需设置:mcp.auth_header– 头部名称(如X-MCP-Token);mcp.auth_header_value– 密钥值。如果希望服务器在首次启动时自动生成随机令牌并将其写回配置文件,则可将其留空。
- 启动服务 – 运行
./run.sh或go run cmd/server/main.go。MCP 端点为http://<host>:<port>/mcp(例如http://localhost:8081/mcp)。 - 复制终端中的 JSON – 当 MCP 启用后,服务器会打印出一段可以直接粘贴的 JSON 块。如果
auth_header_value为空,系统会自动生成并保存密钥;打印的 JSON 包含 URL 和头部信息。 - 在 Cursor 或 Claude Code 中使用:
- Cursor:将该段 JSON 粘贴到
~/.cursor/mcp.json(或项目的.cursor/mcp.json)中的mcpServers部分,或者将其合并到现有的mcpServers配置中。 - Claude Code:将其粘贴到
.mcp.json或~/.claude.json的mcpServers部分。
- Cursor:将该段 JSON 粘贴到
终端打印示例(已启用身份验证):
{
"mcpServers": {
"cyberstrike-ai": {
"url": "http://localhost:8081/mcp",
"headers": {
"X-MCP-Token": "<自动生成或您提供的值>"
},
"type": "http"
}
}
}
如果不设置 auth_header 或 auth_header_value,该端点将接受未认证的请求(仅适用于本地主机或受信任的网络)。
外部 MCP 联邦(HTTP/标准输入输出/SSE)
CyberStrikeAI 支持通过三种传输模式连接外部 MCP 服务器:
- HTTP 模式 – 传统的 HTTP POST 请求/响应模式;
- 标准输入输出模式 – 基于进程的标准输入输出通信;
- SSE 模式 – 服务器推送事件,用于实时流式通信。
添加外部 MCP 服务器的步骤如下:
打开 Web 界面,导航至 设置 → 外部 MCP。
点击 添加外部 MCP,并以 JSON 格式提供配置:
HTTP 模式示例:
{ "my-http-mcp": { "transport": "http", "url": "http://127.0.0.1:8081/mcp", "description": "HTTP MCP 服务器", "timeout": 30 } }标准输入输出模式示例:
{ "my-stdio-mcp": { "command": "python3", "args": ["/路径/to/mcp-server.py"], "description": "标准输入输出 MCP 服务器", "timeout": 30 } }SSE 模式示例:
{ "my-sse-mcp": { "transport": "sse", "url": "http://127.0.0.1:8082/sse", "description": "SSE MCP 服务器", "timeout": 30 } }点击 保存,然后点击 启动 以连接到该服务器。
实时监控连接状态、工具数量及健康状况。
SSE 模式的优势:
- 通过服务器推送事件实现双向实时通信;
- 适合需要持续数据流的场景;
- 推送通知的延迟更低。
为了便于验证,可在 cmd/test-sse-mcp-server/ 目录下找到一个测试用的 SSE MCP 服务器。
知识库
- 向量搜索 – AI 代理在对话过程中可使用
search_knowledge_base工具自动从知识库中检索相关的安全知识。 - 混合检索 – 结合向量相似度搜索与关键词匹配,以提高准确性。
- 自动索引 – 扫描
knowledge_base/目录中的 Markdown 文件,并自动生成嵌入索引。 - Web 管理界面 – 通过 Web UI 创建、更新、删除知识条目,并按类别进行组织。
- 检索日志 – 记录所有知识检索操作,便于审计和调试。
快速入门(使用预构建知识库):
- 下载知识数据库 – 从 GitHub Releases 下载预构建的知识数据库文件。
- 解压并放置 – 解压下载的知识数据库文件 (
knowledge.db),将其放入项目的data/目录中。 - 重启服务 – 重启 CyberStrikeAI 服务,知识库将立即可用,无需重新构建索引。
设置知识库:
- 在配置中启用 – 在
config.yaml中设置knowledge.enabled: true:knowledge: enabled: true base_path: knowledge_base embedding: provider: openai model: text-embedding-v4 base_url: "https://api.openai.com/v1" # 或您的嵌入 API api_key: "sk-xxx" retrieval: top_k: 5 similarity_threshold: 0.7 hybrid_weight: 0.7 - 添加知识文件 – 将 Markdown 文件放入
knowledge_base/目录中,并按类别组织(例如:knowledge_base/SQL Injection/README.md)。 - 扫描并索引 – 使用 Web UI 扫描知识库目录,系统将自动导入文件并构建向量嵌入。
- 在对话中使用 – 当 AI 代理需要安全知识时,会自动调用
search_knowledge_base。您也可以明确请求:“搜索知识库中的 SQL 注入技术”。
知识库结构:
- 文件按类别组织(目录名称即为类别)。
- 每个 Markdown 文件都会成为一条知识条目,并自动分块以供向量搜索。
- 系统支持增量更新——修改后的文件会自动重新索引。
自动化钩子
- REST API – UI 使用的所有功能(认证、对话、工具运行、监控、漏洞、角色)均可通过 JSON 接口访问。
- 多智能体 API –
POST /api/multi-agent/stream(启用时为 SSE)、POST /api/multi-agent(非流式)、Markdown 智能体位于/api/multi-agent/markdown-agents(列出/获取/创建/更新/删除)。 - 角色 API – 通过
/api/roles端点管理安全测试角色:GET /api/roles(列出所有角色)、GET /api/roles/:name(获取角色)、POST /api/roles(创建角色)、PUT /api/roles/:name(更新角色)、DELETE /api/roles/:name(删除角色)。角色以 YAML 文件形式存储在roles/目录中,并支持热加载。 - 漏洞 API – 通过
/api/vulnerabilities端点管理漏洞:GET /api/vulnerabilities(带筛选条件的列表)、POST /api/vulnerabilities(创建)、GET /api/vulnerabilities/:id(获取)、PUT /api/vulnerabilities/:id(更新)、DELETE /api/vulnerabilities/:id(删除)、GET /api/vulnerabilities/stats(统计信息)。 - 批量任务 API – 通过
/api/batch-tasks端点管理批量任务队列:POST /api/batch-tasks(创建队列)、GET /api/batch-tasks(列出队列)、GET /api/batch-tasks/:queueId(获取队列)、POST /api/batch-tasks/:queueId/start(开始执行)、POST /api/batch-tasks/:queueId/cancel(取消)、DELETE /api/batch-tasks/:queueId(删除)、POST /api/batch-tasks/:queueId/tasks(添加任务)、PUT /api/batch-tasks/:queueId/tasks/:taskId(更新任务)、DELETE /api/batch-tasks/:queueId/tasks/:taskId(删除任务)。任务按顺序执行,每项任务都会创建一个独立的对话,并全程跟踪状态。 - WebShell API – 通过
/api/webshell/connections(获取列表、创建、更新、删除)以及/api/webshell/exec(执行命令)、/api/webshell/fileop(列出/读取/写入/删除文件)管理 WebShell 连接并执行命令。 - 任务控制 – 可暂停/恢复/停止长时间扫描,使用新参数重新运行步骤,或流式传输对话记录。
- 审计与安全 – 通过
/api/auth/change-password轮换密码,强制实施短生命周期会话,并在对外暴露服务时在网络层限制 MCP 端口。
配置参考
auth:
password: "change-me"
session_duration_hours: 12
server:
host: "0.0.0.0"
port: 8080
log:
level: "info"
output: "stdout"
mcp:
enabled: true
host: "0.0.0.0"
port: 8081
auth_header: "X-MCP-Token" # 可选;留空则不启用认证
auth_header_value: "" # 可选;留空则首次启动时自动生成
openai:
api_key: "sk-xxx"
base_url: "https://api.deepseek.com/v1"
model: "deepseek-chat"
database:
path: "data/conversations.db"
knowledge_db_path: "data/knowledge.db" # 可选:单独用于知识库的数据库
security:
tools_dir: "tools"
knowledge:
enabled: false # 启用知识库功能
base_path: "knowledge_base" # 知识库目录路径
embedding:
provider: "openai" # 嵌入提供商(目前仅支持 "openai")
model: "text-embedding-v4" # 嵌入模型名称
base_url: "" # 留空则使用 OpenAI 的基础 URL
api_key: "" # 留空则使用 OpenAI 的 API 密钥
retrieval:
top_k: 5 # 返回的前几名结果数量
similarity_threshold: 0.7 # 最小相似度分数(0-1)
hybrid_weight: 0.7 # 向量搜索的权重(1.0 = 纯向量,0.0 = 纯关键词)
roles_dir: "roles" # 角色配置目录(相对于配置文件)
skills_dir: "skills" # 技能目录(相对于配置文件)
agents_dir: "agents" # 多智能体 Markdown 定义(协调器 + 子智能体)
multi_agent:
enabled: false
default_mode: "single" # single | multi(启用多智能体时的 UI 默认模式)
robot_use_multi_agent: false
batch_use_multi_agent: false
orchestrator_instruction: "" # 可选;当 orchestrator.md 正文为空时使用
工具定义示例(tools/nmap.yaml)
name: "nmap"
command: "nmap"
args: ["-sT", "-sV", "-sC"]
enabled: true
short_description: "网络映射与服务指纹识别"
parameters:
- name: "target"
type: "string"
description: "IP 地址或域名"
required: true
position: 0
- name: "ports"
type: "string"
flag: "-p"
description: "端口范围,例如 1-1000"
角色定义示例(roles/penetration-testing.yaml)
name: 渗透测试
description: 专业的渗透测试专家,用于进行全面的安全测试
user_prompt: 您是一位专业的网络安全渗透测试专家。请使用专业的渗透测试方法和工具,对目标进行全方位的安全测试,包括但不限于 SQL 注入、XSS、CSRF、文件包含、命令执行等常见漏洞。
icon: "\U0001F3AF"
tools:
- nmap
- sqlmap
- nuclei
- burpsuite
- metasploit
- httpx
- record_vulnerability
- list_knowledge_risk_types
- search_knowledge_base
enabled: true
相关文档
- 多智能体模式(Eino):DeepAgent 编排、
agents/*.md、API 以及聊天/流媒体行为。 - 机器人/聊天机器人指南(钉钉 & 飞书):完整设置、命令及故障排除,介绍如何在手机上通过钉钉或飞书使用 CyberStrikeAI。请遵循此文档以避免常见问题。
项目结构
CyberStrikeAI/
├── cmd/ # 服务器、MCP 标准输入输出入口点、工具集
├── internal/ # 智能体、MCP 核心、处理器、安全执行器
├── web/ # 静态单页应用 + 模板
├── tools/ # YAML 工具配方(提供 100 多个示例)
├── roles/ # 角色配置(12+ 种预定义的安全测试角色)
├── skills/ # 技能目录(20+ 种预定义的安全测试技能)
├── agents/ # 多智能体 Markdown 文件(orchestrator.md + 子智能体 *.md)
├── docs/ # 文档(例如机器人/聊天机器人指南、MULTI_AGENT_EINO.md)
├── images/ # 文档截图与图表
├── config.yaml # 运行时配置
├── run.sh # 方便的启动脚本
└── README*.md
基本使用示例
扫描 192.168.1.1 的开放端口
对 192.168.1.1 执行全面端口扫描,重点关注 80、443 和 22 端口
检查 https://example.com/page?id=1 是否存在 SQL 注入漏洞
扫描 https://example.com 上的隐藏目录和过时软件
枚举 example.com 的子域名,然后对结果运行 nuclei 工具
高级剧本
加载侦察与渗透模板,先运行 amass/subfinder,再对每个存活主机进行目录爆破。
使用外部基于 Burp 的 MCP 服务器进行认证流量回放,然后将发现的结果返回以生成图表。
压缩 5 MB 的 nuclei 报告,总结关键 CVE,并将该报告附加到对话中。
为最新一次渗透测试构建攻击链,并导出严重性等级为高或以上的节点列表。
404Starlink
CyberStrikeAI 已加入 404Starlink
TCH 排名第一的智能渗透测试项目
星标数量随时间变化
许可证
CyberStrikeAI 采用 Apache License 2.0 许可证授权。
详细信息请参阅 LICENSE 文件。
⚠️ 免责声明
本工具仅用于教育及授权测试目的!
CyberStrikeAI 是一款专业的安全测试平台,旨在协助安全研究人员、渗透测试人员及 IT 专业人员在明确授权的情况下开展安全评估和漏洞研究。
使用本工具即表示您同意:
- 仅在您拥有明确书面授权的系统上使用本工具
- 遵守所有适用的法律、法规及道德标准
- 对任何未经授权或滥用行为承担全部责任
- 不得将本工具用于任何非法或恶意目的
开发者对任何滥用行为不承担任何责任! 请确保您的使用符合当地法律法规,并已获得目标系统所有者的明确授权。
需要帮助或想贡献代码?请提交问题或拉取请求——欢迎社区参与工具的扩展与改进!
版本历史
v1.4.162026/04/14v1.4.152026/04/13v1.4.142026/04/13v1.4.132026/04/09v1.4.122026/04/09v1.4.112026/04/08v1.4.102026/04/08v1.4.92026/04/04v1.4.82026/04/03v1.4.72026/04/01v1.4.62026/03/31v1.4.52026/03/28v1.4.42026/03/28v1.4.32026/03/27v1.4.22026/03/24v1.4.12026/03/24v1.4.02026/03/22v1.3.302026/03/21v1.3.292026/03/19v1.3.282026/03/19常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器