youknowom/ai-verify-snap

GitHub: youknowom/ai-verify-snap

结合误差级别分析与机器学习的 deepfake 检测和数字取证平台,用于验证图像是否经过合成或篡改。

Stars: 4 | Forks: 1

AI Verify Snap

AI Verify Snap Banner

## 🌟 项目概述 **AI Verify Snap** 是一个尖端的 deepfake 检测和数字取证平台,旨在验证数字媒体的真实性。随着视觉虚假信息变得越来越复杂,该平台可作为检测合成修改、deepfakes 和图像篡改的可靠工具。 通过分析 **Error Level Analysis (ELA)** 和高级 **Machine Learning** 模型生成的取证痕迹,该平台能够识别肉眼无法察觉的隐藏像素级不一致性。用户可以安全地上传图像以执行深度扫描,查看详细的视觉分析,并生成全面且可下载的取证报告。 AI Verify Snap 专注于速度、准确性和优质的用户体验,使个人和组织能够在 AI 生成的媒体时代信任其数字内容。 ## 🏗️ 系统架构 AI Verify Snap 采用现代的三层微服务架构: ``` ┌────────────────────────┐ │ Next.js Frontend │ (Port 3000) │ (React, Tailwind, Auth)│ └───────────┬────────────┘ │ HTTPS REST ▼ ┌────────────────────────┐ │ Spring Boot Backend │ (Port 8080) │ (Java 17, JPA, WebFlux)│ └─────┬──────────────┬───┘ PostgreSQL │ │ HTTP Multipart (Neon/Local) ▼ ▼ ┌───────────┐ ┌───┴──────────┐┌┴──────────────────────┐ │ Database │ │ Google Auth ││ FastAPI ML Service │ (Port 8000) │ (DB) │ │ (Third Party)││(PyTorch, ResNet+ELA) │ └───────────┘ └──────────────┘└───────────────────────┘ ``` 1. **Frontend (Next.js 16)**:面向客户端的 SPA,使用 Tailwind CSS 和 Radix UI 构建自定义视觉系统。利用 NextAuth.js (Google OAuth) 进行安全的用户身份验证。 2. **Backend (Spring Boot 3.2.2)**:负责编排数据库事务、映射结果、同步用户会话,并将媒体分析请求代理到 ML 服务。 3. **ML Service (FastAPI)**:运行双流 PyTorch 推理(使用 ResNet18 和 ELA CNN 流),并生成自动化的 JET-colormap 错误热图以及 SerpAPI Google Lens 视觉匹配回退。 ## 🚀 快速开始(Docker Compose) 在本地运行整个技术栈的最简单方法是使用 Docker Compose。 ### 前置条件 请确保您已安装 [Docker](https://www.docker.com/) 和 Docker Compose。 ### 设置步骤 1. **配置环境变量**: 在仓库根目录下创建一个 `.env` 文件,使其参数与 `.env.example` 文件中的参数相匹配: DB_PASSWORD=your_secure_password SERP_API_KEY=your_serpapi_key NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... 2. **启动基础设施**: 运行以下命令以构建并启动所有容器: docker-compose up --build 3. **访问应用程序**: * **Frontend**:`http://localhost:3000` * **Backend REST API**:`http://localhost:8080` * **Swagger API 文档**:`http://localhost:8080/swagger-ui.html` * **ML Service Layer**:`http://localhost:8000` ## 🛠️ 手动服务设置 如果您倾向于单独运行各项服务: ### 1. ML 检测层(Python) ``` cd ML_Service python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate pip install -r requirements.txt python main.py ``` * 运行于 `http://localhost:8000` ### 2. 取证 API 网关(Spring Boot) 请确保您已安装 JDK 17 和 Maven 3.9+: ``` cd backend # 设置你的环境变量 (DB_URL, DB_USERNAME, DB_PASSWORD) mvn clean spring-boot:run -Dspring-boot.run.profiles=dev ``` * 运行于 `http://localhost:8080` ### 3. 取证控制台(Next.js) 请确保您已安装 Node.js 20+: ``` cd frontend npm install npm run dev ``` * 运行于 `http://localhost:3000` ## 🛡️ 安全强化与最佳实践 本仓库遵循生产级的安全实践: * **无提交的 Secrets**:环境变量通过 `.env` 文件进行参数化处理。 * **受限的 CORS**:预检请求限制仅允许经过身份验证的客户端发起请求。 * **Hibernate 安全默认设置**:生产环境配置文件(`application-prod.yml`)强制执行 `ddl-auto: validate`,以防止动态 schema 突变。 * **安全的反序列化**:使用自定义的 JSON 映射异常,而不是在响应正文中泄露原始的 Stack trace。
标签:Apex, Spring Boot, 凭据扫描, 数字取证, 机器学习, 测试用例, 深度伪造检测, 版权保护, 自动化攻击, 自动化脚本, 误差水平分析