Skip to content

Ergil-walos/waloscan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aperçu Waloscan

Waloscan

Plateforme d'audit de sécurité opérationnelle et d'analyse OSINT pour cartographier une surface d'attaque web,
analyser des identités compromises et détecter des liens de phishing.

GitHub stars License CI status Python version

Démarrage rapideArchitectureExemplesContribuer

Développé en Python avec Flask, Waloscan combine renseignement open source (OSINT), moteur heuristique anti-phishing et audit réseau passif pour fournir une visibilité immédiate sur les menaces externes.


Table des matières


Pourquoi Waloscan

Waloscan répond à trois besoins opérationnels critiques :

  • Reconnaissance de surface externe : identifier rapidement les risques visibles depuis internet.
  • Analyse de liens suspects : réduire le risque de phishing avec une approche heuristique défensive.
  • Vérification de compromission d'identité : estimer l'exposition d'une adresse e-mail dans des fuites connues.

Aperçu visuel

Aperçu Waloscan

Aperçu Waloscan


Fonctionnalités clés

1) Audit d'infrastructure web et reconnaissance de surface

  • Port scanning : cartographie des services et ports critiques exposés publiquement (FTP 21, SSH 22, RDP 3389, etc.).
  • Vulnerability & header scan : audit des formulaires web et vérification des en-têtes HTTP de sécurité (HSTS, CSP, X-Frame-Options).
  • Sensitive file discovery : détection de fuites potentielles (.env, .git/HEAD, configurations, dumps SQL).
  • Passive OSINT gatherer : extraction et corrélation d'adresses e-mail professionnelles indexées.

2) Analyse anti-phishing de liens

  • Normalisation visuelle (anti-typosquatting) : détection des homographes IDN et anomalies de domaine.
  • Analyse de mots-clés suspects : score de risque selon les termes trouvés dans l'URI (login, verification, secure-banking, etc.).
  • Détection d'obfuscation et de redirections : inspection des shorteners et chaînes de redirection.

3) Data breach checker (identités numériques)

  • Intelligence globale des fuites : interrogation croisée de bases de violations de données pour estimer le niveau de compromission historique d'une identité numérique.

Stack technique

  • Backend : Python 3.10+, Flask
  • Frontend : HTML5, Tailwind CSS v4, JavaScript (Vanilla + Fetch API)
  • Réseau / parsing : requests, urllib.parse, socket
  • Gestion des dépendances : uv

Démarrage rapide (60 secondes)

git clone https://github.com/ergil-walos/waloscan.git
cd waloscan
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
uv run flask run --debug

Puis ouvrez :

http://127.0.0.1:5000

Installation complète

Waloscan utilise uv, un gestionnaire de paquets Python moderne et rapide, pour une installation propre et reproductible.

Prérequis

  • Python 3.10+
  • uv installé :
# Linux / macOS
curl -sSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
irm https://astral.sh/uv/install.sh | iex

1) Cloner le dépôt

git clone https://github.com/ergil-walos/waloscan.git
cd waloscan

2) Créer l'environnement virtuel

uv venv

3) Activer l'environnement virtuel

# Linux / macOS
source .venv/bin/activate

# Windows (cmd)
.venv\Scripts\activate.bat

# Windows (PowerShell)
.venv\Scripts\Activate.ps1

4) Installer les dépendances

uv pip install -r requirements.txt

5) Lancer le serveur Flask

uv run flask run --debug

6) Accéder à l'interface

http://127.0.0.1:5000

Architecture

flowchart LR
    U[Utilisateur] --> W[Interface Web Flask]
    W --> O1[Module Audit Web]
    W --> O2[Module Anti-Phishing]
    W --> O3[Module Data Breach]

    O1 --> N1[Ports / Headers / Fichiers sensibles]
    O2 --> N2[Heuristiques URL / Redirections]
    O3 --> N3[Sources de fuites connues]

    N1 --> R[Score + Rapport]
    N2 --> R
    N3 --> R
    R --> W
Loading

Flux d'analyse

  1. L'utilisateur soumet une cible (domaine, URL ou e-mail).
  2. Waloscan route la cible vers le pipeline d'analyse adapté.
  3. Les signaux sont corrélés pour produire un score et une synthèse exploitable.
  4. Les résultats sont affichés dans l'interface et disponibles côté CLI.

Exemples d'utilisation

Audit de surface d'un domaine

uvx --with-requirements requirements.txt python run_audit.py --target example.com

Analyse anti-phishing d'une URL

uvx --with-requirements requirements.txt python run_audit.py --url "https://secure-login-example.com/verify"

Vérification d'une identité exposée

uvx --with-requirements requirements.txt python run_audit.py --email "analyste@example.com"

Sorties et rapports

Waloscan peut être utilisé pour produire des résultats directement exploitables dans des workflows SOC, CERT ou pentest :

  • Vue opérateur : score de risque, signaux critiques et indicateurs de confiance.
  • Vue technique : détails par module (ports, headers, redirections, indicateurs de fuite).
  • Industrialisation : intégration possible à une chaîne CI/CD ou à un orchestrateur d'audits.

Exemple de structure de résultat attendue :

{
  "target": "example.com",
  "risk_score": 72,
  "modules": {
    "web_surface": "warning",
    "phishing": "high",
    "breach": "medium"
  },
  "highlights": [
    "Port d'administration exposé",
    "Chaîne de redirection suspecte"
  ]
}

Exécution CLI (one-shot)

Pour lancer un audit ponctuel sans préparer manuellement tout l'environnement :

uvx --with-requirements requirements.txt python run_audit.py --target exemple.com

Roadmap

  • Ajouter un scoring de risque consolidé (0-100) multi-modules.
  • Exporter les rapports en JSON et PDF.
  • Ajouter des tests unitaires et d'intégration automatisés.
  • Ajouter un mode multi-cibles avec file d'attente.
  • Publier un workflow CI GitHub Actions complet.
  • Ajouter un conteneur Docker officiel.

Contribution

Les contributions sont les bienvenues.

  1. Forkez le projet.
  2. Créez une branche de fonctionnalité (git checkout -b feature/ma-fonctionnalite).
  3. Commitez vos changements en respectant PEP 8 et des messages de commit clairs.
  4. Ouvrez une Pull Request vers la branche principale.

Avertissement légal

Important : Waloscan est destiné uniquement à l'éducation, la recherche en cybersécurité et l'audit autorisé d'infrastructures pour lesquelles vous disposez d'une permission explicite. Toute utilisation non autorisée est illégale. L'auteur décline toute responsabilité en cas d'usage malveillant ou détourné.


Licence

Ce projet est distribué sous licence GNU GPL v3. Consultez le fichier LICENSE pour les conditions de redistribution, de modification et d'utilisation.