A Flutter-based mobile application that enhances cybersecurity by scanning QR codes and detecting malicious URLs using integrated threat intelligence APIs and a custom malicious URL database.
QR Secure Scan is designed to help users safely scan QR codes, identify potential threats, and report suspicious content. With real-time analysis through the VirusTotal API and community-driven URL reporting, the app provides a powerful shield against phishing and malware attacks via QR codes.
-
Real-time QR Code Scanning
- Scan using the camera or import from the gallery
- Detects and analyzes embedded URLs
-
Threat Detection
- Integration with VirusTotal API
- Custom database for admin-verified malicious URLs
-
User Reporting System
- Submit suspicious URLs with optional screenshots and explanations
-
Admin Panel
- Manage reported URLs
- Classify URLs as malicious or safe
- Update the malicious URL database
-
Public Threat Awareness
- View a database of known malicious URLs
- Frontend: Flutter
- Backend: Firebase (Realtime Database)
- Programming Language: Dart
- Security & Threat Analysis: VirusTotal API
- IDE: Android Studio / Visual Studio Code
-
Create New Flutter Project on Android Studio or Visual Studio Code and name it 'qr_secure_scan'.
-
Clone this repository or download zip file:
git clone https://github.com/aivxx02/qr-secure-scan.git
-
Extract the Zip file and copy the files and paste/replace it on 'qr_secure_scan' project file.
-
Install dependencies:
flutter pub get
-
Line 9, 10, 41, 42, 72 & 73 lib/SMTPEmail.dart/
const String username = '[email protected]'; // insert your gmail const String password = 'xx xx xx xx'; // Use an App Password, NOT your Gmail password
-
Line 120 lib/pages/users/scan/scan_page.dart && Line 122 lib/pages/users/scan/image_select.dart
const apiKey = ''; // insert Virus Total API key
-
Set up Firebase and Intergrate with Flutter by OWN.
-
Firestore Database
-
Authentication
-
Storage
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.




