构建。攻击。防御。理解。
一个完全在浏览器中运行的开源实验环境:构建一个模拟基础设施,观察攻击如何在其中推进,并检验你的防御是否真正有效。每一步都会说明其成功的原因,每一项控制措施都会明确指出它打破了哪个前提条件。
在线演示 · Français · 规范 · 引擎工作原理 · 实验格式 · 贡献指南


攻击面、横向移动、分段、爆炸半径、纵深防御:这些概念很难从静态图表中理解。PCYBOX AttackGraph 将它们变成你可以看到并操作的东西:
仅限模拟。 该实验环境从不扫描、联系或攻击真实系统。技术以概念层面描述,并映射到 MITRE ATT&CK,不包含任何利用过程。
打开 在线演示:无需安装,无需账户。或在本地运行:
git clone https://github.com/Mister-iks/pcybox-attackgraph.git
cd pcybox-attackgraph
pnpm install
pnpm dev
然后打开终端中打印的 URL,点击 Run attack,开启 Network segmentation,再次运行。
键盘操作:Space 播放或暂停,方向键逐步推进攻击,Home 回到起点。
切换到 Edit,然后将元素从调色板拖到地图上,通过拖动元素侧面的圆点来连接它们,并在侧面板中填写服务、弱点、存储的凭据、身份、资产、控制措施和场景。Problems 选项卡会指出可能存在的问题(流向没有服务的端口、适用于任何对象的控制措施……)。使用 Ctrl+Z 和 Ctrl+Y 撤销和重做。你的实验会保存在浏览器中,并可以导出、导入和通过链接分享。
.attackgraph.json 文件。接下来要做什么,请参阅路线图。
lab (.attackgraph.json) ──▶ validation ──▶ engine (web worker) ──▶ story of events ──▶ map, timeline, Why?
引擎逐轮饱和攻击者的能力(立足点、凭据、数据访问)。每种技术都有前提条件和效果;每项控制措施都会打破一个精确的前提条件。由于轮次是广度优先的,为已到达目标回放的故事是其最短推导之一。详情见 docs/engine.md。
apps/web/ web application (React, React Flow, Vite)
packages/engine/ simulation engine: pure TypeScript, no DOM, fully tested
packages/schema/ JSON Schema of the .attackgraph.json lab format
packages/i18n/ messages (English, French) shared by the app and the CLI
packages/cli/ attackgraph command line tool
content/templates/ ready-to-use labs (CC BY 4.0)
docs/ specification, engine and format documentation
要求:Node.js 20 或更高版本以及 pnpm。
pnpm install
pnpm dev # start the app
pnpm test # engine, schema and app unit tests
pnpm e2e # end-to-end tests (Playwright, desktop and mobile)
pnpm verify # everything the CI checks: text, types, tests, build, bundle budget
pnpm attackgraph validate content/templates
pnpm attackgraph list content/templates/active-directory.attackgraph.json
pnpm attackgraph simulate content/templates/active-directory.attackgraph.json --scenario phishing --enable tiering
pnpm attackgraph compare content/templates/web-application.attackgraph.json --enable segmentation --lang fr
pnpm attackgraph simulate <lab> --format markdown # or json, for other tools
性能预算:初始 JavaScript 最多 250 kB(gzip)。超过此限制时 CI 会失败。
| 版本 | 重点 |
|---|---|
| v0.1 | 一个网络、一次攻击、一种防御:Web Application 模板 |
| v0.2(进行中) | 实验编辑器、3 个模板、命令行工具 |
| v0.3 | 攻击路径、瓶颈点、爆炸半径、可嵌入视图、离线 PWA |
| v0.5 | 挑战模式、教师模式、10 个与 NICE、ECSF 和 CyBOK 对齐的任务 |
| v1.0 | 稳定格式、8 个模板、9 种语言,包括阿拉伯语和中文 |
完整计划见规范(法语)。
欢迎贡献:代码、实验、翻译,以及安全从业者对技术目录的审查。请从 CONTRIBUTING.md 开始。请遵守行为准则,并按照 SECURITY.md 中所述报告漏洞。
content/、docs/):CC BY 4.0MITRE ATT&CK® 是 The MITRE Corporation 的注册商标。本项目与 MITRE 无关联。