ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CyberStrikeAI 完整实战教程:用自然语言驱动 AI 安全测试平台

CyberStrikeAI 完整实战教程:用自然语言驱动 AI 安全测试平台

CyberStrikeAI 完整实战教程:用自然语言驱动 AI 安全测试平台

【免费下载链接】CyberStrikeAIThe system of action for AI-native cybersecurity—where intent becomes governed execution, evidence becomes operational memory, and every operation improves the next.项目地址: https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI

CyberStrikeAI 是一个用 Go 构建的 AI 原生安全测试平台:你把目标用一句话描述出来,它负责拆解任务、挑选工具、执行命令、留存证据,并把结果沉淀为结构化的漏洞记录、攻击链图谱和跨会话项目事实。平台内置 100 多个安全工具的 YAML 配方,支持角色化测试、批量任务队列、三种多智能体编排模式,以及审批、权限、审计组成的治理层。适合负责渗透测试、资产安全评估或应急响应的工程师,也适合想把重复扫描工作交给自动化的安全团队。

五分钟把 CyberStrikeAI 部署起来

环境依赖与一键启动

两个硬性依赖:

依赖版本说明
Go1.25+编译与运行服务,以go.mod为准
Python3.10+部分工具依赖 Python 运行环境

拉取代码后交给启动脚本:

git clone https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI cd CyberStrikeAI chmod +x run.sh && ./run.sh

脚本按顺序完成环境校验、创建 Python 虚拟环境、安装依赖、拉取 Go 模块、编译、启动。默认以 HTTPS + 本机自签证书方式运行;只想本地快速体验时改用./run.sh --http走明文 HTTP。

三个启动成功的标志:

  1. 终端出现● ONLINE,并给出 Web UI 访问地址;
  2. 浏览器按提示信任一次自签证书后即可访问(端口默认 8080,以config.yaml的server.port为准);
  3. 首次安装时终端会打印一次性admin初始密码,先存下来,登录后立即修改。

💡 日志里出现client sent an HTTP request to an HTTPS server,说明用http://访问了只开 HTTPS 的端口,改成https://即可。

接入模型通道

第一次使用前必须配一个 OpenAI 兼容的模型通道,两种方式任选其一:

  • Web 界面:登录后进入「系统设置 → 基本设置 → AI 通道配置」,填写 Base URL、API Key、模型名并保存;通道列表支持设为默认、复制、删除和批量探活;
  • 编辑config.yaml,最小片段如下:
ai: default_channel: openai-main channels: openai-main: provider: openai_compatible api_key: "sk-your-key" base_url: "https://api.openai.com/v1" model: "gpt-4o"

ai.default_channel决定新对话默认用哪个模型;多通道并存时,也可以在单个会话的设置里临时切换。平台预置了 100 多个安全工具的 YAML 配方(tools/ 目录),工具没装不会阻断启动,执行时自动跳过或改用替代方案。想先把体验做顺,建议提前装好 nmap、sqlmap、nikto、gobuster、nuclei、subfinder 这类常用项,macOS 用 Homebrew、Linux 用 apt 都能一条命令覆盖大部分。

部署完成后先跑一次完整任务,把「输入 → 执行 → 结果 → 记录」这条链路走通,后面所有进阶功能都建立在这条主线上。

第一次完整任务:从一条指令到漏洞入库

登录后的主界面是 Web 控制台:左侧是对话列表,右侧是工作区,底部输入框用@唤起工具、Enter 发送、Shift+Enter 换行。

用一句话下达扫描指令

在输入框里写:

扫描 192.168.1.1 的开放端口

不需要记工具语法。AI 会把自然语言翻译成具体的 nmap 参数,执行命令,再把输出解读成「哪些端口开了什么服务、哪些值得继续测」的结论。想收窄范围也直接说人话,例如「只测 22/80/443 三个端口,确认服务版本」。

执行过程的每一步都可展开核对

对话流里,AI 的每一次工具调用都带有完整参数、原始输出和耗时,点开就能核对它到底执行了什么。这意味着自动化不是黑盒:你可以逐条判断计划是否合理,发现跑偏随时叫停。

漏洞自动进入生命周期管理

扫描命中漏洞时,AI 会直接生成结构化漏洞记录,写入「漏洞管理」模块:描述、证据、影响分析、修复建议四要素齐全,并按严重 / 高危 / 中危 / 低危 / 信息自动分级。记录支持状态流转(打开 → 确认 → 已修复 / 误报)、批量导出和删除,导出的结构可以直接对接现有的漏洞管理或工单系统。

