MTFUCF/ir-playbook-trainer
GitHub: MTFUCF/ir-playbook-trainer
一个静态分支事件响应场景训练器,用于练习在压力下的决策流程。
Stars: 0 | Forks: 0
# IR 剧本训练器
一个用于练习在压力下进行决策流程的静态分支事件响应场景训练器。
## 它是什么
IR 剧本训练器是一个无构建的 HTML/CSS/JavaScript 应用,提供桌面演练风格的事件响应场景,并具有结果驱动的分支。它专为 GitHub Pages 设计,并有意保持在浏览器中或通过打开仓库轻松审查。
## 当前场景
- **钓鱼与凭据泄露**
- **工作站勒索软件**
- **内部数据渗出**
每个场景至少包含 8 个决策点、多条好/坏路径、终止结果、可见的引用、面包屑导航历史、评分和决策树视图。
## 功能
- 场景选择器,通过 `localStorage` 跟踪本地进度
- 每次选择后显示好/坏/中立的裁决卡片
- 决策面包屑轨迹和终止分数总结
- 带高亮显示已走路径的垂直决策树模式
- 响应式布局、键盘友好控件和深色模式切换
- 人类可读的场景数据存储在 `data/scenarios.json` 中
- 参考 NIST SP 800-61r3 和相关的 Microsoft Sentinel / Defender / Purview 工作流
## 在线演示
## 本地运行
从项目文件夹:
```
python -m http.server 8080
```
然后浏览至 `http://localhost:8080/`。
## 推送至 GitHub
此项目作为独立仓库提供。要将其推送到 GitHub 账户(例如,一个单独的网络安全作品集账户),请按照以下步骤操作。
### 1) 认证目标账户
推荐:使用 GitHub CLI 多账户认证。
```
gh auth login
gh auth switch
gh auth status
```
逐仓库 git 配置可确保即使您的全局 git 配置指向另一个账户,提交也会归属到正确的身份下:
```
git config user.name "Matthew Faber"
git config user.email "@users.noreply.github.com"
```
noreply 邮箱可保护您的个人邮箱隐私。将 `` 替换为目标账户用户名。
### 2) 初始化、提交并推送
从工作区根目录:
```
cd projects/ir-playbook-trainer
git init -b main
git config user.name "Matthew Faber"
git config user.email "@users.noreply.github.com"
git add .
git commit -m "Initial commit"
gh repo create /ir-playbook-trainer --public --source=. --remote=origin --push --description "A static branching incident-response scenario trainer for practicing decision flow under pressure."
```
### 3) 启用 GitHub Pages
- 进入仓库 **Settings → Pages**。
- 在 **Build and deployment** 下,将 **Source** 设置为 **GitHub Actions** (而不是 **Deploy from a branch**)。
- 首次推送会触发 `.github/workflows/deploy-pages.yml`;等待约 30 秒,然后访问 `https://.github.io/ir-playbook-trainer/`。
### 4) 后续更新
```
git add . && git commit -m "Describe the change" && git push
```
## 部署您自己的
此仓库包含 `.github/workflows/deploy-pages.yml`,用于现代化的 GitHub 原生 Pages 流程。
1. 将仓库推送到 GitHub。
2. 打开 **Settings → Pages**,将 **Build and deployment → Source** 设置为 **GitHub Actions**。
3. 推送到 `main` 或使用 **workflow_dispatch** 手动运行工作流。
4. 工作流完成后,打开 `https://.github.io/ir-playbook-trainer/`。
## 技术栈
- HTML5
- CSS3
- 原生 JavaScript
- JSON 场景数据
- GitHub Pages
## 项目结构
```
.
├── .github/
│ └── copilot-instructions.md
├── data/
│ └── scenarios.json
├── src/
│ └── app.js
├── styles/
│ └── main.css
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── TESTING.md
└── index.html
```
## 测试
请参阅 `TESTING.md` 了解手动检查清单和静态验证命令。
## 路线图
- 添加更多场景和替代分支
- 添加可选的场景元数据过滤器,例如难度或 IR 阶段重点
- 在 UI 最终确定后,为 README 捕获更新的应用内截图
## 作者
**Matthew Faber**
Matthew Faber 构建实践型的网络安全作品集项目。
标签:Defender, GitHub Pages, Homebrew安装, HTML/CSS/JavaScript, localStorage, Microsoft Sentinel, NIST SP 800-61r3, Purview, 决策树视图, 决策流, 凭证泄露, 勒索软件, 响应式布局, 场景模拟, 培训工具, 安全工作流, 数据可视化, 数据外泄, 无构建应用, 暗模式, 桌面演练, 浏览器应用, 网络安全, 自定义脚本, 评分系统, 进度跟踪, 隐私保护, 静态分支