Retour aux mises à jour
New releaseJul 20, 2026

oxo v2.9.6

Orchestrateur modulaire de scan de sécurité qui combine des agents spécialisés pour la détection de vulnérabilités, la reconnaissance et l'empreinte numérique à travers les réseaux, les applications web, les applications mobiles et les API.

Partager

PyPI version Downloads Ostorlab blog Twitter Follow

Moteur d'Orchestration de Scan OXO

OXO est un framework de scan de sécurité conçu pour la modularité, l'évolutivité et la simplicité.

Le moteur OXO combine des outils spécialisés pour travailler en synergie afin de trouver des vulnérabilités et d'effectuer des actions comme la reconnaissance, l'énumération et l'empreinte numérique.

OXO principal

Fonctionnalités clés

  • Modulaire et évolutif : Combinez facilement plusieurs agents spécialisés pour effectuer des analyses complètes.
  • Prise en charge étendue des actifs : Analysez tout, des adresses IP et domaines aux applications mobiles (Android, iOS, HarmonyOS) et schémas API.
  • Boutique d'agents : Accédez à une bibliothèque croissante d'agents communautaires et officiels pour les outils de sécurité populaires.
  • Extensible : Prise en charge intégrée pour créer et publier vos propres agents à l'aide d'un framework simple basé sur Python.
  • API d'abord : Dispose d'une API GraphQL pour une intégration facile dans les pipelines CI/CD et d'autres flux de travail automatisés.

Prérequis

Docker est nécessaire pour exécuter les analyses localement. Pour installer Docker, veuillez suivre ces instructions.

Installation

OXO est fourni sous forme de package Python sur PyPI. Pour l'installer, exécutez simplement la commande suivante si vous avez déjà pip installé.

pip install -U ostorlab

Pour commencer

OXO est livré avec une boutique qui propose des dizaines d'agents, allant des agents de scan réseau comme Nmap, Nuclei ou Tsunami, des scanners web comme ZAP, des outils d'empreinte numérique web comme WhatWeb et Wappalyzer, des outils de brute-force DNS comme Subfinder et Dnsx, des analyses de fichiers malveillants comme VirusTotal, et bien plus encore.

Pour exécuter n'importe laquelle de ces combinaisons d'outils, exécutez simplement la commande suivante :

La CLI OXO est accessible via les commandes oxo ou ostorlab.

oxo scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8

Cette commande téléchargera et installera les agents de scan suivants :

Il analysera l'adresse IP cible 8.8.8.8.

Les agents sont distribués sous forme d'images Docker standard.

Gestion des analyses

Pour vérifier l'état de l'analyse, exécutez :

oxo scan list

Une fois l'analyse terminée, pour accéder aux résultats, exécutez :

oxo vulnz list --scan-id <scan-id>
oxo vulnz describe --vuln-id <vuln-id>

Pour arrêter une analyse en cours, exécutez :

oxo scan stop --scan-id <scan-id>

Image Docker

Pour exécuter oxo dans un conteneur, vous pouvez utiliser l'image disponible publiquement et exécuter la commande suivante :

docker run -v /var/run/docker.sock:/var/run/docker.sock ostorlab/oxo:latest scan run --install --agent agent/ostorlab/nmap ip 8.8.8.8

Remarques :

  • La commande commence directement par : scan run, car l'image ostorlab/oxo utilise oxo comme entrypoint.
  • Il est important de monter le socket Docker pour qu'OXO puisse créer des agents sur la machine hôte.

Journaux du scanner sur site

Lorsque vous exécutez OXO en tant que scanner sur site, utilisez --persist-logs pour écrire les journaux du scanner sur le disque :

oxo scanner --scanner-id <scanner-uuid> --persist-logs

Par défaut, les journaux sont écrits dans ~/.ostorlab/scanner.log. Pour choisir un autre fichier :

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-file /var/log/ostorlab/scanner.log

Pour modifier la verbosité des journaux persistés :

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG

Actifs

OXO prend en charge l'analyse de plusieurs types d'actifs, offrant une couverture de sécurité complète sur différentes plateformes et protocoles.

CatégorieActifDescription
RéseauipAdresse IP ou plage IP (v4 et v6).
domain-nameNom de domaine.
WeblinkLien web, acceptant une URL, une méthode, des en-têtes et un corps de requête.
api-schemaSchéma API (OpenAPI, GraphQL, etc.).
Mobileandroid-apk / android-aabFichiers de package Android (.APK, .AAB).
android-storeApplication Android dans le Google Play Store.
ios-ipaFichier de package iOS (.IPA).
ios-storeApplication iOS dans l'Apple App Store.
ios-testflightApplication iOS dans TestFlight.
harmonyos-apk / harmonyos-hapFichiers de package HarmonyOS.
AutresfileFichier générique.
phone-numberNuméro de téléphone.
agentMéta-analyse d'un agent.

La Boutique

OXO répertorie tous les agents sur une boutique publique où vous pouvez rechercher et également publier vos propres agents.

Boutique

Publiez votre premier agent

Pour écrire votre premier agent, vous pouvez consulter un tutoriel complet ici.

Les étapes sont essentiellement les suivantes :

  • Clonez un agent modèle avec tous les fichiers déjà configurés.
  • Modifiez le fichier template_agent.py pour ajouter votre logique.
  • Modifiez le Dockerfile en ajoutant les éventuelles étapes de construction supplémentaires.
  • Modifiez le ostorlab.yaml en ajoutant des sélecteurs, de la documentation, une image et une licence.
  • Publiez-le sur la boutique.

Une fois que vous avez écrit votre agent, vous pouvez le publier sur la boutique pour que d'autres puissent l'utiliser et le découvrir. La boutique se chargera de la construction de l'agent et récupérera automatiquement les nouvelles versions de votre dépôt Git.

Construction

Idées d'agents à développer

Implémentations d'outils populaires tels que :

  • semgrep pour l'analyse de code source.
  • nbtscan : Recherche les serveurs de noms NetBIOS ouverts sur le réseau de votre cible.
  • onesixtyone : Scanner rapide pour trouver les services SNMP exposés publiquement.
  • Retire.js : Scanner détectant l'utilisation de bibliothèques JavaScript présentant des vulnérabilités connues.
  • snallygaster : Trouve les fuites de fichiers et autres problèmes de sécurité sur les serveurs HTTP.
  • testssl.sh : Identifie diverses faiblesses TLS/SSL, y compris Heartbleed, CRIME et ROBOT.
  • TruffleHog : Parcourt les dépôts Git à la recherche de chaînes et de secrets à haute entropie, en fouillant profondément dans l'historique des commits.
  • cve-bin-tool : Analyse les binaires à la recherche de composants vulnérables.
  • XSStrike : Scanner de vulnérabilités XSS web avec une charge utile générative.
  • Subjack : Outil de détection de prise de contrôle de sous-domaine.
  • DnsReaper : Outil de détection de prise de contrôle de sous-domaine.
  • Gitleaks : Outil SAST pour détecter et prévenir les secrets codés en dur.
  • ffuf : Fuzzeur web rapide écrit en Go.
  • Gobuster : Outil utilisé pour le brute-force d'URI, de sous-domaines DNS et plus encore.

Crédits

En tant que projet open-source dans un domaine en évolution rapide, nous sommes toujours ouverts aux contributions, que ce soit sous la forme d'une nouvelle fonctionnalité, d'une infrastructure améliorée ou d'une meilleure documentation.

Nous tenons à remercier les contributeurs suivants pour leur aide à faire d'OXO un meilleur outil :

Catégories