文章总结: CyberStrikeAI是Go写的开源AI渗透框架,集成100+安全工具与MCP编排,通过一次自然语言对话即可完成扫描、漏洞验证、攻击链可视化与报告,新增fofaMCP可秒搜靶场并自动验证RCE、回显Webshell,支持网页、stdio、HTTP三种MCP部署及Cursor对接,自带审计、超时、分页压缩与YAML热插拔扩展,开箱即用。
综合评分: 86
文章分类: 渗透测试,AI安全,安全工具,红队,漏洞POC
新版 CyberStrikeAI 集成 fofa MCP,让渗透测试更便捷
仙草里没有草噜丶
泷羽Sec
2025年12月19日 07:55
湖南
CyberStrikeAI
image-20251218103342171
CyberStrikeAI 是一款基于 Go 语言开发的原生 AI 渗透测试辅助工具。由公众号主【低调学安全】编写,它整合了上百款安全工具,搭配原生 MCP 编排能力,再加上一个能对检测结果进行智能推理的代理模块,让你通过一次对话就能完成整套渗透测试流程。
和之前一样,开源地址先附上
GitHub 项目地址:https://github.com/Ed1s0nZ/CyberStrikeAI
🔥 TCH 榜单排名靠前的智能渗透测试项目
- 网页控制台(预览版)
image-20251218110215481
- MCP 标准输入输出模式(预览版)
image-20251218104714914
- 外接 MCP 服务器 & 攻击链路视图(预览版)
外部 MCP 服务器及攻击链视图
image-20251218103844491
image-20251218103915648
核心亮点
🤖 AI 决策引擎:支持各类兼容 OpenAI 的大模型(GPT、Claude、深度求索等)🔌 原生 MCP 架构:支持 HTTP / 标准输入输出两种传输方式,还能实现外接 MCP 联邦部署🧰 丰富工具链:内置 100+ 预制工具模板,搭配基于 YAML 的工具扩展体系📄 高效结果处理:大体积结果自动分页、压缩,还能生成可检索的归档文件🔗 攻击链路可视化:自动生成攻击链图谱、风险评分,支持测试步骤一键回放🔒 全方位安全保障:带密码保护的网页界面、完备审计日志,采用 SQLite 本地持久化存储
image-20251218104039389
工具覆盖范围
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
- 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
- 系统辅助工具:命令执行、文件创建、文件删除、文件列表查看、文件修改
新版已新增功能 fofa_search MCP,AI自动调用fofa_search工具,搜索包含pikachu关键字的靶场,快速定位到可用的靶场IP。
AI根据靶场信息,自动调用http-framework-test工具,检测目标是否具有命令执行漏洞,并尝试上传webshell。
快速上手
1. 克隆代码 & 安装依赖
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI-main
go mod download
2. 配置 Python 工具环境(必做,因为 YAML 工具目录依赖 Python)
工具目录 tools/*.yaml 里的很多模板,都是基于 Python 工具封装的(比如 api-fuzzer、http-framework-test 这些)。先创建一个项目专属的虚拟环境,再安装共用依赖:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
辅助工具会自动识别这个虚拟环境(或者任何已经激活的 $VIRTUAL_ENV),所以默认的 env_name 直接就能用,除非你特意指定其他环境。
3. 配置大模型访问信息
两种方式任选:要么启动后在应用内的「设置」面板配置,要么直接编辑 config.yaml 文件:
openai:
api_key: "sk-your-key" # 替换成你的 API 密钥
base_url: "https://api.openai.com/v1" # 模型接口地址
model: "gpt-4o" # 选用的模型
auth:
password: "" # 留空的话,启动时会自动生成并打印密码
session_duration_hours: 12 # 会话有效期(小时)
security:
tools_dir: "tools" # 工具配置文件目录
4. 安装需要的工具(可选)
# macOS 系统(用 brew 装)
brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass
# Ubuntu/Debian 系统(用 apt 装)
sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster
就算有些工具没装也没关系,AI 会自动切换到替代工具继续运行。
5. 启动程序
三种启动方式,选一种就行:
# 方式 1:用启动脚本
chmod +x run.sh && ./run.sh
# 方式 2:直接用 Go 运行
go run cmd/server/main.go
# 方式 3:先编译再运行
go build -o cyberstrike-ai cmd/server/main.go
./cyberstrike-ai
启动后打开浏览器访问 http://localhost:8080,用生成的密码登录,就能开始对话式渗透测试了。
image-20251218104039389
不要忘了配置好apikey
image-20251218104110110
核心工作流程
- 对话式测试:输入自然语言指令,就能触发工具链运行,结果会通过 SSE 流式返回
- 工具监控:实时查看正在运行的任务、执行日志,以及大体积结果的附件
- 历史记录 & 审计:所有对话和工具调用记录都会存在 SQLite 里,支持一键回放
- 系统设置:调整大模型密钥、开关 MCP 功能、启用 / 禁用工具、设置代理迭代次数上限
image-20251218103645128
image-20251218103741640
内置安全防护机制
- 必选字段校验:防止不小心填入空的 API 密钥
- 自动生成强密码:当
auth.password留空时,自动生成安全密码 - 统一身份认证中间件:所有网页 / API 请求都走 Bearer Token 认证流程
- 工具级超时 & 沙箱防护:每个工具都有超时限制,配合结构化日志方便问题排查
进阶用法
1. 工具编排 & 扩展
tools/*.yaml 里的配置文件,定义了工具的命令、参数、提示词和元数据。
- 目录热重载:只要把
security.tools_dir指向目标目录就行,也支持在config.yaml里直接写内联配置,方便快速测试 - 大结果分页:超过 200KB 的输出会自动存为工件,用
query_execution_result工具就能分页查询、过滤,还能支持正则搜索 - 结果压缩:几兆大小的日志,会先做摘要或无损压缩再存到数据库,避免 SQLite 体积过大
2. 自定义工具(通用流程)
- 从
tools/目录复制一个现成的 YAML 文件(比如tools/sample.yaml) - 修改
name(工具名)、command(执行命令)、args(默认参数)和short_description(简短描述) - 在
parameters[]里定义位置参数或标志参数,让 AI 知道怎么拼接命令行参数 - 如果需要给 AI 额外的上下文或结果后处理提示,可以补充
description/notes字段 - 重启服务器或重载配置,新工具就会立刻生效,还能在「设置」面板里开关
3. 攻击链路智能分析
AI 会自动解析所有对话内容,梳理出目标资产、使用工具、发现漏洞和它们之间的关联关系。网页界面会把这些信息绘制成交互式攻击链图谱,附带风险评分,还能一步步回放测试过程。你还可以把攻击链或原始检测结果导出,对接外部的报告生成系统。
image-20251218103915648
4. 全场景 MCP 部署
CyberStrikeAI 支持多种 MCP 运行模式,适配不同使用场景:
- 网页模式:内置 HTTP MCP 服务器,网页端可以直接调用
- 标准输入输出模式:运行
go run cmd/mcp-stdio/main.go,就能把 AI 代理接入 Cursor / 命令行工具 - 外接 MCP 联邦:在网页端注册第三方 MCP 服务器(支持 HTTP 或标准输入输出模式),可以按测试任务灵活切换,还能实时监控服务器健康状态和调用量
MCP 标准输入输出模式快速配置(对接 Cursor)
- 先编译二进制文件(在项目根目录执行):
go build -o cyberstrike-ai-mcp cmd/mcp-stdio/main.go
-
在 Cursor 里配置:
打开「设置」→「工具 & MCP」→「添加自定义 MCP」,选择「命令行」模式,然后填入编译好的二进制文件路径和配置文件路径:
{
"mcpServers": {
"cyberstrike-ai": {
"command": "/你的绝对路径/cyberstrike-ai-mcp",
"args": ["--config", "/你的绝对路径/config.yaml"]
}
}
}
替换成你本地的实际路径,Cursor 会自动启动这个标准输入输出模式的 MCP 服务器。
MCP HTTP 模式快速配置(对接 Cursor)
- 确保
config.yaml里开启了 MCP 功能,还可以调整监听地址和端口(本地用localhost:8081就很合适):
mcp:
enabled: true
host: "0.0.0.0"
port: 8081
-
启动主服务(
./run.sh或go run cmd/server/main.go),MCP 接口地址就是http://<host>:<port>/mcp -
在 Cursor 里配置:
选择「添加自定义 MCP」→「HTTP」模式,把「基础 URL」设为
http://127.0.0.1:8081/mcp
- 建议把配置保存到
.cursor/mcp.json,方便团队成员复用:
{
"mcpServers": {
"cyberstrike-ai-http": {
"transport": "http",
"url": "http://127.0.0.1:8081/mcp"
}
}
}
5. 自动化集成钩子
- REST API:网页端用到的所有功能(认证、对话、工具运行、监控),都有对应的 JSON 格式 API 接口
- 任务控制:支持暂停 / 恢复 / 终止长时间扫描任务,修改参数后重新运行,还能流式获取对话记录
- 审计 & 安全:通过
/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 # 开启 MCP 功能
host: "0.0.0.0" # MCP 监听地址
port: 8081 # MCP 端口
openai:
api_key: "sk-xxx" # 大模型 API 密钥
base_url: "https://api.deepseek.com/v1" # 第三方大模型接口地址
model: "deepseek-chat" # 选用的第三方模型
database:
path: "data/conversations.db" # 数据库文件路径
security:
tools_dir: "tools" # 工具配置目录
工具配置示例(以 nmap 为例,对应 tools/nmap.yaml)
name: "nmap" # 工具名
command: "nmap" # 执行命令
args: ["-sT", "-sV", "-sC"] # 默认参数(TCP 扫描+版本探测+默认脚本扫描)
enabled: true # 启用这个工具
short_description: "网络映射 & 服务指纹识别" # 简短描述
parameters:
- name: "target" # 参数名
type: "string" # 参数类型
description: "目标 IP 或域名" # 参数说明
required: true # 是否必传
position: 0 # 位置参数,排在命令行第 0 位
- name: "ports" # 参数名
type: "string" # 参数类型
flag: "-p" # 标志参数(对应命令行 -p)
description: "端口范围,例如 1-1000" # 参数说明
项目目录结构
CyberStrikeAI/
├── cmd/ # 程序入口:服务端、MCP 标准输入输出模式、工具脚本
├── internal/ # 核心模块:AI 代理、MCP 核心、请求处理器、安全执行器
├── web/ # 前端资源:静态 SPA 页面 + 模板
├── tools/ # 工具配置目录:100+ 预制 YAML 模板
├── img/ # 文档资源:截图 & 架构图
├── 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 服务器,实现认证流量重放,再把结果传回 CyberStrikeAI 生成攻击链图谱
- 把 5MB 大小的 nuclei 扫描报告压缩,提取高危 CVE 生成摘要,再把原始报告作为附件关联到对话中
- 为最近一次渗透测试生成攻击链图谱,导出所有风险等级 ≥ 高危的节点清单
一些其他相关的图片
image-20251218110122356
image-20251218104017994
image-20251218110215481
广告时间
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:泷羽Sec 仙草里没有草噜丶《新版 CyberStrikeAI 集成 fofa MCP,让渗透测试更便捷》