返回市场
网络攻击人工智能

网络攻击人工智能

作者:Ed1s0nZ242 星标更新:2025-11-24

项目介绍

<div align="center"> <img src="web/static/logo.png" alt="CyberStrikeAI Logo" width="200"> </div>

CyberStrikeAI

中文 | English

CyberStrikeAI 是一个用 Go 编写的AI 原生渗透测试副驾。它结合了数百种安全工具、MCP 原生编排以及一个能够推理发现结果的代理,使得整个操作可以从一次对话中运行。

  • Web 控制台
    <img src="./img/效果.png" alt="预览" width="560">
  • MCP 标准 I/O 模式
    <img src="./img/mcp-stdio2.png" alt="预览" width="560">
  • 外部 MCP 服务器及攻击链视图
    <img src="./img/外部MCP接入.png" alt="预览" width="560">
    <img src="./img/攻击链.jpg" alt="预览" width="560">

特点

  • 🤖 兼容 OpenAI 的模型(如 GPT、Claude、DeepSeek 等)的 AI 决策引擎
  • 🔌 带有 HTTP/标准 I/O 传输和外部 MCP 联盟的原生 MCP 实现
  • 🧰 100 多个预构建工具配方 + 基于 YAML 的扩展系统
  • 📄 大结果分页、压缩和可搜索归档
  • 🔗 攻击链图、风险评分和逐步重放
  • 🔒 密码保护的 Web UI、审计日志和 SQLite 持久化

工具概述

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
  • 系统辅助 – exec, create-file, delete-file, list-files, modify-file

基本用法

快速开始

  1. 克隆并安装
    git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
    cd CyberStrikeAI-main
    go mod download
    
  2. 配置兼容 OpenAI 的访问 启动后打开应用程序中的“设置”面板或编辑 config.yaml
    openai:
      api_key: "sk-your-key"
      base_url: "https://api.openai.com/v1"
      model: "gpt-4o"
    auth:
      password: ""                  # 空 = 自动生成并记录一次
      session_duration_hours: 12
    security:
      tools_dir: "tools"
    
  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 自动回退到替代方案。
  4. 启动
    chmod +x run.sh && ./run.sh
    # 或
    go run cmd/server/main.go
    # 或
    go build -o cyberstrike-ai cmd/server/main.go
    
  5. 打开控制台http://localhost:8080 登录生成的密码,并开始聊天。

核心工作流

  • 对话测试 – 自然语言提示触发工具链,带有流式 SSE 输出。
  • 工具监控 – 检查正在运行的任务、执行日志和大结果附件。
  • 历史与审计 – 每次对话和工具调用都存储在 SQLite 中,并支持重放。
  • 设置 – 调整提供商密钥、MCP 启用、工具开关和代理迭代限制。

内置防护措施

  • 必填字段验证防止意外空白的 API 凭证。
  • auth.password 为空时自动生成强密码。
  • 统一的认证中间件用于每个 Web/API 调用(Bearer token 流程)。
  • 每个工具的超时和沙箱防护,加上结构化的日志以供排查。

高级用法

工具编排与扩展

  • YAML 配方tools/*.yaml 描述命令、参数、提示和元数据。
  • 目录热重载 – 将 security.tools_dir 指向一个文件夹通常就足够了;config.yaml 中的内联定义仍然支持快速实验。
  • 大结果分页 – 超过 200 KB 的输出作为可检索的工件存储,通过 query_execution_result 工具进行分页、过滤和正则搜索。
  • 结果压缩 – 多兆字节的日志可以在持久化之前被总结或无损压缩,以保持 SQLite 瘦小。

创建自定义工具(典型流程)

  1. tools/ 复制现有的 YAML 文件(例如 tools/sample.yaml)。
  2. 更新 namecommandargsshort_description
  3. parameters[] 中描述位置或标志参数,以便代理知道如何构建 CLI 参数。
  4. 如果代理需要额外上下文或后处理提示,提供更长的 description/notes 块。
  5. 重启服务器或重新加载配置;新工具立即可用,并且可以从设置面板启用/禁用。

攻击链智能

  • AI 解析每次对话以组装目标、工具、漏洞和关系。
  • Web UI 将链渲染为具有严重性评分和步骤重放的交互图。
  • 导出链或原始发现到外部报告管道。

MCP 无处不在

  • Web 模式 – 配备自动由 UI 使用的 HTTP MCP 服务器。
  • MCP 标准 I/O 模式go run cmd/mcp-stdio/main.go 将代理暴露给 Cursor/CLI。
  • 外部 MCP 联盟 – 从 UI 注册第三方 MCP 服务器(HTTP 或标准 I/O),按参与切换它们,并实时监控其健康状况和调用量。

自动化挂钩

  • REST API – UI 使用的所有内容(认证、对话、工具运行、监控)都可通过 JSON 访问。
  • 任务控制 – 暂停/恢复/停止长时间扫描,使用新参数重新运行步骤,或流式传输转录。
  • 审计与安全 – 通过 /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
openai:
  api_key: "sk-xxx"
  base_url: "https://api.deepseek.com/v1"
  model: "deepseek-chat"
database:
  path: "data/conversations.db"
security:
  tools_dir: "tools"

工具定义示例(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"

项目布局

CyberStrikeAI/
├── cmd/                 # 服务器、MCP 标准 I/O 入口点、工具
├── internal/            # 代理、MCP 核心、处理器、安全执行器
├── web/                 # 静态 SPA + 模板
├── tools/               # YAML 工具配方(提供了 100 多个示例)
├── 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 服务器进行身份验证流量重放,然后将发现传递回去进行绘图。
压缩 5 MB 的 nuclei 报告,总结关键 CVE 并将工件附加到对话中。
为最新的参与构建攻击链,并导出严重程度 ≥ 高的节点列表。

更新日志(最近)

  • 2025-11-20 – 添加了对超大工具日志和 MCP 转录的自动压缩/总结。
  • 2025-11-17 – 引入了 AI 构建的攻击链可视化,带有交互图和风险评分。
  • 2025-11-15 – 提供了大结果分页、高级过滤和外部 MCP 联盟。
  • 2025-11-14 – 优化了工具查找(O(1))、执行记录清理和数据库分页。
  • 2025-11-13 – 添加了 Web 认证、设置 UI 和 MCP 标准 I/O 模式集成。

需要帮助或想贡献? 打开问题或 PR——欢迎社区工具添加!