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.
Démarrage rapide • Architecture • Exemples • Contribuer
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.
- Pourquoi Waloscan
- Aperçu visuel
- Fonctionnalités clés
- Stack technique
- Démarrage rapide (60 secondes)
- Installation complète
- Architecture
- Exemples d'utilisation
- Sorties et rapports
- Exécution CLI (one-shot)
- Roadmap
- Contribution
- Avertissement légal
- Licence
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.
- Port scanning : cartographie des services et ports critiques exposés publiquement (FTP
21, SSH22, RDP3389, 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.
- 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.
- 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.
- 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
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 --debugPuis ouvrez :
http://127.0.0.1:5000
Waloscan utilise uv, un gestionnaire de paquets Python moderne et rapide, pour une installation propre et reproductible.
- Python
3.10+ uvinstallé :
# Linux / macOS
curl -sSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
irm https://astral.sh/uv/install.sh | iexgit clone https://github.com/ergil-walos/waloscan.git
cd waloscanuv venv# Linux / macOS
source .venv/bin/activate
# Windows (cmd)
.venv\Scripts\activate.bat
# Windows (PowerShell)
.venv\Scripts\Activate.ps1uv pip install -r requirements.txtuv run flask run --debughttp://127.0.0.1:5000
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
- L'utilisateur soumet une cible (domaine, URL ou e-mail).
- Waloscan route la cible vers le pipeline d'analyse adapté.
- Les signaux sont corrélés pour produire un score et une synthèse exploitable.
- Les résultats sont affichés dans l'interface et disponibles côté CLI.
uvx --with-requirements requirements.txt python run_audit.py --target example.comuvx --with-requirements requirements.txt python run_audit.py --url "https://secure-login-example.com/verify"uvx --with-requirements requirements.txt python run_audit.py --email "analyste@example.com"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"
]
}Pour lancer un audit ponctuel sans préparer manuellement tout l'environnement :
uvx --with-requirements requirements.txt python run_audit.py --target exemple.com- 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.
Les contributions sont les bienvenues.
- Forkez le projet.
- Créez une branche de fonctionnalité (
git checkout -b feature/ma-fonctionnalite). - Commitez vos changements en respectant PEP 8 et des messages de commit clairs.
- Ouvrez une Pull Request vers la branche principale.
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é.
Ce projet est distribué sous licence GNU GPL v3. Consultez le fichier LICENSE pour les conditions de redistribution, de modification et d'utilisation.