从对话到攻击链:结果去哪看

测试过程中,AI 会同步解析目标、工具调用与漏洞之间的关系,织成一张攻击链图:节点间连线展示推进路径,节点按严重度着色,支持交互式回放每个步骤,也可以导出风险节点清单接入外部报告管道。

仪表盘则是全局视角:运行中的任务、漏洞等级分布、工具调用次数与成功率、批量队列状态都汇总在一屏,异常会直接引导跳转到对应详情。单目标验证通过后,下一步自然是把同样的流程铺到一批目标上。

进阶一:批量任务队列,一次提交多个目标

批量任务队列解决的是「目标多、重复劳动多」的问题。入口在「任务管理」页:把多个待测 URL 逐条加入队列,每条任务作为独立对话执行,拥有完整的状态流转(待处理 / 运行中 / 已完成 / 失败 / 已取消)和执行历史。

队列层和单任务层都能操作:

层级可执行操作
队列级批量添加任务、一键启动、删除队列
任务级单独执行、编辑指令、更换角色、删除

典型工作流:把一批待测 URL 塞进队列 → 统一指定测试角色(如「Web 应用扫描」)→ 一键启动 → 回来看结果和漏洞记录。批量队列默认走单智能体执行;确认需要更强编排能力后,把config.yaml的multi_agent.batch_use_multi_agent置为true,子任务会改走多智能体流程,token 消耗相应上升。

批量适合「同一套方法跑很多目标」的场景。目标本身复杂、需要侦察与利用并行推进时,该上多智能体了。

进阶二:三种多智能体编排,把任务拆给一支 AI 团队

单智能体应对日常扫描足够,但多目标、长链路、需要并行侦察的任务,单线程规划容易拖慢整体进度。平台基于 Eino 框架提供三种协作模式,在对话页选择:

模式协作方式适合的任务
Deep(深度)协调器 + task 子代理并行委派目标复杂、需要并行侦察与验证
Plan-Execute规划 → 执行 → 重新规划循环长链路任务,方案需要随发现修正
Supervisor(监督)监督员统一分配任务强调分工与优先级管理

子代理全部以 Markdown 定义,放在 agents/ 目录:每个文件由 YAML front matter(name / id / description / tools / bind_role)加正文系统提示词组成。想收紧侦察代理的范围、或给利用代理加约束,直接改对应文件即可,无需碰代码。主协调器固定在orchestrator.md,按模式区分的还有orchestrator-plan-execute.md和orchestrator-supervisor.md。

⚠️ 多智能体模式 token 消耗明显更高,日常单点扫描用单智能体即可,把编排能力留给真正复杂的任务。

工具与目标之外,还有一类资产容易被忽略:团队自己的经验。知识库模块的作用就是让这些经验进入 AI 的检索范围。

进阶三:知识库 RAG,让 AI 带着你的经验干活

知识库基于向量检索(RAG)构建:扫描knowledge_base/目录下的 Markdown 文件 → 自动切块、向量化 → 按目录结构分类管理 → 文件变更后自动增量重建索引。检索链路不只有一次向量搜索:查询改写(MultiQuery 多路检索融合)→ 精排(rerank)→ 结果后处理,回答质量比裸向量搜索高一档。

启用只需一段最小配置:

knowledge: enabled: true base_path: knowledge_base embedding: provider: openai model: text-embedding-v4

把团队沉淀的测试方法、内网环境笔记、历史案例的 Markdown 丢进目录,AI 在后续测试中就会检索并引用这些材料,而不是凭空发挥。仓库自带 SQL 注入、Prompt Injection 两类示例语料,可以直接对着体验检索效果。

至此「测一个 → 测一批 → 测复杂的 → 带着经验测」的路径走完了。剩下的是把平台接进你自己的工具链和工作流。

工具接入与生态对接:YAML 配方、MCP、插件与机器人

新增工具 = 新增一个 YAML 文件

所有工具都是 tools/ 目录 下的 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"

接入内部自研工具:复制一份现有 YAML,改命令和参数即可,系统自动发现并注册。

MCP 协议的三种接法

平台原生支持 MCP(Model Context Protocol),打通 AI 与外部工具生态:

  1. Web 模式:config.yaml的mcp段启用内置 HTTP MCP 服务器,Web 界面自动使用;
  2. Stdio 模式:cmd/mcp-stdio入口把工具暴露给 Cursor、CLI 等本地客户端;
  3. 外部 MCP 联邦:支持 HTTP、Stdio、SSE 三种传输,把第三方 MCP 服务器(如 Burp 认证流量回放、内网扫描器服务)挂进来统一调度。
