EmanPalavra/ScamShield

GitHub: EmanPalavra/ScamShield

一个基于 Flask 的诈骗消息与可疑链接分诊工具,通过启发式评分和威胁情报富化给出风险评级、分类置信度及通俗解释。

Stars: 0 | Forks: 0

# ScamShield ScamShield 是一个基于 Flask 的诈骗分类应用,用于分析粘贴的短信、WhatsApp 消息、电子邮件文本以及可疑链接。 它旨在回答一个实际问题: `此消息或链接是诈骗吗?` 该应用结合了消息分析、URL 启发式算法以及可选的威胁情报查询,返回以下内容: - 总体风险 - 分类置信度 - 通俗解释 - 建议的后续操作 - 面向分析人员的证据和指标 ## 亮点 - 跨网络钓鱼、银行、加密货币、包裹、工作及招聘类诈骗的消息分类 - URL 提取与域名启发式分析 - 域名抢注、可疑顶级域名 (TLD)、路径及短链接分析 - 使用 RDAP 进行域名年龄检查 - Google Safe Browsing、PhishTank 以及可选的 VirusTotal 富化分析 - 简单视图与分析师视图 - 可解释性、证据细分、IOC 提取及提供商状态 - 针对用户粘贴内容的隐私保护处理说明 ## 截图 ### 概览 ![ScamShield 概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/86877c6305101827.png) ### 扫描工作流 ![扫描表单](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e03d59ada5101829.png) ### 解释 ![通俗易懂的解释](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c027522802101830.png) ### 证据细分 ![证据细分](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5866f67600101832.png) ### 深度扫描 ![VirusTotal 扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/78f77675c3101833.png) ## 工作原理 1. 用户粘贴可疑消息或链接。 2. ScamShield 从文本中提取 URL 和指标。 3. 对消息进行社会工程学模式评分。 4. 使用本地启发式算法和可选的外部情报对每个 URL 进行评估。 5. 将消息和链接信号整合为最终的风险评分。 6. UI 渲染风险、置信度、解释、证据和建议操作。 ## 检测模型 ScamShield 将输出分为两部分: - `总体风险`:内容看起来有多危险 - `分类置信度`:应用对该诈骗系列的判断有多确信 ### 消息信号 评分引擎会寻找以下模式: - 紧急和恐吓性语言 - 索要凭据或身份信息 - 支付压力 - 品牌冒充 - 引导至平台外联系 - 招聘和创作者拓展诱饵 - 加密货币推广和预付费行为 - 要求先回复的对话陷阱 ### 链接信号 URL 引擎会评估: - 可疑关键词 - 域名抢注和形似域名 - Punycode 和缩短的链接 - 域名结构和路径风险 - 可疑顶级域名 (TLD) - 域名年龄 - 信誉提供商的结果 ## 架构 核心项目文件: - `app.py` - 评分引擎、富化逻辑和 Flask 路由 - `templates/index.html` - 主 UI 模板 - `static/style.css` - UI 样式 - `tests/data/sample_messages.json` - 已标记的诈骗和良性数据集 - `tests/run_dataset.py` - 本地数据集评估器 ## 设置 在项目根目录创建一个 `.env` 文件: ``` GOOGLE_API_KEY=your_google_safe_browsing_key PHISHTANK_API_KEY=your_phishtank_key VT_API_KEY=your_virustotal_key APP_USER_AGENT=ScamShield/1.0 security scanner PHISHTANK_CACHE_HOURS=12 PHISHTANK_MAX_CACHE_ITEMS=5000 ``` 请勿将 `.env` 提交到 Git。 运行应用: ``` .\venv\Scripts\python.exe app.py ``` ## 数据集测试 ScamShield 包含一个已标记的数据集,用于模型调优和回归检查。 运行: ``` .\venv\Scripts\python.exe tests\run_dataset.py ``` 评估器将报告: - 类别匹配情况 - 风险级别匹配情况 - 用于调优的单个不匹配项 ## 隐私说明 - 粘贴的完整消息仅在当前请求期间在内存中处理。 - 该应用不会故意将完整的消息正文持久化到数据库。 - PhishTank 缓存存储的是域名级别的查询结果,而非完整消息。 - 启用富化功能后,URL 可能会被发送到外部提供商。 - API 密钥保留在服务器端,绝不应提交到源代码管理中。 ## 局限性 - 外部提供商可能会出现故障、触发速率限制或不可用的情况。 - 信誉源可能会遗漏新的诈骗域名。 - 消息分类是基于启发式和规则的。 - 结果应辅助分类筛查,不能替代独立的核实。 ## 展示技能 本项目展示了: - 网络钓鱼和诈骗分类的思维方式 - 检测逻辑和加权评分 - 可解释的风险决策 - 对外部提供商故障的优雅处理 - 面向非技术用户的安全 UX 设计 - 使用已标记数据集进行实际调优
标签:Ask搜索, Flask, Google Safe Browsing, heuristic 评分, IOC提取, PhishTank, Python, RDAP, SEO安全工具, URL分析, URL启发式分析, VirusTotal, WhatsApp安全, 反诈骗, 可解释性, 域名溯源, 威胁情报, 开发者工具, 恶意链接检测, 无后门, 短信安全, 社会工程学防御, 网络钓鱼分析, 诈骗分诊, 调试辅助, 逆向工具, 邮件安全, 钓鱼检测