mahmoudabdullah07/CodeAlpha_PhishingAwarenessTraining

GitHub: mahmoudabdullah07/CodeAlpha_PhishingAwarenessTraining

一个纯防御性的交互式钓鱼攻击防范意识培训模块,通过教育内容、场景练习和测验帮助学习者识别并应对社会工程学攻击。

Stars: 0 | Forks: 0

# Signal Check — 钓鱼攻击防范意识培训 Signal Check 是一个完整的交互式钓鱼攻击防范意识培训模块,由 **Mahmoud Abdullah** 为 **CodeAlpha Cyber Security Internship** 创建。它通过原创的教育内容、虚构的场景、“找出钓鱼邮件”练习以及包含 14 个问题的测验,教导人们学会停顿、检查、验证并报告可疑信息。 该项目在设计上纯属防御性质。它不会复现真实组织、创建可用的登录页面、收集凭证或提供欺骗性链接。 ## 学习目标 完成该模块后,学习者应能够: - 解释什么是钓鱼攻击以及为什么它属于社会工程学攻击。 - 区分邮件钓鱼、鱼叉式钓鱼、短信钓鱼、电话钓鱼、商业邮件入侵 (BEC) 以及虚假登录网站。 - 识别利用紧迫感、恐惧、权威、好奇心、奖励和冒充身份的战术。 - 检查发件人地址、域名、同形异义字符、URL、二维码、短链接、语言质量、附件、紧急请求和登录页面。 - 解释为什么 HTTPS 能保护连接,但无法证明网站是合法的。 - 养成更安全的习惯:避免点击可疑链接、通过其他渠道验证、使用 MFA 和密码管理器、报告可疑信息以及保持设备更新。 ## 功能特性 - 在一个兼容 GitHub Pages 的页面中包含 13 个清晰可导航的培训章节。 - 原创且真实的示例,仅使用虚构的组织和保留的 `.example` 域名。 - 针对发件人、压力和域名线索的交互式首屏“证据追踪”。 - 包含即时解析和进度显示的四卡片“找出钓鱼邮件”练习。 - 包含六项内容的防范实践清单。 - 数据驱动的 14 题测验,具备: - 答题进度和问题位置显示; - 上一题/下一题导航; - 分数和百分比; - 每道题的正确答案与解析; - 重试/重置控制; - 经过保护的、带有版本控制的进度和完成状态仅存储在 `localStorage` 中; - 页面重新加载后可恢复已完成的测试结果。 - 可打印的完成摘要,明确声明其**并非官方认证**。 - 针对已完成测验验证的单页 A4 PDF 输出。 - 适用于桌面端、平板端和移动端的响应式布局。 - 语义化结构标记、支持键盘操作的原生控件、可见的焦点状态、实时状态更新、高对比度、减少动态效果支持以及打印样式。 - 基于 Node 内置的测试和测验引擎覆盖率检查,无需 npm 运行时或测试依赖。 ## 目录结构 ``` . ├── index.html ├── css/ │ ├── styles.css │ ├── base.css │ ├── content.css │ ├── quiz-footer.css │ └── responsive.css ├── js/ │ ├── app.js │ ├── quiz-data.js │ └── quiz.js ├── assets/ │ └── README.md ├── docs/ │ ├── PROJECT_REPORT.md │ └── VIDEO_SCRIPT.md ├── tests/ │ ├── browser-smoke.mjs │ ├── content.test.js │ ├── manual-test-checklist.md │ └── quiz.test.js ├── .gitignore ├── LICENSE ├── package.json └── README.md ``` ## 本地运行 该站点使用浏览器原生的 JavaScript 模块,因此请通过 HTTP 提供该目录的服务,而不是直接打开 `index.html`。 ``` python3 -m http.server 8000 ``` 然后在浏览器中打开 `http://localhost:8000/`。无需安装或构建步骤。 要运行质量检查: ``` npm test npm run test:coverage npm run check:syntax npm run test:browser ``` 浏览器冒烟测试使用本地安装的 Chromium 或 Chrome 可执行文件,以及 Poppler 的 `pdfinfo` 和 `pdftotext` 命令来进行真实的 PDF 验证。单元/内容测试仅使用 Node.js 的内置功能,并且覆盖率检查命令仅针对测验数据和测验状态引擎,而不涵盖完整的 DOM 应用程序。 主样式表保留了四个专注于特定功能的小型 `@import` 文件。这维持了当前无构建流程的工作方式;CSS 负载足够小,打包是可选的,而不是部署的必需条件。 ## 部署到 GitHub Pages 1. 创建一个 GitHub 仓库,并将这些文件添加到仓库根目录。 2. 提交并将项目推送到您希望发布的分支,通常是 `main`。 3. 在仓库中,打开 **Settings → Pages**。 4. 在 **Build and deployment** 下,选择 **Deploy from a branch**。 5. 选择分支和 `/ (root)` 文件夹,然后保存。 6. GitHub 完成部署后,打开 Pages URL 并重复进行链接、响应式、测验和打印检查。 本项目不包含自动化的推送或部署操作。培训模块不会执行任何提交或远程更改。 ## 安全与道德 - 所有示例名称、服务、地址、电话号码和信息均为虚构。 - `.example` 域名仅作为纯培训文本展示,绝不会用作凭证提交目标。 - 该页面不包含密码输入框、数据提交端点、分析工具、cookie、第三方脚本或远程持久化存储。 - 测验状态仅限于一个带有版本控制的 `localStorage` 键,并且可以通过 **Retry quiz** 重置为空状态。 - 外部链接仅指向权威的防御性资源,并以 `noopener noreferrer` 方式打开。 - 本项目仅用于教育、意识培养和防御性安全目的。 ## 截图 请在部署后添加最终截图,且不替换原有的无障碍文本内容: | 视图 | 占位路径 | | --- | --- | | 桌面端首屏与证据追踪 | `assets/screenshots/desktop-hero.png` | | 移动端“找出钓鱼邮件”练习 | `assets/screenshots/mobile-spot-the-phish.png` | | 测验结果与答案回顾 | `assets/screenshots/quiz-results.png` | 源项目中故意没有伪造截图文件。有关截图指导,请参阅 [`assets/README.md`](assets/README.md)。 自动化浏览器检查目前仅使用 Chromium。Firefox、Safari、Edge、移动端浏览器引擎、正式的屏幕阅读器行为以及物理打印机输出仍属于手动验证项目。 ## CodeAlpha 提交信息 - **学生:** Mahmoud Abdullah - **实习项目:** CodeAlpha Cyber Security Internship - **项目:** Phishing Awareness Training - **建议的提交包:** GitHub 仓库 URL、已部署的 GitHub Pages URL、项目演示视频和项目报告。 - **演示旁白:** [`docs/VIDEO_SCRIPT.md`](docs/VIDEO_SCRIPT.md) - **项目报告:** [`docs/PROJECT_REPORT.md`](docs/PROJECT_REPORT.md) - **测试记录:** [`tests/manual-test-checklist.md`](tests/manual-test-checklist.md) ## 许可证 本项目基于 [MIT License](LICENSE) 提供。教育内容仍受项目防御性和道德使用声明的约束。 ## 作者 **Mahmoud Abdullah**
CodeAlpha Cyber Security Intern
mahmoudabdulsm@gmail.com
标签:ESC8, MITM代理, 多模态安全, 社会工程学, 网络安全, 自定义脚本, 隐私保护