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, 云计算, 网络安全, 自定义脚本, 规则引擎, 钓鱼邮件检测, 隐私保护