| --- |
| title: Test |
| emoji: 🦀 |
| colorFrom: green |
| colorTo: purple |
| sdk: docker |
| pinned: false |
| short_description: deepfakes |
| --- |
| |
| # Anti-Phishing AI Backend |
|
|
| FastAPI backend and HTML demo for phishing and deepfake detection. Built for hackathon. |
|
|
| ## Stack |
| - **Framework**: FastAPI |
| - **AI Agent**: LangChain + Google Gemini 2.0 Flash (text, image, video, audio) |
| - **Deepfake APIs**: HuggingFace Inference API (image + audio) |
| - **Video**: Gemini Files API + frame-level HF image model |
|
|
| ## Setup |
|
|
| ```bash |
| cd antiphish |
| pip install -r requirements.txt |
| ``` |
|
|
| Copy the `.env` file from the parent directory or create one: |
| ``` |
| GEMINI_API_KEY=your_key_here |
| HUGGING_FACE_TOKEN=your_hf_token_here |
| ``` |
|
|
| ## Run |
|
|
| ```bash |
| uvicorn app.main:app --reload |
| ``` |
|
|
| - **API docs**: http://localhost:8000/docs |
| - **Demo frontend**: http://localhost:8000 |
|
|
| ## Walkthrough: How To Use |
|
|
| The Anti-Phishing AI app analyzes text, images, videos, and audio for phishing attempts, scams, and deepfakes. |
|
|
| ### 1. Web Interface Walkthrough |
| When you open `http://localhost:8000`, you will see a simple user interface. Switch between tabs depending on the type of media you want to analyze: |
|
|
| * **Text & URLs:** Paste suspicious emails, SMS messages, or links. The app uses Gemini to detect urgency language, impersonation tactics, credential harvesting, and cross-references any URLs against suspicious top-level domains. |
| * **Images:** Upload an image (like a screenshot of a login page or a photo of a document). The app uses a HuggingFace model to detect if the face in the image is a deepfake, and Gemini Vision to see if the image is a fake login screen or brand impersonation. |
| * **Video:** Upload a short `.mp4` video. The app samples frames and runs deepfake diagnostics on them, while simultaneously uploading the video to Gemini to check for unnatural blinking, lip-sync inconsistencies, and visual anomalies. |
| * **Audio:** Upload an audio file (like a voicemail or recorded phone call). The HuggingFace integration checks the audio waveform for synthetic/AI-generated markers, while Gemini listens for common scam scripts (e.g., "fake bank security alert" or "tech support"). |
|
|
| ### 2. API / Developer Walkthrough |
| You can integrate this backend with another app or bot by sending requests directly to the API endpoints. |
|
|
| **Checking the API documentation:** All automated Swagger docs are at http://localhost:8000/docs. |
|
|
| **Testing the Text Endpoint via terminal:** |
| ```bash |
| curl -X POST http://localhost:8000/analyze/text \ |
| -H "Content-Type: application/json" \ |
| -d '{"text": "URGENT: Your Paypal account has been locked. Click here to verify your identity: http://paypal-secure.ml/login"}' |
| ``` |
|
|
| **Testing the Image/Audio/Video Endpoints:** |
| For media, send the file as a `multipart/form-data` upload: |
| ```bash |
| curl -X POST http://localhost:8000/analyze/image \ |
| -F "file=@/path/to/suspicious_image.jpg" |
| ``` |
|
|
| ## Endpoints |
|
|
| | Method | Endpoint | Input | Description | |
| |---|---|---|---| |
| | POST | `/analyze/text` | JSON `{"text": "..."}` | Phishing text + URL detection | |
| | POST | `/analyze/image` | multipart file | Deepfake + phishing screenshot detection | |
| | POST | `/analyze/video` | multipart file | Deepfake video detection | |
| | POST | `/analyze/audio` | multipart file | Deepfake / AI voice detection | |
|
|
| ## Response Format |
|
|
| ```json |
| { |
| "risk_score": 0.87, |
| "risk_level": "HIGH", |
| "threat_types": ["phishing", "urgency_language", "malicious_url"], |
| "explanation": "Human-readable analysis from Gemini.", |
| "tool_outputs": { ... } |
| } |
| ``` |
|
|
| `risk_level`: `LOW` (0-0.3) | `MEDIUM` (0.3-0.6) | `HIGH` (0.6-0.85) | `CRITICAL` (0.85-1.0) |
|
|
| ## Models Used |
|
|
| | Modality | Model | |
| |---|---| |
| | Text / URL | Gemini 2.0 Flash (structured JSON prompt) | |
| | Image deepfake | `dima806/deepfake_vs_real_image_detection` (HF API) | |
| | Image phishing | Gemini Vision (multimodal) | |
| | Video deepfake | Gemini Files API + frame-sampled HF image model | |
| | Audio deepfake | `motheecreator/deepfake-audio-detection-v2` (HF API) | |
| | Audio voice scam | Gemini Audio (multimodal) | |
|
|