GHOSTS 是由卡内基梅隆大学软件工程研究所开源的用户行为模拟框架,能够在各种计算机系统上生成高度逼真的人类活动模拟。该项目采用模块化架构,支持 LLM 集成实现智能对话和内容生成,可动态构建网络流量、多智能体场景和真实系统痕迹,为网络安全培训、演练和学术研究提供高保真实验环境。
适用人群:网络安全培训师和演练组织者、企业红蓝对抗团队、高校网络安全研究人员和教学团队、仿真和游戏开发者
适用场景:网络安全培训场景:构建包含大量模拟用户的网络环境,让培训人员在接近真实的环境中练习检测和响应能力;网络攻防演练:模拟真实用户行为模式,为红蓝对抗提供高保真的背景流量和活动痕迹;学术研究和教学实验:为网络安全研究提供可控、可重复的实验环境,用于验证防御策略和攻击检测方法
推荐理由:GHOSTS 来自享誉全球的卡内基梅隆大学,其学术背景和技术实力值得信赖。该框架将传统网络仿真提升到行为模拟层面,通过 LLM 集成实现了质的飞跃。如果你需要构建真实的网络安全培训环境或进行高保真网络实验,GHOSTS 是目前最具竞争力的开源选择。
项目定位与背景
GHOSTS 全称为 General Human-Oriented Synthetic Teammates and Systems,由卡内基梅隆大学软件工程研究所(CMU SEI)开发和维护。SEI 在软件工程和网络安全领域久负盛名,其研究成果一直被业界奉为圭臬。GHOSTS 正是该研究所在网络空间安全训练领域的重要成果,旨在解决传统网络仿真工具只能模拟网络拓扑和流量、无法真实模拟人类用户行为的痛点。
该项目目前已迭代至第 9 版本,714 颗星和 94 个分叉的社区认可度充分说明了其在专业领域的影响力。作为一个专注于用户行为建模的 NPC(Non-Player Character,非玩家角色)编排框架,GHOSTS 能够让培训人员和研究人员在自己的系统上生成大量模拟用户,这些用户会在各种应用程序中产生真实可信的活动,从浏览网页、编辑文档到收发邮件,构建出与真实组织别无二致的工作环境。
核心功能与技术架构
GHOSTS 的核心能力可以从三个维度来理解。首先是行为模拟引擎,该引擎基于状态机模型驱动的自动化机制,每个模拟用户(称为 Timelines 或 NPC)都拥有独立的行为序列,能够在预定的时间窗口内执行特定操作,如上午 9 点打开邮件客户端、下午 2 点浏览新闻网站等。这些行为经过精心设计,以确保在统计意义上与真实用户的操作习惯相符。
其次是 LLM 集成能力,这是 GHOSTS 区别于传统网络仿真工具的关键创新。在 9.0 版本中,项目引入了对大语言模型的深度集成,使模拟用户具备了动态推理、实时对话和内容生成的能力。借助这一特性,NPC 可以根据训练场景的需求自主做出决策,例如对钓鱼邮件的响应、突发安全事件时的反应等,这种适应性行为让训练环境更加不可预测和真实。
第三是模块化的客户端架构。GHOSTS 采用了轻量级客户端设计理念,支持在不同操作系统和应用平台上部署代理程序。这些代理程序负责在其对应的系统中执行模拟行为,同时通过标准化接口与核心编排系统通信。这种设计既保证了跨平台的灵活性,也便于社区贡献者开发和集成新的客户端模块。当前项目已提供了涵盖主流操作系统和常见企业应用的客户端实现。
在技术栈方面,GHOSTS 基于 .NET 10.0 构建后端服务,前端管理界面采用 Angular 20 开发,容器化部署依赖 Docker Compose,提供了开箱即用的完整技术解决方案。
创新点与亮点
将 GHOSTS 与传统网络仿真工具进行对比,可以清晰地看到其独到之处。传统的网络仿真器如 GNS3、Packet Tracer 等专注于网络拓扑和协议层面的模拟,生成的是标准化、可预测的网络流量。而 GHOSTS 模拟的是行为层面,它关注的是"人"在网络环境中如何行动,包括工作节奏、任务切换、社交互动等主观因素。这种模拟视角的转变使得 GHOSTS 能够生成真正具有欺骗性的背景活动,对于训练安全分析师识别异常行为具有不可替代的价值。
另一个显著亮点是 Scenario Builder 功能。该功能允许用户通过可视化界面定义复杂的演练场景,设定不同类型的模拟用户群体、各自的行为模式以及场景触发条件。即使没有编程背景,培训师也能快速构建满足特定训练目标的环境配置。
此外,与 n8n 工作流平台的集成进一步扩展了 GHOSTS 的应用边界。通过这一集成,用户可以将 GHOSTS 的模拟能力嵌入到更广泛的自动化流程中,实现与外部系统的数据交互和联动响应。
与同类项目对比
在用户模拟领域,MITRE 的 CALDERA 是一个值得关注的竞品。CALDERA 专注于攻击模拟和自动化渗透测试,而 GHOSTS 的定位更偏向于综合环境构建和人员培训。虽然两者在某些场景下可以互补使用,但从功能覆盖范围来看,GHOSTS 对用户行为的建模更为细致和全面。
另一个相关项目是 Anton Simanov 的 User-Simulator,但其规模和成熟度远不及 GHOSTS。GHOSTS 背靠 CMU SEI 的持续投入和社区贡献,形成了更为完整的文档体系、更稳定的生产级 API 以及更丰富的客户端生态。
上手指南
GHOSTS 为不同需求的用户提供了两条入场路径。对于希望快速体验的实践者,推荐使用 Docker Compose 方式部署。项目仓库中包含了完整的容器编排配置,可以一键启动包含 Orchestrator、API、UI 在内的全套组件。官方文档提供了详尽的快速开始指南,即使是初次接触 .NET 生态的用户也能在 15 分钟内完成环境搭建。
对于有意深度定制的开发者,Dev Container 是更合适的选择。项目配置了预装 .NET 10 SDK、Node.js、Python 和 Docker-in-Docker 的开发容器,确保本地构建和调试的便利性。借助 VS Code 的 Dev Containers 扩展,开发者可以获得一致的云端或本地开发体验。
建议新用户首先观看官方的 3 分钟演示视频,对项目能力建立直观认知后再进入文档阅读环节。项目官方文档结构清晰,从架构概述到 API 参考一应俱全,是深入学习的良好起点。
总结与展望
GHOSTS 代表了网络安全训练技术从网络层仿真向行为层模拟的重要进化。它不仅仅是一个工具,更是一套方法论的实践——通过高保真的人类行为模拟,让安全培训和研究摆脱对真实用户的依赖,在可控环境中获得接近实战的经验。
从当前发展态势来看,项目在 LLM 集成方向的探索已初见成效,预计未来版本将进一步强化 NPC 的自主决策能力,使其能够应对更加复杂多变的演练场景。同时,随着 Scenario Builder 和 n8n 集成的成熟,GHOSTS 的易用性和适用范围都将得到显著提升。
对于网络安全从业者和研究者而言,关注和尝试 GHOSTS 将是一次值得的投资。它能够为你的培训课程、研究实验或红蓝对抗提供独一无二的高保真模拟能力,帮助你在可控环境中探索真实世界可能面临的安全挑战。
项目信息
| 项目名称 | cmu-sei/GHOSTS |
| 编程语言 | C# |
| Star 数 | 714 |
| Fork 数 | 94 |
| 主题标签 | behavior, cyber, cybersecurity, cybertraining, exercise, human, network-simulation, network-simulations, network-simulator, simulation, simulation-modeling, training, user-simulator |