zarguell/phishmonger
GitHub: zarguell/phishmonger
一款面向安全培训人员的客户端应用,用于为钓鱼邮件添加 MITRE ATT&CK 技术注释、生成可视化教学幻灯片并基于 NIST Phish Scale 标准化评估钓鱼难度。
Stars: 0 | Forks: 0
# Phish Monger
一个客户端单页应用,使安全培训人员能够为钓鱼邮件添加技术解释注释,生成带有编号徽章的可视化幻灯片,并使用 NIST Phish Scale 计算钓鱼难度。
## 核心价值
安全培训人员可以创建可视化、带注释的钓鱼培训材料,在教育背景下清晰地突出欺骗性技术 —— 无需手动进行排版工作。
## 功能
- **邮件编辑器**:使用集成 Tiptap 的富文本编辑器撰写或粘贴钓鱼邮件
- **技术注释**:在邮件中标记文本,并映射到 MITRE ATT&CK 技术和说服原则
- **可视化幻灯片**:生成编号徽章覆盖层,将诱饵与解释联系起来
- **NIST Phish Scale 评分**:结合线索和前提契合度计算钓鱼难度
- **导出选项**:导出为高分辨率 PNG 图像或 JSON 项目文件
- **本地存储**:在浏览器本地持久化保存项目
- **导入/导出**:加载和保存项目数据
## 分发方式
PhishMonger 提供多种可用格式:
### Web 应用 (PWA)
在 [Cloudflare Workers](https://phishmonger.useast01.workers.dev/) 上访问最新的托管版本。支持在移动设备(iOS Safari、Android Chrome)上离线安装。源代码完全在客户端/浏览器运行,我们绝不会在服务器端存储您的钓鱼模拟内容。
### 单个 HTML 文件
从 [GitHub Releases](https://github.com/zarguell/phishmonger/releases/latest) 下载一个独立的 HTML 文件。下载后完全脱机工作 —— 无需网络连接。只需在任何现代网络浏览器中打开该文件即可。
### 桌面应用
从 [GitHub Releases](https://github.com/zarguell/phishmonger/releases/latest) 下载适用于您平台的原生桌面应用程序:
- **macOS**:.app bundle
- **Windows**:安装程序 (.exe)
- **Linux**:.deb 软件包和 .AppImage
所有桌面版本均可脱机工作,并与您的操作系统集成。
## 本地安装 / 开发
1. 克隆仓库:
git clone https://github.com/zarguell/phishmonger.git
cd phishmonger
2. 安装依赖:
npm install
3. 启动开发服务器:
npm run dev
4. 在浏览器中打开 `http://localhost:5173`(或终端中显示的端口)
## 使用说明
1. **撰写邮件**:使用编辑器创建或粘贴钓鱼邮件
2. **标记诱饵**:选择文本并为其添加技术解释注释
3. **评估难度**:使用 NIST Phish Scale 对钓鱼攻击进行评分
4. **预览与导出**:查看可视化布局并导出为 PNG 或 JSON
## 技术栈
- **前端**:React 19 与 TypeScript
- **编辑器**:带有自定义扩展的 Tiptap
- **样式**:CSS Modules
- **构建工具**:Vite
- **PWA**:vite-plugin-pwa
- **桌面端**:Tauri
- **安全性**:使用 DOMPurify 进行 HTML 净化
- **导出**:使用 html2canvas 生成图像
## 发布版本
当版本标签被推送到仓库时,会自动创建发布版本。每个版本包含:
- 单个独立的 HTML 文件
- macOS 桌面应用程序
- Windows 安装程序
- Linux 软件包(.deb 和 .AppImage)
- 所有构建产物的 SHA256 校验和
### 验证校验和
下载构建产物后,请使用提供的 `SHA256SUMS.txt` 验证其完整性:
```
# 下载 checksums 文件
wget https://github.com/zarguell/phishmonger/releases/download/v1.4.0/SHA256SUMS.txt
# 验证所有下载
sha256sum -c SHA256SUMS.txt
```
### 创建新版本
要创建新版本:
1. 更新 `package.json` 和 `src-tauri/tauri.conf.json` 中的版本号
2. 提交您的更改
3. 创建并推送版本标签:
git tag v1.5.0
git push origin v1.5.0
GitHub Actions 将自动构建所有构建产物并创建发布版本。
## 技术栈
- **前端**:React 18 与 TypeScript
- **编辑器**:带有自定义扩展的 Tiptap
- **样式**:CSS Modules
- **构建工具**:Vite
- **安全性**:使用 DOMPurify 进行 HTML 净化
- **导出**:使用 html2canvas 生成图像
## 项目结构
```
src/
├── components/ # React components
│ ├── annotation/ # Annotation-related components
│ ├── export/ # Export functionality
│ ├── library/ # Technique library
│ ├── preview/ # Preview mode components
│ ├── visualizer/ # Visualization controls
│ └── ...
├── data/ # Static JSON data (techniques, persuasion)
├── hooks/ # Custom React hooks
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── extensions/ # Tiptap editor extensions
```
## 贡献
本项目目前正处于活跃开发阶段。欢迎贡献以下内容:
- 错误修复
- 功能增强
- 文档改进
## 背景
专为创建钓鱼意识培训材料的安全团队而构建。该工具通过自动化注释排版并提供标准技术参考,弥合了原始钓鱼邮件与教学幻灯片之间的差距。
标签:Cloudflare, MITRE ATT&CK, NIST Phish Scale, PWA, Tiptap富文本编辑器, 单页面应用, 可视化幻灯片生成, 安全培训, 安全教学工具, 客户端应用, 导出JSON, 导出PNG, 社工防范, 离线Web应用, 网络安全, 网络钓鱼防御, 自动化攻击, 钓鱼演练, 钓鱼邮件分析, 隐私保护