mcp: enabled: true host: "127.0.0.1" port: 8081

auth_header_value留空时系统自动生成随机令牌,远程暴露前先配好鉴权。

插件:把测试入口搬进 Burp 和浏览器

  • Burp Suite 插件(plugins/burp-suite/):在 Burp 内直接查看 AI 辅助测试结果;
  • 浏览器扩展(plugins/browser-extension/):Chrome / Edge 的 DevTools 中捕获 Network 流量,转发给平台做 AI 分析,能力与 Burp 插件对齐。

机器人接入:手机上也能远程干活

「系统设置 → 机器人设置」支持个人微信、企业微信、钉钉、飞书、Telegram、Slack、Discord、QQ。各平台凭据字段(如钉钉的 Client ID / Client Secret、飞书的 App ID / App Secret)在设置页逐项填好即可。接入后用自然语言远程操作:

帮助 列表 切换 68f8e8e6-... 新对话 角色 渗透测试

离开电脑时,发一条消息就能查看任务状态、切换对话或下达新任务。能力铺开后,更关键的问题是:AI 自动执行的边界在哪里,出了问题能不能追责。

给 AI 自动执行上锁:审批、权限与审计

敏感操作先过一道审批

HITL(人机协同)机制把敏感调用拦在执行之前。会话侧边栏可配置审批模式与工具白名单;config.yaml的hitl段定义全局默认:

配置项含义
default_mode会话未单独配置时的全局模式:off / approval / review_edit
default_reviewer审批方:human(人工)或 audit_agent(审计 Agent)
hitl.tool_whitelist全局免审批工具清单

审批方可以是人,也可以是审计 Agent——一个独立小模型逐次审查工具调用的参数与影响面,按规则裁决放行或拦截。默认规则覆盖绝大多数常规渗透操作,只拦截会破坏业务可用性或造成数据不可逆损坏的动作。

团队里谁能动什么:RBAC 与审计

平台 RBAC 支持多用户、系统/自定义角色、权限 Scope、资源归属与显式授权,团队成员的权限边界(谁负责 Web 扫描、谁只看报告)在「平台权限」页显式管理。所有用户操作、工具执行、系统变更进入审计日志(SQLite 持久化),保留期可配置,支持 CSV 导出对接合规审查。

⚠️ 合法使用是硬边界:平台所有能力只应用于自有系统或已取得明确书面授权的目标。WebShell、内置 C2 等高风险能力默认关闭或需显式启用,启用前请先阅读安全模型与安全加固指南。

配置、升级、性能这些日常问题,多数部署者都会遇到,集中回答几个。

常见问题

Q1:安全工具没装全,平台能用吗?

能。未安装的工具执行时自动跳过或改用替代方案,不会阻断任务。先跑通核心流程,再按任务需要补装即可。

Q2:怎么更换或并存多个模型?

在「AI 通道配置」新增通道并设为默认;也可以只改单个会话的通道设置临时切换。故障切换通道同样在通道列表里配置。

Q3:生产环境怎么换正式证书?

在config.yaml的server.tls_cert_path/server.tls_key_path指向 PEM 证书与私钥即可;本地环境保留自签就够。

Q4:升级会不会动我的配置和数据?

优先用控制台「一键更新」或./upgrade.sh:两者都会备份config.yaml与data/,本地的tools/、roles/、skills/、agents/原样保留;失败时可用-update-rollback或备份目录回滚。

Q5:长期运行会不会越跑越慢?

主要是磁盘与数据的累积问题:定期用「存储清理」页回收工作区与工具输出缓存、只启用实际用到的工具、按机器性能调整并发参数。具体运维项见 运维 Runbooks。

上手路径

今天就可以完成三件事:部署后配置好模型通道,用「扫描 127.0.0.1 的开放端口」这类无害指令走通第一次对话,再开一个批量队列试跑。后续逐步接入角色、知识库和多智能体模式。一切测试仅针对自有系统或已获明确授权的目标,遵守当地法律法规;高风险能力启用前,先读完安全加固文档。

【免费下载链接】CyberStrikeAIThe system of action for AI-native cybersecurity—where intent becomes governed execution, evidence becomes operational memory, and every operation improves the next.项目地址: https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进