
Orchestratore modulare di scansione della sicurezza che combina agenti specializzati per il rilevamento delle vulnerabilità, la ricognizione e l'impronta digitale su reti, applicazioni web, app mobili e API.
OXO è un framework di scansione di sicurezza progettato per modularità, scalabilità e semplicità. È open source ed è mantenuto da Ostorlab.
OXO Engine combina strumenti specializzati affinché lavorino in modo coeso per individuare vulnerabilità ed eseguire azioni come recon, enumerazione e fingerprinting.

Docker è necessario per eseguire le scansioni in locale. Per installare Docker, segui queste istruzioni.
OXO viene distribuito come pacchetto Python su PyPI. Per installarlo, esegui semplicemente il seguente comando se hai già pip
installato.
pip install -U ostorlab
OXO viene fornito con uno store che vanta decine di agenti, da agenti di scansione di rete come Nmap, Nuclei o Tsunami, scanner web come ZAP, strumenti di web fingerprinting come WhatWeb e Wappalyzer, strumenti di DNS brute-forcing come Subfinder e Dnsx, scansione di file malware come VirusTotal e molto altro.
Per eseguire tutti questi strumenti combinati, esegui semplicemente il seguente comando:
La CLI di OXO è accessibile usando i comandi
oxooostorlab.
oxo scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8
Questo comando scaricherà e installerà i seguenti agenti di scansione:
Scansionerà l'indirizzo IP di destinazione 8.8.8.8.
Gli agenti sono distribuiti come immagini Docker standard.
Per controllare lo stato della scansione, esegui:
oxo scan list
Una volta completata la scansione, per accedere ai risultati, esegui:
oxo vulnz list --scan-id <scan-id>
oxo vulnz describe --vuln-id <vuln-id>
Per interrompere una scansione in esecuzione, esegui:
oxo scan stop --scan-id <scan-id>
Per eseguire oxo in un container, puoi usare l'immagine pubblicamente disponibile ed eseguire il seguente comando:
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
Note:
scan run, questo perché l'immagine ostorlab/oxo ha oxo come entrypoint.Quando esegui OXO come scanner on-prem, usa --persist-logs per scrivere i log dello scanner su disco:
oxo scanner --scanner-id <scanner-uuid> --persist-logs
Per impostazione predefinita, i log vengono scritti in ~/.ostorlab/scanner.log. Per scegliere un altro file:
oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-file /var/log/ostorlab/scanner.log
Per cambiare la verbosità dei log persistiti:
oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG
OXO supporta la scansione di più tipi di asset, consentendo una copertura di sicurezza completa su diverse piattaforme e protocolli.
| Categoria | Asset | Descrizione |
|---|---|---|
| Rete | ip | Indirizzo IP o intervallo IP (v4 e v6). |
domain-name | Nome di dominio. | |
| Web | link | Link web, che accetta URL, metodo, header e corpo della richiesta. |
api-schema | Schema API (OpenAPI, GraphQL, ecc.). | |
| Mobile | android-apk / android-aab | File di pacchetto Android (.APK, .AAB). |
android-store | App Android nel Google Play Store. | |
ios-ipa | File di pacchetto iOS (.IPA). | |
ios-store | App iOS nell'Apple App Store. | |
ios-testflight | App iOS in TestFlight. | |
harmonyos-apk / harmonyos-hap | File di pacchetto HarmonyOS. | |
| Altro | file | File generico. |
phone-number | Numero di telefono. | |
agent | Meta-scansione di un agente. |
OXO elenca tutti gli agenti su uno store pubblico dove puoi cercare e anche pubblicare i tuoi agenti.

Per scrivere il tuo primo agente, puoi consultare un tutorial completo qui.
I passaggi sono sostanzialmente i seguenti:
template_agent.py per aggiungere la tua logica.Dockerfile aggiungendo eventuali passaggi di build extra.ostorlab.yaml aggiungendo selettori, documentazione, immagine e licenza.Una volta scritto il tuo agente, puoi pubblicarlo sullo store affinché altri possano usarlo e scoprirlo. Lo store gestirà la build dell'agente e rileverà automaticamente le nuove release dal tuo repository Git.

Implementazioni di strumenti popolari come: