softsideof/cyber_range

GitHub: softsideof/cyber_range

一个面向自主 SOC 智能体的强化学习仿真环境,通过对抗性攻击生成、动态课程扩展和多角色 LLM 评审实现安全运营智能体的持续训练与能力评估。

Stars: 2 | Forks: 0

title: CyberRange colorFrom: blue colorTo: purple sdk: docker pinned: false app_port: 7860 tags: - openenv

CyberRange

用于自主安全运营中心 (SOC) 智能体的强化学习环境

基于 OpenEnv v0.2.2 构建 | HuggingFace Spaces 部署 | 通过 HF TRL 进行训练


## 项目概述 CyberRange 是一个先进的、自我改进的仿真环境,旨在训练和评估自主安全智能体。作为安全运营中心 (SOC) 分析师,智能体与跨越 12 个不同拓扑节点的模拟企业网络进行交互。该智能体处理入站的安全信息和事件管理 (SIEM) 告警,而无需预先了解哪些告警是良性或恶意的。 利用对抗性攻击生成、动态课程扩展以及 Group Relative Policy Optimization (GRPO),CyberRange 迫使强化学习智能体学习基本的 SOC 基础知识:精确的遥测调查、快速遏制、误报缓解和基础设施恢复。 ## 核心生命周期 ### 1. 冷启动 最初,智能体缺乏结构认知。面对指示 Web 服务器正遭受严重暴力破解攻击的告警,未经训练的智能体可能会冲动地隔离良性基础设施或盲目阻断流量,从而导致严重的停机惩罚和极低的基准分数。 ### 2. 行为适应 通过迭代回合和重复命令惩罚,智能体逐渐学会对其工作流进行排序。它学到了在实施外围防火墙阻断之前,调用调查工具以获取取证证据的关键依赖关系。随着智能体在采取遏制措施前策略性地消除误报,其性能也随之提升。 ### 3. 对抗性工程 当智能体达到基准掌握水平时,环境将引入 **Adversarial Attack Designer**。该模块自主构建复杂的、多阶段的 APT (Advanced Persistent Threat) 链,明确针对智能体的操作盲点。同时,**Curriculum Manager** 逐步提升难度,确保训练分布实时适应智能体的能力。 ### 4. 多角色评估 每个完成的回合都会由确定性引擎结合 **CyberJudge** 进行评估——后者是由三个 LLM 专家角色组成的三元组,负责观察回合日志: * **初级分析师**:评估调查的完整性和程序的合规性。 * **高级分析师**:评估分诊优先级和误报处理效率。 * **事件指挥官**:衡量战略性事件遏制和操作爆炸半径。 最终评估(70% 确定性,30% 共识启发式)产生了稳定 GRPO 收敛所需的具有高方差的密集奖励梯度。
## 逻辑架构 ``` +-------------------------------------------------------------------------+ | SELF-IMPROVING LOOP | | | | [Adversarial] [Enterprise ] [ Autonomous ] [CyberJudge ] | [ Designer ] ---> [ Network ] ---> [ Agent ] ---> [ Evaluation] | [(LLM-based)] [(12 nodes) ] [(LLM/Rules) ] [(LLM Panel)] | ^ | | | | | | | v | | | | [Curriculum ] [ Reward ] <---------+ | | +------------ [ Manager ] [ Generation ] | | weak spots & [ (Tracking) ] | | | difficulty | v | | +--------> GRPO gradient update | +-------------------------------------------------------------------------+ ``` ### 创新机制 * **自我生成场景**:攻击拓扑被动态合成以针对操作漏洞。无需手动编写场景。 * **持久技能库**:智能体将高效调查流程归档到基于 SQLite 的 Full-Text Search 协议中,以模拟不断积累的机构知识。 * **多维信号**:高方差评分结合了重复惩罚、严格的阶段顺序遵守、效率缩放和超时机制。 * **MITRE ATT&CK 框架同步**:每个向量都记录有相应的全球防御框架标识符。
## 威胁拓扑 | 场景矩阵 | 难度级别 | 主要威胁向量 | MITRE ATT&CK 分类 | |---|---|---|---| | `script_kiddie` | 入门 | 侦察,基线利用 | T1078, T1110 | | `phishing_campaign` | 中级 | 钓鱼攻击,凭证窃取 | T1566.001, T1003 | | `apt_lateral_movement` | 高级 | 跳板利用,权限提升 | T1190, T1068, T1021, T1041 | | `ransomware_outbreak` | 高级 | 勒索软件引爆,按需传播 | T1566, T1486, T1021 | | `supply_chain_compromise` | 高级 | 木马更新,命令与控制 (C2) | T1195.002, T1059, T1105, T1041 | | `insider_threat_apt` | 噩梦 | 同时进行的数据窃取与 APT 操作 | T1078, T1567, T1190, T1003 | *(补充场景通过集成的 Adversarial Attack Designer 无限实例化。)*
## 开发与训练信号 奖励合成引擎提供严格的强化边界: * **单步回报**:对威胁遏制给予正向对齐;对附带系统隔离给予强烈的负向对齐。 * **结构性惩罚**:对冗余动作循环严格施加负强化,以大幅减少奖励黑客行为。 * **工作流完整性奖励**:对遵守标准协议(分诊 -> 整合 -> 遏制)给予强烈的强化缩放。 ### 基线评估数据 通过 `eval.py` 跟踪优化启发式算法的初始指标: | 测试定义 | 总分 | 效率比 | 回合产出 | |---|---|---|---| | `script_kiddie` | 0.800 | 3/15 | 20.5 | | `phishing_campaign` | 0.450 | 11/25 | 86.7 | | `apt_lateral_movement` | 0.420 | 19/35 | 125.0 | | `ransomware_outbreak` | 0.650 | 10/20 | 89.5 | | `supply_chain_compromise` | 0.420 | 16/30 | 121.8 | | `insider_threat_apt` | 0.400 | 19/45 | 125.0 |
## 系统工具链参考 智能体严格通过标准化的 Model Context Protocol 集成进行交互。 | 操作上下文 | 能力概述 | 应用成本 | |---|---|---| | `observe_network` | 检索网络状态、告警队列和遥测分数的绝对状态。 | 0 | | `investigate_alert` | 深度链接取证审查,以隔离特定威胁变量和源 IP 数据。 | 2 | | `run_forensics` | 高级主机内存和本地化存储漏洞验证。 | 5 | | `block_ip` | 在外围网关对入站连接实施出站边界阻断。 | 1 | | `isolate_host` | 对指定节点进行完全的网络隔离。 | 3 | | `dismiss_alert` | 标准化验证程序噪声或管理性良性触发器。 | 1 | | `restore_backup` | 从远程辅助存储覆盖现有存储的重度系统刷新。 | 8 | | `deploy_patch` | 标准化的即时漏洞修复部署。 | 3 | | `deploy_honeypot` | 设置诱饵配置以监控广泛的未授权内部横向移动。 | 4 | | `escalate_incident` | 标记场景以供人工二级响应者交互。 | 5 | | `save_playbook` | 将成功的动作整合到可查询的技能索引循环中。 | 0 | | `search_playbooks` | 将当前可见的向量与归档的策略数据数组进行比较。 | 0 |
## 本地部署操作 ``` # 评估所有已加载 scenarios 的内部 heuristic 基线 python eval.py --save # 生成模拟 performance scaling 的可视化参数 python plot_rewards.py --simulate --episodes 50 # 执行内部 testing 边界 python -m pytest tests/ -q ``` ## 云环境格式化 原生支持在诸如 HuggingFace Spaces 等容器化环境上进行通用部署。 ``` # 需要 OpenEnv 基础参考镜像 FROM ghcr.io/meta-pytorch/openenv-base:latest COPY . /app CMD ["uvicorn", "cyber_range.server.app:app", "--host", "0.0.0.0", "--port", "8000"] ``` ## 操作配置变量 | 值标识符 | 必需 | 范围概述 | |---|---|---| | `MODEL_NAME` | 是 (启用 LLM) | 核心推理模型定义结构 | | `API_BASE_URL` | 是 (启用 LLM) | 推理托管路径 | | `HF_TOKEN` | 否 | Huggingface 资源的身份验证网关密钥 | | `OPENAI_API_KEY` | 否 | 备用的 LLM 结构授权 | *(如果外部 API 无效,基础逻辑引擎将优雅地回退到本地确定性框架,从而允许不间断的工作流。)*
标签:AI SOC分析师, AutoSecOps, C2, Docker容器化, Group Relative Policy Optimization, GRPO, Hugging Face, LLM智能体, OpenAI Gym, OpenEnv, PE 加载器, Python, SIEM告警分析, SOC自动化, TRL, Web服务器安全, 人工智能安全, 企业网络模拟, 元学习, 入侵响应, 合规性, 大模型训练, 安全基准测试, 安全基座模型, 安全基础设施恢复, 安全能力评估, 安全运营中心, 对抗攻击生成, 强化学习, 强化学习环境, 插件系统, 数字取证, 无后门, 无线安全, 智能体训练, 暴力破解防御, 模拟靶标, 流量捕获, 流量隔离, 漏洞修复, 端点隔离策略, 策略优化, 网络仿真环境, 网络安全培训, 网络安全实训平台, 网络安全审计, 网络安全靶场, 网络拓扑, 网络攻防对抗, 网络映射, 网络流量阻断, 网络防护策略, 自主安全代理, 自动化脚本, 自我进化, 自适应学习, 蓝军自动化, 误报缓解, 请求拦截, 逆向工具