CyberStrike 这个 AGPL 协议的开源项目刚冒出来
以前做渗透测试,要么人工跑工具链(Nmap → Nuclei → Metasploit → 手工提权),要么写死的自动化脚本,遇到非标路径全靠人兜底。CyberStrike 的思路是:让 LLM 读目标画像、读漏洞库、读工具输出,动态决定下一步跑什么、参数怎么传、结果怎么解读。举个栗子:发现内网某台机器开着 445,LLM 不会死板跑 EternalBlue,而是结合目标补丁级别、网络拓扑、甚至蜜罐特征,自动挑 Petya 变种还是直接走 SMB 签名绕过——这层「决策」才是它区别于传统自动化扫描器的地方。
二、核心模块拆解
1. Planner(规划器):基于 ReAct 循环,输入是目标资产图 + 历史动作轨迹,输出结构化 Action JSON。提示词里内置了 MITRE ATT&CK 矩阵映射表,防止幻觉跑偏。
2. Executor(执行层):插件化,目前内置 Nuclei、Masscan、CrackMapExec、Impacket、BloodHound 等 20+ 适配器。每个插件暴露标准 run(params) -> Observation 接口,方便二开。
3. Memory(记忆库):SQLite + 向量库(默认 Chroma),存历史观测、凭证、拓扑关系。支持「跨会话续跑」,断点恢复不丢上下文。
4. Safety Guard(护栏):AGPL 协议强制开源,但作者在 config.yaml 里留了 allow_destructive: false 开关,默认只做侦察、枚举、非破坏性验证,真要打生产环境得显式开。
三、实测踩坑记录
# 克隆跑起来
git clone https://github.com/cyberstrike-ai/cyberstrike
cd cyberstrike
pip install -e . --extra-index-url https://pypi.org/simple
cp config.example.yaml config.yaml
# 填入你的 OpenAI/Anthropic/本地 Ollama key
cyberstrike scan --target 192.168.10.0/24 --profile stealth跑了半小时内网段,发现三个 Nuclei 漏报的 CVE-2024-XXXX(某 NAS 组件 RCE),LLM 自动拼了利用链拿到 shell,再横向枚举出域控信任关系。但也翻车过:面对某厂商定制化 WAF,Planner 连续三轮生成同一个无效 payload,陷入死循环,最后靠 max_retries: 3 熔断才停。建议把 temperature 降到 0.1,且在 plugins/ 里给高危动作加人工确认回调。
四、协议与商用隐患
AGPL 传染性强,若你把 CyberStrike 嵌入自家 SaaS 平台对外提供服务,必须开源整个服务端代码。作者在 Issue 里明确拒绝过 MIT 双协议 PR,态度很硬。企业想商用只能走「内部工具自用」或「买商业授权」两条路,别心存侥幸。
五、值得关注的后续
- 正在合并的 PR #342:引入 GraphRAG 做攻击路径推理,替代当前扁平化的向量检索
- 计划支持 本地小模型(Qwen2.5-7B-Instruct 量化版)离线跑 Planner,解决数据出域合规
- 社区在讨论引入 CALDERA 对抗仿真模式,把红队演练变成「蓝队训练场」
如果你手头有授权范围内的靶场,建议先跑 cyberstrike simulate --range internal --mode purple 体验下「AI 红队 vs 规则蓝队」的对抗日志,比看文档直观得多。
这类工具要是火了,云厂商最爱打包成「安全扫描即服务」收费,AGPL 至少逼他们要么开源改动要么买商业许可
当然采纳度会受影响,看项目方权衡了