ScanWise


Inspiration

The inspiration for ScanWise came from the increasing risk of encountering phishing and malicious websites through QR codes. With QR codes becoming a common way to access information, from restaurant menus to payment systems, we saw a need for a tool that combines AI with traditional database methods to provide accurate and reliable security. We wanted to create a solution that could empower users to navigate the web safely, without fear of falling victim to malicious links.

What it Does

ScanWise is an AI-powered QR code scanner that identifies and warns users about malicious URLs. It uses a combination of machine learning and a database of known URLs to determine the safety of a link. If the URL is flagged as dangerous, the user is immediately alerted. Additionally, ScanWise leverages database overrides to ensure that AI predictions are accurate, with safe or malicious URLs categorized and checked against the database.

How We Built It

  • Frontend: We developed a React-based user interface that captures QR codes using the device's camera. Axios is used for making API requests to a Flask backend, and the app uses dynamic navigation to display results based on the analysis.
  • Backend: The backend is built using Flask, which handles image processing, QR code decoding, and URL feature extraction. The backend integrates with MongoDB for storing and retrieving known URLs, using machine learning to predict the safety of unlisted links.
  • Machine Learning: We collected a dataset of safe and malicious URLs and extracted key features. A Random Forest model was trained using Python libraries like scikit-learn to predict the safety of URLs. This model is used alongside a database check to provide accurate results.

Challenges We Ran Into

  • Image Processing: Handling images that didn’t contain QR codes while providing meaningful feedback to users was a challenge.
  • Database Integration: Overcoming SSL-related issues during MongoDB integration and ensuring a secure connection between the backend and the database required significant troubleshooting.
  • Data Accuracy: Balancing machine learning predictions with database overrides to ensure the safest outcome required fine-tuning and logic adjustments.
  • Frontend Optimization: Making the QR scanning intuitive, reliable, and smooth while integrating it seamlessly with backend processes posed additional challenges.

Accomplishments That We're Proud Of

  • Successfully combining machine learning with database checks to improve accuracy and security.
  • Creating a user-friendly interface that allows seamless QR scanning and analysis.
  • Overcoming technical hurdles related to secure database communication and error handling.
  • Building a robust backend capable of handling image processing, AI predictions, and database queries efficiently.

What We Learned

We learned a great deal about:

  • Machine Learning: How to train and optimize models for URL safety analysis.
  • Database Management: Handling database interactions securely, including solving SSL/TLS issues.
  • Frontend-Backend Communication: Ensuring smooth integration between React frontend and Flask backend.
  • Error Handling: Managing edge cases where the QR code does not contain a URL and providing appropriate user feedback.

What's Next for ScanWise

We aim to:

  • Enhance the AI Model: Improve the accuracy of the AI model with more comprehensive datasets and more training iterations.
  • Expand the Database: Grow the database of safe and malicious URLs for more accurate overrides.
  • User Interface Enhancements: Improve the UI/UX to make QR scanning even more intuitive.
  • Mobile Optimization: Create a mobile app version to make the solution more accessible.
  • Threat Intelligence: Integrate threat intelligence feeds to keep the database updated with the latest threats in real-time.
Share this project:

Updates