AndreiStolojan/Phishing-Detection-System

GitHub: AndreiStolojan/Phishing-Detection-System

一款基于规则引擎的 Gmail 钓鱼邮件检测全栈系统,提供可解释的安全评分与前端审核工作流。

Stars: 0 | Forks: 0

# SecureInbox SecureInbox 是一款专为 Gmail 设计的钓鱼分类应用,作为学士论文 MVP 构建。它允许用户连接 Gmail、手动同步最近的收件箱邮件、阅读已同步的邮件、检查钓鱼/安全信号,并将邮件标记为安全或钓鱼。 本项目特意不作为 Gmail 的完全替代品。它是一个安全优先的收件箱,旨在演示邮件导入、可解释的基于规则的钓鱼检测、可选的本地 AI 可解释性,以及用于审核操作的实用前端。 ## 当前状态 - 后端位于 `backend/`。 - 前端位于 `frontend/`,已重新构建为 SecureInbox。 - MVP 阶段仅支持 Gmail 作为服务提供商。 - 钓鱼检测在后端运行。 - 前端 UI 文案为英文。 - 登出仅在前端本地执行:从浏览器存储中删除 JWT token。 ## 主要功能 - JWT 注册/登录。 - Gmail OAuth 连接。 - 从收件箱手动同步 Gmail。 - 邮件解析,包括发件人、回复地址、主题、正文、链接、域名、附件和接收日期。 - 基于规则的钓鱼评分,提供明确的原因和触发的规则。 - 可选的 Ollama 语义信号和解释回退。 - 带有安全过滤器的邮件列表。 - 净化的 HTML 邮件渲染,并阻止远程图片。 - 手动操作:标记为安全和标记为钓鱼。 - 在明确确认为钓鱼邮件后,尽最大努力将 Gmail 邮件移至垃圾邮件。 - 每月钓鱼/安全摘要。 - 后端和前端单元测试命令。 ## 项目结构 ``` backend/ src/ app.js server.js config/ controllers/ middlewares/ models/ routes/ services/ validations/ tests/unit/ package.json frontend/ src/ api/ components/ auth/ layout/ inbox/ security/ reports/ common/ context/ hooks/ pages/ styles/ utils/ tests/unit/ package.json docs/ PROJECT_STATE.md ``` ## 本地设置 安装后端依赖: ``` npm --prefix backend install ``` 安装前端依赖: ``` npm --prefix frontend install ``` 创建后端本地环境文件: ``` backend/.env.development.local ``` 所需的后端变量: ``` PORT=5500 DB_URI= JWT_SECRET= JWT_EXPIRES_IN=7d MAIL_TOKEN_ENCRYPTION_KEY= ``` Gmail 所需配置: ``` GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_REDIRECT_URI=http://localhost:5500/api/v1/mail-accounts/google/callback FRONTEND_APP_URL=http://localhost:5173 ``` Ollama 可选配置: ``` AI_SEMANTIC_ENABLED=true OLLAMA_BASE_URL=http://127.0.0.1:11434 OLLAMA_MODEL=qwen2.5:3b OLLAMA_TIMEOUT_MS=30000 OLLAMA_PROMPT_VERSION=semantic-v1 ``` ## 本地运行 后端: ``` npm --prefix backend run dev ``` 前端: ``` npm --prefix frontend run dev ``` 默认 URL: - API:`http://localhost:5500/api/v1` - 前端:`http://localhost:5173` ## 测试命令 后端: ``` npm --prefix backend run lint npm --prefix backend test ``` 前端: ``` npm --prefix frontend test npm --prefix frontend run build ``` ## MVP 限制 SecureInbox 不包括撰写、回复、转发、归档、删除、已读/未读、标签、完整的邮件组、实时 Gmail 推送同步、多提供商支持,或将 AI 作为主要检测器。 如需了解当前背景,请阅读: 1. `AGENTS.md` 2. `docs/PROJECT_STATE.md`
标签:AI风险缓解, Gmail, MITM代理, MongoDB, React, Syscalls, 云计算, 网络安全, 自定义脚本, 规则引擎, 钓鱼邮件检测, 隐私保护