OpenEASM Beta est une plateforme open source d’External Attack Surface Management permettant d’obtenir rapidement une première vision défensive de l’exposition Internet publique d’un domaine.
L’objectif est de répondre à une question simple :
Quelle est notre exposition Internet visible depuis l’extérieur ?
OpenEASM réalise des contrôles publics non exploitants : DNS, SPF, DMARC, MX, TLS/SSL, headers HTTP, sous-domaines publics, IP publiques, services exposés, Nmap service/version/port, corrélation CVE non exploitante, scoring de risque, Graph Explorer et rapports PDF / Excel / JSON.
- Fonctionnalités principales
- Usage responsable
- Installation en 7 étapes
- Commandes utiles
- Installation depuis une archive ZIP
- Structure du projet
- Nmap service/version/CVE
- Graph Explorer
- Rapports
- Scoring OpenEASM Beta
- Limites
- Roadmap
- Auteur
- Avertissement
- Avertissement juridique bloquant au lancement de l’application
- Case d’acceptation obligatoire avant tout audit
- Journalisation de l’acceptation : version du règlement, hash, date UTC, IP et user-agent
- Audit DNS public
- Analyse messagerie : SPF, DMARC, MX
- Analyse Web : accessibilité HTTP/HTTPS et headers de sécurité
- Analyse TLS/SSL : certificat, expiration, version TLS, score TLS
- Découverte passive de sous-domaines publics
- Inventaire des IP publiques
- Distinction entre exposition principale, support et prestataires tiers
- CTI légère via DNSBL
- CVE potentielles passives basées sur les informations publiques
- Nmap service/version/port non exploitant
- Corrélation CVE locale depuis les versions détectées
- Barre de progression avec temps écoulé et temps restant estimé
- Score exécutif par piliers
- Score technique cohérent sur 1000
- Rapports PDF, Excel et JSON
- Diagnostic système, dont présence de Nmap
- Reporting Center
- Vérification de propriété de domaine par DNS TXT
- Graph Explorer relationnel
OpenEASM Beta est conçu pour un usage défensif, autorisé et responsable.
L’utilisateur reste seul responsable des domaines, sous-domaines, adresses IP ou services qu’il soumet à l’analyse.
Il doit disposer d’un droit, d’une autorisation explicite ou d’un motif légitime de sécurité informatique.
OpenEASM Beta ne réalise pas :
- exploitation de vulnérabilités ;
- bruteforce ;
- attaque par déni de service ;
- scripts NSE
exploit,brute,dosouintrusive; - contournement d’authentification ;
- modification de données ;
- extraction frauduleuse de données.
Le scan Nmap est limité à l’identification des ports ouverts, des services et des versions.
La corrélation CVE est réalisée ensuite par OpenEASM à partir des informations de version visibles publiquement.
Sur Debian, Ubuntu ou Kali :
sudo apt update
sudo apt upgrade -ysudo apt install git -yVérifier l’installation :
git --versionsudo apt install docker.io -y
sudo systemctl enable --now dockerVérifier Docker :
docker --version
sudo systemctl status dockerSelon la distribution, deux méthodes sont possibles.
Méthode classique :
sudo apt install docker-compose -y
docker-compose --versionMéthode moderne avec le plugin Docker Compose :
sudo apt install docker-compose-plugin -y
docker compose versionOpenEASM fonctionne avec les deux syntaxes :
docker-compose up -d --buildou :
docker compose up -d --buildOptionnel mais recommandé :
sudo usermod -aG docker $USERFermer puis rouvrir la session Linux.
Vérifier ensuite :
docker psSi la commande fonctionne sans sudo, Docker est prêt.
Cloner le projet :
git clone https://github.com/Swapshadow/open-easm.git
cd open-easmVérifier les fichiers :
lsTu dois voir notamment :
backend/
docker-compose.yml
README.md
.env.example
Avec Docker Compose classique :
docker-compose up -d --buildOu avec le plugin Docker Compose :
docker compose up -d --buildVérifier les conteneurs :
docker-compose psou :
docker compose psOuvrir ensuite l’application dans un navigateur :
http://localhost:8000
Au premier lancement, OpenEASM affiche un avertissement juridique obligatoire.
L’application reste bloquée tant que l’utilisateur n’a pas accepté les conditions d’utilisation.
Vérifier l’API :
curl http://localhost:8000/api/healthRésultat attendu :
{
"status": "ok",
"service": "openeasm-beta",
"version": "beta-1.0"
}docker-compose psou :
docker compose psdocker-compose logs -f open-easm-apiou :
docker compose logs -f open-easm-apidocker-compose downou :
docker compose downdocker-compose up -d --buildou :
docker compose up -d --builddocker-compose down -v
docker-compose up -d --buildou :
docker compose down -v
docker compose up -d --buildAttention : docker-compose down -v supprime les données PostgreSQL et l’historique des audits.
Télécharger l’archive du projet depuis GitHub, puis :
unzip open-easm-beta.zip
cd open-easm-beta
docker-compose up -d --buildou :
unzip open-easm-beta.zip
cd open-easm-beta
docker compose up -d --buildOuvrir ensuite :
http://localhost:8000
backend/
app/
services/ # moteurs d'audit, Nmap service/version, scoring
reports/ # génération PDF / Excel / JSON
static/ # interface web
Dockerfile # installe Nmap dans l'image backend
docker-compose.yml
README.md
.env.example
OpenEASM Beta utilise Nmap pour identifier les ports ouverts, services et versions visibles publiquement.
La logique reste défensive :
nmap -sS -sV --version-all --reason -Pn --openLa corrélation CVE est ensuite réalisée côté OpenEASM, sans exploitation.
Exemples :
Apache httpd 2.4.49 -> CVE-2021-41773 potentielle
Apache httpd 2.4.50 -> CVE-2021-42013 potentielle
Ces résultats sont des corrélations de version.
Ils ne constituent pas une preuve d’exploitation.
Si une version n’est pas exposée, OpenEASM ne doit pas inventer de CVE.
Exemple :
Apache httpd détecté
Version exacte : non exposée
CVE corrélable : non
Le Graph Explorer permet de visualiser les relations entre :
- domaine racine ;
- sous-domaines ;
- IP publiques ;
- services exposés ;
- ports Nmap ;
- CVE corrélées ;
- constats de sécurité.
L’onglet Graph Explorer ne lance aucun scan supplémentaire.
Il affiche uniquement les données collectées pendant l’audit OpenEASM.
OpenEASM Beta génère trois formats de rapport :
- PDF : rapport professionnel orienté direction et plan d’action ;
- Excel : classeur structuré avec onglets d’analyse ;
- JSON : export complet enrichi avec métadonnées.
Les rapports contiennent notamment :
- synthèse exécutive ;
- KPI ;
- score global ;
- score par pilier ;
- plan d’action priorisé ;
- constats localisés ;
- inventaire IP ;
- résultats Nmap ;
- corrélations CVE ;
- limites de l’audit ;
- politique non exploitante.
OpenEASM Beta utilise un scoring par piliers :
- DNS
- Messagerie
- Web
- TLS/SSL
- Surface exposée
- CTI / Réputation
- CVE passives
- CVE service/version issues de la corrélation Nmap
Le score exécutif est calculé sur 100.
Le score technique est cohérent avec ce score :
Score technique /1000 = Score exécutif /100 × 10
OpenEASM Beta reste une base publique de démonstration et d’amélioration continue.
Certaines sources passives peuvent être temporairement indisponibles.
Les CVE corrélées depuis les versions doivent être considérées comme des indices de priorisation.
La présence exacte d’une vulnérabilité dépend :
- de la distribution utilisée ;
- des correctifs backportés ;
- de la configuration ;
- du contexte d’exposition ;
- de la présence ou non d’un reverse proxy ;
- de la fiabilité de la version exposée publiquement.
Une version masquée ne permet pas une corrélation CVE fiable.
Une version apparente peut être corrigée par backport de sécurité selon la distribution Linux utilisée.
- Enrichissement de la base de corrélation CVE
- Mode avancé réservé aux domaines vérifiés
- Intégrations optionnelles Shodan / VirusTotal
- Amélioration des comparaisons entre audits
- Documentation utilisateur plus complète
- Packaging de production
- Amélioration continue des rapports
- Ajout de nouvelles sources passives
Projet imaginé par Jean-Baptiste Terrazzoni.
Développé avec l’assistance de GPT-5.5.
OpenEASM Beta doit être utilisé uniquement dans un cadre autorisé.
Aucun usage offensif ou non autorisé n’est encouragé.
L’utilisateur est responsable de l’usage qu’il fait de l’outil et doit respecter les lois applicables.


