secureml-au/phishing-link-detector-app

GitHub: secureml-au/phishing-link-detector-app

基于 NLP 和机器学习的 Android 应用,实时检测 SMS 短信中的钓鱼攻击并给出风险评分。

Stars: 4 | Forks: 0

# PhishGuard 应用
![PhishGuard Logo](https://img.shields.io/badge/PhishGuard-AI%20Powered-00ff88?style=for-the-badge&logo=android&logoColor=white) [![Java](https://img.shields.io/badge/Java-100%25-ED8B00?style=for-the-badge&logo=java&logoColor=white)](https://www.java.com/) [![Android](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](LICENSE) ### 触手可及的实时钓鱼检测 *一款智能 Android 应用,利用 NLP 和机器学习技术检测 SMS 消息中的钓鱼企图,保护用户免受网络威胁。* [功能](#features) • [演示](#demo) • [安装说明](#installation) • [工作原理](#how-it-works) • [技术栈](#tech-stack) • [贡献](#contributing)
Image ## 概述 **PhishGuard** 是一款先进的 Android 安全应用,旨在实时保护用户免受钓鱼攻击。通过使用先进的自然语言处理(NLP)和机器学习算法分析 SMS 消息,PhishGuard 能够识别恶意内容并在用户上当受骗前发出警报。 ### 主要亮点 - 实时 SMS 扫描,即时检测威胁 - 使用 NLP 和 TensorFlow/Keras 模型进行 AI 驱动的分析 - 用于风险评估的置信度评分 - 注重隐私——所有处理均在本地进行 - 原生 Android UI,采用 Material Design - 用于 ML 模型服务的 Flask REST API 后端 ## 功能 ### 安全功能 - **智能消息分析**:使用 TF-IDF 向量化和神经网络检测钓鱼模式 - **实时扫描**:自动扫描传入的 SMS 消息 - **风险评估**:为检测到的威胁提供置信度评分 - **钓鱼数据库**:维护带有威胁等级的已扫描消息历史记录 ### 用户体验 - **简洁的界面**:直观的 Material Design UI - **即时警报**:针对可疑消息的即时通知 - **消息历史**:查看扫描历史和威胁分析 - **用户反馈**:提供报告误报/漏报的选项 ### ML 能力 - **NLP 处理**:高级文本特征提取 - **模式识别**:识别常见的钓鱼策略 - **持续学习**:通过用户反馈改进模型 - **高准确率**:在广泛的钓鱼数据集上训练 ## 演示
### 应用截图 | 启动屏幕 | 消息扫描器 | 威胁检测 | |:---:|:---:|:---:| | ![Splash](https://raw.githubusercontent.com/secureml-au/phishing-link-detector-app/main/screenshots/splash.png) | ![Scanner](https://raw.githubusercontent.com/secureml-au/phishing-link-detector-app/main/screenshots/scanner.png) | ![Detection](https://raw.githubusercontent.com/secureml-au/phishing-link-detector-app/main/screenshots/detection.png) |
## 安装说明 ### 前置条件 - **Android Studio** Arctic Fox (2020.3.1) 或更高版本 - **JDK** 11 或更高版本 - **Android SDK** API Level 21+ - **Python 3.8+**(用于后端) - **Flask** 及 ML 依赖项(见后端仓库) ### 克隆仓库 ``` git clone https://github.com/ares-coding/PhishGuardApp.git cd PhishGuardApp ``` ### 构建并运行 1. **在 Android Studio 中打开** # 在 Android Studio 中打开项目文件夹 2. **同步 Gradle 依赖** File → Sync Project with Gradle Files 3. **配置后端连接** - 更新 `app/src/main/java/config/ApiConfig.java` 中的 API endpoint public static final String BASE_URL = "http://your-backend-url:5000"; 4. **运行应用** - 连接您的 Android 设备或启动模拟器 - 点击 **Run** 或按下 `Shift + F10` ## 工作原理 ### 架构概述 ``` ┌─────────────────────────────────────────────────────────┐ │ ANDROID CLIENT │ │ ┌────────────┐ ┌──────────────┐ ┌────────────────┐ │ │ │ SMS │ │ UI Layer │ │ Retrofit │ │ │ │ Receiver │→ │ (Activity) │→ │ API Client │ │ │ └────────────┘ └──────────────┘ └────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ HTTP Request ┌─────────────────────────────────────────────────────────┐ │ FLASK REST API │ │ ┌────────────┐ ┌──────────────┐ ┌────────────────┐ │ │ │ API │ │ Preprocessor│ │ ML Model │ │ │ │ Endpoint │→ │ (TF-IDF) │→ │ (Keras/TF) │ │ │ └────────────┘ └──────────────┘ └────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ JSON Response { "prediction": "phishing", "confidence": 0.94, "risk_level": "high" } ``` ### 检测流程 1. **消息接收**:应用拦截传入的 SMS 2. **特征提取**:使用 TF-IDF 对文本进行预处理和向量化 3. **API 请求**:将处理后的特征发送至 Flask 后端 4. **ML 推理**:神经网络分析模式 5. **风险评估**:计算置信度评分 6. **用户通知**:如果检测到威胁则显示警报 7. **历史记录**:将结果存储在本地数据库中 ## 技术栈 ### 前端 (Android) | 技术 | 用途 | |-----------|---------| | ![Java](https://img.shields.io/badge/Java-ED8B00?style=flat&logo=java&logoColor=white) | 主要开发语言 | | ![Android Studio](https://img.shields.io/badge/Android_Studio-3DDC84?style=flat&logo=android-studio&logoColor=white) | IDE 和开发环境 | | ![Retrofit](https://img.shields.io/badge/Retrofit-009688?style=flat&logo=square&logoColor=white) | REST API 客户端 | | ![Material Design](https://img.shields.io/badge/Material_Design-757575?style=flat&logo=material-design&logoColor=white) | UI/UX 组件 | ### 后端 (ML API) | 技术 | 用途 | |-----------|---------| | ![Python](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white) | 后端编程 | | ![Flask](https://img.shields.io/badge/Flask-000000?style=flat&logo=flask&logoColor=white) | REST API 框架 | | ![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?style=flat&logo=tensorflow&logoColor=white) | 深度学习框架 | | ![Keras](https://img.shields.io/badge/Keras-D00000?style=flat&logo=keras&logoColor=white) | 神经网络 API | | ![Scikit-learn](https://img.shields.io/badge/Scikit--learn-F7931E?style=flat&logo=scikit-learn&logoColor=white) | ML 工具与 TF-IDF | ## 项目结构 ``` PhishGuardApp/ ├── .idea/ # Android Studio configuration ├── app/ # Main application module │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ # Java source files │ │ │ │ └── com.phishguard/ │ │ │ │ ├── activities/ # UI Activities │ │ │ │ ├── adapters/ # RecyclerView Adapters │ │ │ │ ├── api/ # Retrofit API interfaces │ │ │ │ ├── models/ # Data models │ │ │ │ ├── receivers/ # SMS Broadcast Receiver │ │ │ │ └── utils/ # Helper classes │ │ │ ├── res/ # Resources │ │ │ │ ├── drawable/ # Images & icons │ │ │ │ ├── layout/ # XML layouts │ │ │ │ ├── values/ # Colors, strings, themes │ │ │ │ └── ... │ │ │ └── AndroidManifest.xml │ │ └── test/ # Unit tests │ └── build.gradle # App-level Gradle config ├── gradle/ # Gradle wrapper ├── .gitignore ├── build.gradle # Project-level Gradle config ├── gradle.properties ├── gradlew # Gradle wrapper script (Unix) ├── gradlew.bat # Gradle wrapper script (Windows) ├── settings.gradle.kts └── README.md # This file ``` ## 权限 该应用需要以下权限: ``` ``` ## 测试 ### 运行单元测试 ``` ./gradlew test ``` ### 运行仪器测试 ``` ./gradlew connectedAndroidTest ``` ## 相关仓库 - **后端 API**:[PhishGuard ML API with Database](https://github.com/ares-coding/phishguard-ml-api-with-database) - **ML 模型训练**:[Phishing Detection Model](https://github.com/ares-coding/phishing-detection-ml) ## 贡献 欢迎贡献。请随时提交 Pull Request。 ### 如何贡献 1. **Fork** 本仓库 2. **创建** 一个功能分支 (`git checkout -b feature/AmazingFeature`) 3. **提交** 您的更改 (`git commit -m 'Add some AmazingFeature'`) 4. **Push** 到该分支 (`git push origin feature/AmazingFeature`) 5. **打开** 一个 Pull Request ### 开发指南 - 遵循 Java 编码规范 - 为新功能编写单元测试 - 根据需要更新文档 - 在提交 PR 前确保所有测试通过 ## 许可证 本项目基于 Apache License 2.0 许可 - 详情请参见 [LICENSE](LICENSE) 文件。 ## 作者 **Au Amores** - GitHub: https://github.com/cybersec-dev-au - 作品集: https://au-dev-cs.vercel.app/ ## 致谢 - TensorFlow 和 Keras 团队提供的 ML 框架 - Android 开发社区 - 开源钓鱼数据集贡献者 - Flask 框架开发者 ## 支持 如果您遇到任何问题或有疑问: 1. 查看 [Issues](https://github.com/ares-coding/PhishGuardApp/issues) 页面 2. 创建一个带有详细描述的新 issue 3. 通过电子邮件联系:[your-email@example.com]
由 [Ares Coding](https://github.com/ares-coding) 充满热情地制作 ![Visitors](https://visitor-badge.laobi.icu/badge?page_id=ares-coding.PhishGuardApp) ![Last Commit](https://img.shields.io/github/last-commit/ares-coding/PhishGuardApp?style=flat-square)
标签:AI安全, Android, Apex, Chat Copilot, DSL, Flask, JS文件枚举, Keras, Material Design, NLP, REST API, SMS安全, TensorFlow, TF-IDF, 人工智能, 域名枚举, 威胁情报, 安卓应用, 实时扫描, 开发者工具, 恶意链接分析, 本地处理, 机器学习, 欺诈防护, 用户模式Hook绕过, 目录枚举, 短信拦截, 神经网络, 移动安全, 网络安全, 网络安全, 逆向工具, 钓鱼检测, 隐私保护, 隐私保护