Skip to content

TrustLink: Detect and safeguard against deceptive URLs. Real-time threat detection using browser extension and web application for enhanced online security.

License

Notifications You must be signed in to change notification settings

spignelon/TrustLink_CyberHackathon

Repository files navigation

TrustLink: Safeguarding Against Deceptive URLs

Welcome to TrustLink, a project developed during the Delhi Police Cyber Hackathon, aimed at enhancing online security by detecting and safeguarding against deceptive URLs. TrustLink leverages machine learning models, data analysis, and dynamic classification techniques to provide users with a reliable solution to identify and avoid malicious links, contributing to a safer online experience.

Team Members

Project Overview

TrustLink utilizes a combination of static and dynamic analysis to examine URLs for potential threats, categorizing them into labels such as phishing, malware, benign, or defacement. The project incorporates diverse data sources, including curated host lists and a pre-trained text classification model, to offer a robust defense against deceptive URLs.

Technology Stack

python--v1 flask transformers Tampermonkey json streamlit

  • Flask: Python-based web framework for developing the backend logic and the API of the TrustLink project.
  • Transformers Library: Utilized for the ML model, providing a pre-trained text classification model for analyzing URLs.
  • Python: Primary programming language for scripting and backend development.
  • Streamlit: Utilized for the web application, allowing users to input URLs and receive classification results.
  • Tampermonkey Script: A Tampermonkey script is provided for enabling real-time threat detection directly in the browser.

Workflow

  1. User Input: Users input a URL into the TrustLink web application or Use Tampermonkey Chrome extension for automatic detection and blocking.
  2. Static Analysis: Comparison against pre-loaded data from various host lists to identify patterns associated with malicious behavior.
  3. Dynamic Analysis: Utilization of a pre-trained text classification model for dynamic analysis if the URL is not found in host lists.
  4. Classification Results: Display of classification results on the webapp, including labels such as phishing, malware, benign, or defacement, along with corresponding scores.

How to Use TrustLink

  1. Clone the repository.
  2. Install the required dependencies using requirements.txt.
  3. Run the Flask API (flask_api.py) to set up the backend logic for URL classification.
  4. Run the Streamlit app (streamlit_app.py) to input a URL and view the classification results.
  5. Optionally, install the Tampermonkey script in your browser to experience real-time threat detection.

Presentation

For a detailed overview of the TrustLink project, including its objectives, workflow, technology stack, and future aspects, please refer to the Delhi Police Cyber Hackathon Project Presentation (PDF).

Future Prospects

TrustLink aims to expand its capabilities in the following areas:

  • Protection against Typosquatting attacks.
  • Protections against IDN Homograph attacks.
  • Enriching the machine learning dataset with additional features, such as comprehensive Whois information and the age of the website.

Acknowledgments

We extend our gratitude to the Delhi Police Cyber Hackathon for providing a platform to develop and showcase TrustLink, as well as to all organizations and individuals contributing to the project's datasets and resources.

License

GNU GPLv3 Image This project is licensed under the GNU General Public License v3.0.

About

TrustLink: Detect and safeguard against deceptive URLs. Real-time threat detection using browser extension and web application for enhanced online security.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published