dhanush222004/Hybrid-Phishing-Detection
GitHub: dhanush222004/Hybrid-Phishing-Detection
结合计算机视觉与以太坊区块链的文档篡改检测系统,通过逐像素比对和链上存证实现文档真实性的可视化验证。
Stars: 1 | Forks: 0
# 📄 文档篡改检测(混合钓鱼检测)
本项目是一个强大的**文档完整性验证系统**,用于检测文档是否**未被更改、经过轻微修改或被篡改**。该系统结合了计算机视觉和区块链技术,以验证文档的真实性并不可变地存储结果。
构建此项目旨在解决现实世界中的文档伪造和钓鱼问题,通过智能合约确保透明度和绝对的安全性。
## ✨ 独有功能
- **一对一取证验证:** 上传受信任的*原始文档*以及*可疑文档*。AI 将直接对它们进行对比,并高亮显示差异。
- **可视化篡改定位:** 如果文档遭到篡改,系统会生成一个可视化差异叠加图,以**红色**高亮显示确切的被更改像素(例如,修改的文本或签名)。
- **支持 PDF 和图像:** 不仅限于图像!您可以上传完整的 PDF 文档,系统会自动解析并转换它们以进行 AI 验证。
- **区块链不可变性:** 验证完成后,文档的 SHA-256 加密哈希值、判定结果和置信度分数将被记录到本地以太坊区块链中。
- **高级毛玻璃 UI:** 采用现代设计原则和响应式布局构建的令人惊艳的深色模式前端。
## 🧠 AI 引擎
该系统并没有仅仅依赖繁重的深度学习,而是采用了一个高度优化的**经典计算机视觉** pipeline:
- **直方图相似度:** 比较全局颜色/像素分布。
- **边缘检测 + SSIM:** 提取结构边缘并使用结构相似性指数来检测精确的结构性编辑(如被删除的文本)。
- **感知哈希:** 作为确保视觉相似度的第二层保障。
## 🏗️ 技术栈
**后端与 AI**
- Python 3.11+
- Flask(Web 框架)
- OpenCV、scikit-image、scikit-learn(计算机视觉)
- PyMuPDF(PDF 解析)
- ImageHash(pHash 生成)
**区块链**
- Solidity(智能合约)
- Web3.py(区块链交互)
- Ganache(本地以太坊测试网)
**前端**
- HTML5 / CSS3(定制毛玻璃效果)
- Google Fonts (Inter)
## ▶️ 快速开始(本地设置)
该项目依赖于本地区块链,无需 testnet API 密钥即可顺畅运行。
### 1. 安装依赖
确保您已安装 Python,然后安装依赖项:
```
pip install -r requirements.txt
pip install PyMuPDF opencv-python scikit-image scikit-learn imagehash flask web3 py-solc-x
```
### 2. 启动 Ganache
下载并运行 [Truffle Ganache](https://trufflesuite.com/ganache/)。确保它在本地运行于:
```
http://127.0.0.1:7545
```
### 3. 部署智能合约
在启动应用之前,您需要将验证合约部署到您的 Ganache 区块链上。运行一次此命令:
```
python blockchain/deploy_contract.py
```
### 4. 运行应用程序
启动 Flask Web 服务器:
```
python app.py
```
打开浏览器并访问:`http://127.0.0.1:5000`
## 🔍 如何使用
1. 点击*原始文档*下的**选择文件**,并选择一个受信任的参考文件(PDF 或图像)。
2. 点击*可疑文档*下的**选择文件**,并选择您要验证的文件。
3. 点击**验证完整性**。
4. 查看最终的 AI 判定、置信度分数,以及高亮显示任何被篡改区域的可视化差异!
5. 点击**在区块链上查看**,直接从智能合约获取不可变记录。
## 📜 免责声明
本项目出于教育、演示和作品集展示目的而构建,目前在本地 Ganache 网络上运行,以确保为开发者提供流畅无阻的设置体验。
标签:逆向工具