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
先还原一个你可能经历过的崩溃瞬间:手里攥着目标清单,nmap 还没跑完,sqlmap 的参数想不起来了,晚上收工时群里只剩一堆截图和一份写了一半的报告。CyberStrikeAI 就是冲着这个痛点来的——它是一个用 Go 写的 AI 安全测试平台,内置 100+ 安全工具的 YAML 配方、基于 Eino 的智能体编排、漏洞全生命周期管理和攻击链可视化。**你只负责用自然语言说清楚"要测什么、测完要什么",剩下的选工具、执行命令、收集证据、写记录,全部交给平台。**本文不按功能罗列,而是带你实打实完成三件事:跑起平台、用一句话完成第一次扫描、把一批目标丢进队列跑批并导出结果。读完你能自己部署、自己跑起来,不用背一条工具命令。
十分钟跑起来:环境要求与一键部署
先确认地基,三个依赖缺一不可:
| 依赖 | 版本要求 | 用途 |
|---|---|---|
| Go | 1.25+(以go.mod为准) | 编译并启动服务端 |
| Python | 3.10+ | 部分工具与依赖运行 |
| 任意 OpenAI 兼容模型 API Key | — | 驱动 AI 对话与工具调度 |
部署就三步:
git clone https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI cd CyberStrikeAI chmod +x run.sh && ./run.shrun.sh会依次做环境校验、建 Python 虚拟环境、装依赖、拉 Go 模块、编译并启动服务。默认走 HTTPS + 本机自签证书(多路流式更稳),只想本地快速体验就加参数:./run.sh --http。
启动成功看两个标志:一是终端打印● ONLINE并给出 Web UI 地址;二是新装会显示一次性的admin初始密码,先存下来,登录后第一时间改掉。
接着做第一次必须做的配置:给平台装上"引擎",也就是 AI 通道。推荐在 Web 界面「系统设置 → 基本设置 → AI 通道配置」里填服务商、Base URL、API Key 和模型名,左侧列表支持设默认、复制、删除和批量探活。也可以直接编辑config.yaml:
ai: default_channel: openai-main channels: openai-main: name: OpenAI Main provider: openai_compatible api_key: "sk-your-key" base_url: "https://api.openai.com/v1" # 或 https://api.deepseek.com/v1 model: "gpt-4o" # 或 deepseek-chat、qwen3-maxai.default_channel决定新对话默认用哪个模型;对话页的会话设置里还能随时切换到其他已保存通道。
💡 浏览器提示"不受信任的证书"是自签证书的正常现象,信任一次即可。如果日志里刷
client sent an HTTP request to an HTTPS server,说明你用http://访问了只开 HTTPS 的端口,换成https://就好。
工具方面:tools/目录预置了 100+ 配方(nmap、sqlmap、nuclei、nikto 等),没装的不会导致平台起不来,执行时会自动跳过或换替代方案。建议先装常用几个:sudo apt install -y nmap sqlmap nikto gobuster hydra,其余按需补。
任务一:用一句话完成第一次目标扫描
这个平台最核心的体验是:你说人话,它选工具、跑工具、再解读。第一次扫描照下面走:
- 登录进入对话页。左侧是历史对话列表,右侧是对话窗口,底部输入框支持选代理模式、
@唤起工具,Enter 发送、Shift+Enter 换行。 - 输入第一句:
扫描 192.168.1.1 的开放端口,然后盯着时间线看——AI 先说明计划,接着调用 nmap,最后给出解读:哪些端口开着、服务什么版本、哪些值得跟进。 - 换个说法再问:
对 192.168.1.1 做 80/443/22 重点扫描并查看服务指纹,它会自己调整参数范围,不用你记-p怎么写。 - 换成 Web 目标可以直接说:
检查 https://example.com/page?id=1 是否存在 SQL 注入,它会自动挑 sqlmap 去验证并汇总结果。 - 过程中发现的漏洞会被自动提取成结构化记录(任务三细讲),你现在只需确认证据是否成立。
💡 新手最容易慌的是"它到底跑没跑"。看时间线里每次工具调用的参数和返回,而不是听 AI 的总结;工具没安装时这一步会明确显示跳过或替代,不会静默编结果。
任务二:把目标清单变成批量任务队列
一句话一条命令没问题,客户丢给你 20 个域名呢?这时候用平台的"传送带"——批量任务队列:
- 打开「批量任务」页面,一次性添加多个目标,每个任务写清目标与指令。
- 给队列统一选角色。平台在
roles/下预置了 12+ 角色,一句话理解:角色就是给 AI 发的"岗位说明书",每个绑定专属提示词与工具集。日常 Web 扫描选 Web 应用扫描,测接口选 API 安全测试,二进制方向选二进制分析。 - 一键启动。每个任务作为独立对话执行,状态完整流转(待处理 / 运行中 / 已完成 / 失败 / 已取消),单条可执行、编辑、删除,也能整队操作。
- 跑完回来收割:每个任务的对话记录和漏洞记录都留存,漏洞统一汇入漏洞管理与仪表盘,不用逐个对话翻找。
想定制角色也简单:在roles/新增一个 YAML 文件(name、description、user_prompt、tools),启动后自动加载。想搞个"GraphQL 专项",自己写一份就行。
💡 批量任务默认走单代理执行,token 开销可控。队列想走多代理要在配置里打开
batch_use_multi_agent,先想清楚账单再开。
任务三:把测试结果变成漏洞台账与攻击链
测试做完只算走了一半,价值在于"能交付"。CyberStrikeAI 把结果沉淀成三种可交付物:
- 漏洞台账。对话中提取的漏洞变成结构化记录:描述、证据、影响分析、修复建议,自动按严重 / 高危 / 中危 / 低危 / 信息分级;状态从"打开"流转到"确认""已修复"或"误报";支持批量导出、批量删除,统计看板按等级分布实时刷新。
- 攻击链。平台把目标、工具、漏洞之间的关系织成一张图,节点按风险着色,支持按步骤回放。评审问"你这条路径怎么来的",直接拉图讲解。
- 经验资产。把团队的渗透笔记、内网环境说明、历史案例(Markdown)放进
knowledge_base/目录,平台自动切块、向量化、变更后增量重建索引;AI 下次测试时是"参考经验"而不是"凭空发挥"。
导出的漏洞数据与审计记录都能接进你们现有的工单或漏洞管理平台,测试结果不再是"一次性消费"。
进阶:什么时候值得切换到多代理模式
单代理应付日常扫描绰绰有余。目标复杂了——多资产要并行侦察、方案要边跑边修正——再请出多代理小队。平台基于 Eino 提供三种编排:
| 模式 | 分工方式 | 什么时候值得开 |
|---|---|---|
| Deep | 协调器拆任务给 task 子代理 | 目标复杂、需要并行侦察 |
| Plan-Execute | 规划 → 执行 → 重规划循环 | 长链路任务,方案持续修正 |
| Supervisor | 监督员向各专业子代理动态派单 | 分工明确、强调优先级 |
所有代理定义都是agents/下的 Markdown(orchestrator.md、orchestrator-plan-execute.md、orchestrator-supervisor.md,外加 recon、penetration 等子代理文件),YAML front matter 加正文提示词,想调整行为直接改文件,不用碰代码。
代价要说清楚:代理越多,模型来回越多,token 消耗和执行时长都会上升。我的建议很直接:日常单机扫描就用单代理,红队式复杂目标再切多代理,按需花钱。
治理与安全:给 AI 自主性装三道刹车
⚠️ 平台还内置 WebShell 管理与轻量 C2 这类高危能力,只允许用于自有系统或已取得明确书面授权的目标。启用前务必阅读 docs/zh-CN/security-model.md 与 docs/zh-CN/security-hardening.md。
三道刹车,一句话讲完机制:
| 层面 | 机制 | 说明 |
|---|---|---|
| 审批(HITL) | off/approval/review_edit三模式,审批方可选人工或审计 Agent | 敏感操作排队审批;审计 Agent 用独立小模型审查每次工具调用的参数与影响,按规则放行或拦截 |
| 权限(RBAC) | 多用户、系统角色 + 自定义角色、权限 Scope、资源归属 | 谁扫 Web、谁碰二进制,边界写清楚 |
| 审计 | 全程留痕,保留天数可配,支持 CSV 导出 | 随时能回答"那天 AI 到底干了什么" |
HITL 默认是off(hitl.default_mode: off);要收紧就设为approval,再把确属安全的只读工具加进hitl.tool_whitelist免审批。详细玩法见 docs/zh-CN/hitl-best-practices.md。
常见问题
Q1:怎么区分工具真的执行了,还是 AI 在编?看时间线里每次工具调用的参数与执行记录,长任务用execution_id轮询状态;审计日志里有留痕可核对,不必只信 AI 的口头总结。
Q2:扫描跑了很久,是卡死还是在干活?长时工具在后台 worker 里跑,agent 有界等待,时间线能看到执行中状态,随时可取消,不是死等。
Q3:小模型能不能用,必须上大模型吗?任何 OpenAI 兼容通道都行,多个通道可并存。日常简单任务小模型够用,审计 Agent 也建议配小模型,强模型留给复杂规划。
Q4:100+ 工具必须全装吗?不用。缺失的工具执行时自动跳过或改用替代方案,先按实际会用的清单装,跑通核心流程再补。
写在最后
今天就做最小的一步:./run.sh跑起来,用扫描 127.0.0.1 的开放端口这类无害指令完成第一次对话,再切一次角色、提交一个三五条的小批量队列、把漏洞记录导出一次——你会发现整个交付链路是通的。之后按需看 docs/zh-CN/ 里的配置参考、tools/ 的工具配方,慢慢把平台养成团队自己的样子。
最后一句必须说的话:一切测试只针对自有系统或已取得明确书面授权的目标,遵守当地法律法规。平台能替你执行,但"能测什么"的分寸,始终在你手里。
【免费下载链接】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),仅供参考