Skip to content

su7ox/SafeNav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SafeNav – Web & Link Safety Analysis Platform

SafeNav is an AI-assisted web and link analysis platform designed to evaluate the safety of URLs, websites, and application links.
It performs multi-layer analysis using static inspection, reputation checks, and machine-learning–based scoring to identify potentially malicious or unsafe links.

The project is structured as a full-stack system with a React frontend and a Python-based backend, focusing on real-world web security use cases such as phishing detection, suspicious domain analysis, and unsafe content identification.


🚀 Key Features

URL Normalization & Parsing

Handles different types of links including shortened URLs, redirects, and malformed URLs.

Static & Lexical Analysis

Detects suspicious patterns such as abnormal URL length, special characters, and domain structure anomalies.

Reputation & Domain Intelligence

Evaluates domain age, SSL certificate validity, and known reputation signals.

Machine Learning–Based Risk Scoring

Uses engineered features and machine learning models to compute a final safety score for each URL.

Modular Detection Pipeline

Designed with separable components for easy extension, testing, and experimentation.


🧱 Project Architecture

SafeNav is organized as a full-stack application:

  • frontend/ – React-based user interface
  • backend/ – Python backend responsible for API handling and link analysis

🎨 Frontend

  • Built with React (Vite)
  • Responsible for user interaction and result visualization
  • Communicates with backend APIs to request URL analysis and display safety reports

⚙️ Backend

  • Built using Python
  • Implements the core security analysis pipeline:
    • URL normalization
    • Lexical and structural checks
    • SSL and domain inspection
    • Machine learning–based scoring engine

🛠 Tech Stack

Frontend

  • React
  • Vite
  • JavaScript
  • HTML / CSS

Backend

  • Python
  • FastAPI (API layer)
  • Scikit-learn (machine learning experimentation)
  • Custom feature engineering modules

Tooling

  • Git & GitHub
  • Visual Studio Code

📌 Use Cases

  • Phishing link detection
  • Unsafe website analysis
  • Educational research on web security and threat detection
  • Full-stack development practice with a security focus

📈 Project Status

This project is actively under development.
Planned enhancements include:

  • Advanced machine learning models
  • Dynamic behavior analysis
  • Containerized deployment (Docker)
  • Extended reporting and visualization features

▶️ How to Run SafeNav

SafeNav can be executed in two different modes depending on the use case:

  • Docker Mode – Recommended for demo, evaluation, and deployment
  • Development Mode – Recommended while coding and debugging

🐳 Running with Docker (Recommended)

This mode runs the frontend, backend, and database together using Docker Compose.

Prerequisites

  • Docker Desktop installed
  • Docker Compose enabled

Steps

  1. Clone the repository:
git clone https://github.com/su7ox/SafeNav.git
cd SafeNav
  1. Build and start all services:
docker-compose up -d
  1. Verify running containers:
docker ps

Access the Application

Stop the Application

docker-compose down

Apply Code Changes

Docker does not automatically reflect code changes.

docker-compose build
docker-compose up -d

🧑‍💻 Running in Development Mode (Without Docker)

This mode supports hot reload and is recommended during development.


🔹 Backend (FastAPI)

Prerequisites

  • Python 3.10 or higher

Steps

  1. Navigate to backend directory:
cd backend
  1. Create virtual environment (one-time):
python -m venv venv
  1. Activate virtual environment:
venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run backend server:
uvicorn app.main:app --reload

Backend will be available at:


🔹 Frontend (React + Vite)

Prerequisites

  • Node.js (LTS version recommended)

Steps

  1. Open a new terminal and navigate to frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Start frontend development server:
npm run dev

Frontend will be available at:


📄 License

This project is licensed under the MIT License.


👤 Author

su7ox

GitHub: @su7ox

About

A URL/links checker tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published