
oxo v2.9.7
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 Scan Orchestration Engine
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.

Caratteristiche principali
- Modulare e scalabile: combina facilmente più agenti specializzati per eseguire scansioni complete.
- Ampio supporto di asset: scansiona qualsiasi cosa, dagli indirizzi IP e domini alle applicazioni mobile (Android, iOS, HarmonyOS) e agli schemi API.
- Agent Store: accedi a una libreria in crescita di agenti della community e ufficiali per i più diffusi strumenti di sicurezza.
- Estensibile: supporto integrato per creare e pubblicare i tuoi agenti usando un semplice framework basato su Python.
- API First: dispone di un'API GraphQL per una facile integrazione in pipeline CI/CD e altri flussi di lavoro automatizzati.
Requisiti
Docker è necessario per eseguire le scansioni in locale. Per installare Docker, segui queste istruzioni.
Installazione
OXO viene distribuito come pacchetto Python su PyPI. Per installarlo, esegui semplicemente il seguente comando se hai già pip
installato.
pip install -U ostorlab
Per iniziare
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.
Gestione delle scansioni
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>
Immagine Docker
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:
- Il comando inizia direttamente con:
scan run, questo perché l'immagineostorlab/oxohaoxocomeentrypoint. - È importante montare il socket Docker affinché OXO possa creare agenti sulla macchina host.
Log dello scanner on-prem
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
Asset
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. |
Lo Store
OXO elenca tutti gli agenti su uno store pubblico dove puoi cercare e anche pubblicare i tuoi agenti.

Pubblica il tuo primo agente
Per scrivere il tuo primo agente, puoi consultare un tutorial completo qui.
I passaggi sono sostanzialmente i seguenti:
- Clona un agente template con tutti i file già configurati.
- Modifica il file
template_agent.pyper aggiungere la tua logica. - Modifica il
Dockerfileaggiungendo eventuali passaggi di build extra. - Modifica il file
ostorlab.yamlaggiungendo selettori, documentazione, immagine e licenza. - Pubblicalo sullo store.
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.

Idee di agenti da sviluppare
Implementazioni di strumenti popolari come: