Adejare-ml/sentry-awareness-platform

GitHub: Adejare-ml/sentry-awareness-platform

SENTRY 是一个游戏化的社会工程学防范培训平台,通过沉浸式模拟场景和机器学习欺诈检测帮助用户提升对网络钓鱼和诈骗的识别能力。

Stars: 0 | Forks: 0

# SENTRY v2.0 — 社会工程学防范意识平台 **一个基于建构主义学习理论的游戏化网络安全培训系统** [![Status](https://img.shields.io/badge/Status-In%20Development-yellow?style=for-the-badge)](https://github.com/Adejare-ml/SENTRY) [![Academic](https://img.shields.io/badge/Academic-CS_Final_Project-blue?style=for-the-badge)](https://github.com/Adejare-ml/SENTRY) [![Python](https://img.shields.io/badge/Python-3.10%2B-blue?style=for-the-badge&logo=python)](https://python.org) ## 🛡️ 项目愿景 SENTRY 是一个自适应的游戏化培训系统,旨在通过让用户沉浸在逼真的高风险场景中来对抗社会工程学攻击。SENTRY 并非采用被动阅读的方式,而是运用了**建构主义学习理论** —— 让用户在一个安全的模拟环境中“从做中学”。 专为**尼日利亚的社会经济背景**进行了本地化处理,涵盖了银行、政府和电信等领域的 1,600 多种场景。 ## 🏗️ 技术架构 ### 🎮 游戏引擎(前端) 构建为高性能的单页应用(SPA)。 - **动态内容加载**:通过 CSV 与 Google Sheets 集成,实现无需重新部署的实时场景更新。 - **状态管理**:使用 `localStorage` 进行会话持久化和排行榜跟踪。 - **自适应逻辑**:基于职业的内容过滤以及分层难度系统(Novice → Defender → Sentinel)。 ### 🤖 ML 智能(研究) SENTRY 包含一个欺诈检测 ML pipeline: - **垃圾信息检测**:在尼日利亚欺诈数据集上训练的 Random Forest 分类器。 - **向量化**:结合词形还原和停用词去除的 TF-IDF。 - **数据集**:定制构建,将西奥迪尼(Cialdini)的说服原则映射到特定的攻击向量。 ## 📂 仓库结构 ``` SENTRY/ │ ├── models/ # Serialized ML models │ ├── sentry_model.pkl # Primary fraud detection model │ ├── sentry_model_meta.json # Model metadata, thresholds, eval results │ ├── sentry_vectorizer.pkl # TF-IDF vectorizer weights (fraud model) │ ├── spam_detector_rf.pkl # Random Forest spam classifier │ └── spam_tfidf_vectorizer.pkl # TF-IDF vectorizer weights (spam model) │ ├── notebooks/ │ └── model_training.ipynb # Model training, evaluation, and export │ ├── _headers # Cloudflare Pages security headers ├── vercel.json # Vercel deployment config (routes) ├── .gitignore └── README.md ``` ## 🤖 ML 模型详情 | 模型 | 算法 | 数据集 | F1 | AUC | |---|---|---|---|---| | 欺诈检测器 | Logistic Regression | 尼日利亚欺诈数据集(9,810 个样本) | — | — | | 垃圾信息分类器 | Random Forest(100 棵树) | SMS 垃圾信息集 | — | — | ## 🚀 运行 Notebook ``` # 安装依赖 pip install pandas numpy scikit-learn nltk joblib seaborn matplotlib # 下载 NLTK 数据 python -c "import nltk; nltk.download('stopwords'); nltk.download('wordnet')" # 将数据集放置在 data/ 目录下(不被 git 追踪): # data/enron_data_fraud_labeled.csv # data/spam.csv # data/nigerian_fraud_dataset.csv # 打开 notebook jupyter notebook notebooks/model_training.ipynb ``` ## 🎓 学术框架 SENTRY 建立在三大教学支柱之上: - **维果茨基的最近发展区** — 提示脚手架为略高于用户当前能力的操作提供支持。 - **西奥迪尼的说服原则** — 模拟现实世界中的操纵手段:紧迫感、权威性、社会认同。 - **建构主义** — 以主动调查取代死记硬背。每次决策后立即进行“危险信号分析(Red Flag Analysis)”。 ## 📦 部署 | 平台 | 配置文件 | 状态 | |---|---|---| | Cloudflare Pages | `_headers` | 主要 | | Vercel | `vercel.json` | 备用 | *由 Adelugba Adejare 开发 — 毕业计算机科学项目,Landmark University。*
标签:Apex, ESC8, NoSQL, Python, 教育游戏, 无后门, 机器学习, 欺诈检测, 社会工程学, 逆向工具