Sedefehmdl/phishguard

GitHub: Sedefehmdl/phishguard

一个全栈网络安全意识平台,利用交互式模拟与可视化训练用户识别钓鱼与社会工程攻击。

Stars: 0 | Forks: 0

# PhishGuard **交互式网络安全意识平台** 训练你对网络钓鱼、社会工程和网络攻击的直觉——基于真实的 OWASP 威胁情报。 [**在线演示**](https://phishguard-sg0a.onrender.com)  ·  [报告问题](https://github.com/Sedefehmdl/phishguard/issues) ![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=flat-square&logo=python&logoColor=white) ![Flask](https://img.shields.io/badge/Flask-3.0-000000?style=flat-square&logo=flask&logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-ES6+-F7DF1E?style=flat-square&logo=javascript&logoColor=black) ![OWASP](https://img.shields.io/badge/OWASP-Top_10_Aligned-EF4444?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-blue?style=flat-square) ## 实时演示 该应用部署在 **[phishguard-sg0a.onrender.com](https://phishguard-sg0a.onrender.com)**。 ## 关于项目 PhishGuard 是一个全栈网络安全意识平台,旨在帮助用户识别并防御真实的网络威胁。该平台模拟真实的攻击场景——从复杂的网络钓鱼邮件到 OWASP Top 10 漏洞,并提供基于真实泄露数据的交互式训练。 该项目结合了 Python Flask REST API 与自定义设计的 Vanilla JavaScript 前端,采用暗色终端灵感的美学风格,反映网络安全运营中心的体验。 ### 动机 作为一名网络安全专业的硕士生,我希望将学术安全理论转化为实践工具。目标是打造一个超越标准 CRUD 应用的项目,在网络安全领域融合全栈开发、用户体验设计和真实的教育价值。 ## 功能 ### 电子邮件钓鱼模拟器 分析真实与伪造的电子邮件场景,这些场景源自实际攻击模式。用户将看到一个类似收件箱的界面,并必须识别哪些邮件是钓鱼尝试。每个决策都会附带详细的红色标志分析和信任指标,教用户识别攻击技术,如域名欺骗、紧迫性操纵和社会工程。 ### 自适应安全测验 测试三个难度级别(简单、中等、困难)的安全知识。问题涵盖 OWASP Top 10、攻击技术、事件响应和安全编码实践。每个答案都包含解释,最终分数会转化为分析师徽章——从“学习模式”到“精英分析师”。 ### 威胁情报百科 一个可浏览的数据库,包含 8 大攻击向量,包括钓鱼、 spear 钓鱼、勒索软件、中间人攻击、SQL 注入、XSS、凭证填充和语音钓鱼。每个条目都包含完整的攻击杀伤链、真实事件示例(Colonial Pipeline、WannaCry、DNC 黑客攻击)、预防技术和 OWASP 参考。 ### 威胁仪表板 一个数据可视化模块,展示全球网络安全威胁态势。使用自定义 SVG(不依赖外部图表库)构建,包含动画柱状图、环形图、趋势线、行业部门风险指数、实时威胁情报滚动条和分析员终端。 ## 技术栈 | 层 | 技术 | |------|------| | 后端 | Python 3.10+、Flask 3.0、Gunicorn | | 前端 | Vanilla JavaScript (ES6+)、HTML5、CSS3 | | 数据可视化 | 自定义 SVG(不依赖外部图表库) | | 排版 | Space Mono、Syne(Google Fonts) | | 数据存储 | JSON(设计为可无缝切换至 SQL/NoSQL) | | 部署 | Render.com(欧盟中部区域) | | 版本控制 | Git、GitHub | ## 设计理念 UI 灵感来源于安全运营中心(SOC)仪表盘与编辑杂志设计的融合: - 暗色终端美学,搭配深黑与电光青色点缀 - Space Mono(数据)与 Syne(标题)的字体搭配 - 非对称布局与有意留白 - 微妙动效:扫描线效果、动画计数器、发光元素 - 每一处细节都经过精心设计——拒绝通用模板美学 ## 快速开始 ### 前置条件 - Python 3.10 或更高版本 - pip(Python 包管理器) ### 安装 ``` # 克隆仓库 git clone https://github.com/Sedefehmdl/phishguard.git cd phishguard # 创建虚拟环境 python -m venv venv # 激活它 # macOS/Linux: source venv/bin/activate # Windows (PowerShell): venv\Scripts\Activate.ps1 # 安装依赖 pip install -r requirements.txt # 运行应用程序 python app.py ``` 打开浏览器访问 `http://localhost:5000`。 ## 项目结构 ``` phishguard/ ├── app.py # Flask application & REST API ├── requirements.txt # Python dependencies ├── README.md ├── data/ │ ├── emails.json # Phishing simulation scenarios │ ├── threats.json # Threat encyclopedia entries │ ├── quiz.json # Quiz questions (3 difficulty tiers) │ └── stats.json # Dashboard statistics ├── templates/ │ ├── base.html # Base layout with navigation │ ├── index.html # Landing page │ ├── simulator.html # Email phishing simulator │ ├── quiz.html # Adaptive quiz engine │ ├── threats.html # Threat intelligence browser │ └── dashboard.html # Analytics dashboard └── static/ ├── css/main.css # Design system & components └── js/main.js # Shared utilities ``` ## API 参考 | 方法 | 端点 | 描述 | |------|------|------| | `GET` | `/api/emails` | 获取邮件批次(`?mode=mixed&count=6`) | | `POST` | `/api/check_email` | 提交钓鱼判定用于验证 | | `GET` | `/api/quiz` | 获取测验题目(`?difficulty=medium`) | | `POST` | `/api/quiz/answer` | 提交测验答案并获取解释 | | `GET` | `/api/threats` | 获取威胁百科条目(`?category=...`) | | `GET` | `/api/stats` | 仪表盘统计与指标 | | `POST` | `/api/score` | 根据分数计算徽章成就 | ## 涵盖的安全概念 ### OWASP Top 10 覆盖 - **A01** — 失效的访问控制 - **A02** — 加密失败(中间人攻击) - **A03** — 注入(SQL 注入、XSS) - **A07** — 身份识别与认证失效(凭证填充、钓鱼) - **A08** — 软件和数据完整性失效(勒索软件) ### 攻击类别 - **社会工程** — 钓鱼、Spear 钓鱼、Vishing、Smishing、BEC/Whaling - **Web 攻击** — SQL 注入、跨站脚本(XSS) - **网络攻击** — 中间人攻击、ARP 中毒、SSL 剥离 - **恶意软件** — 勒索软件、双重勒索战术 - **认证攻击** — 凭证填充、密码喷洒 ## 路线图 计划中的未来增强功能: - 带有持久分数的用户认证 - 多用户训练的排行榜 - 额外的威胁配置文件(供应链、零日) - 与真实威胁情报源集成(AlienVault OTX) - 多语言支持(土耳其语、匈牙利语、德语) - 移动端响应式改进 - 导出培训证书(PDF) ## 作者 **Sadaf Ahmadli** 布达佩斯厄特沃什·罗兰大学(ELTE)网络安全专业硕士生 TryHackMe 全球前 8% - LinkedIn:[sadaf-ahmadli](https://www.linkedin.com/in/sadaf-ahmadli-4863a4233/) - GitHub:[Sedefehmdl](https://github.com/Sedefehmdl) - Behance:[sedefehmdl](https://behance.net/sedefehmdl) ## 许可证 本项目采用 MIT 许可证,仅用于教育目的。 ## 感谢 - OWASP 基金会——提供 Top 10 框架与安全研究 - TryHackMe——提供启发本项目的实战安全训练 - ELTE 布达佩斯——提供网络安全课程基础 - IBM Security、Verizon DBIR 与 CISA 的公开威胁报告
标签:CMS安全, Flask, JavaScript, meg, OWASP Top 10, Python, Web安全, 交互式训练, 仪表盘, 信息安全, 后端开发, 威胁情报, 安全意识平台, 开发者工具, 教育安全, 数据可视化, 无后门, 模拟攻击, 用户行为分析, 社会工程, 终端主题UI, 网络安全意识培训, 网络钓鱼模拟, 网络钓鱼防御, 蓝队分析, 逆向工具, 邮件安全