
oxo v2.9.16
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.
Motore di Orchestrazione delle Scansioni OXO
OXO è un framework di scansione di sicurezza costruito per modularità, scalabilità e semplicità.
OXO Engine combina strumenti specializzati per lavorare in modo coeso per trovare vulnerabilità ed eseguire azioni come ricognizione, enumerazione e fingerprinting.

Caratteristiche Principali
- Modulare e Scalabile: Combina facilmente più agenti specializzati per eseguire scansioni complete.
- Supporto Esteso per Asset: Scansiona qualsiasi cosa, dagli indirizzi IP e domini alle applicazioni mobili (Android, iOS, HarmonyOS) e schemi API.
- Store degli Agenti: Accedi a una libreria in crescita di agenti della community e ufficiali per strumenti di sicurezza popolari.
- Estensibile: Supporto integrato per creare e pubblicare i tuoi agenti utilizzando un semplice framework basato su Python.
- API First: Include un'API GraphQL per una facile integrazione in pipeline CI/CD e altri flussi di lavoro automatizzati.
Requisiti
Docker è necessario per eseguire scansioni localmente. Per installare Docker, segui queste istruzioni.
Installazione
OXO è disponibile come pacchetto Python su PyPI. Per installarlo, esegui semplicemente il seguente comando se hai già pip installato.
pip install -U ostorlab
Per Iniziare
OXO include uno store che vanta dozzine di agenti, da agenti di scansione di rete come Nmap, Nuclei o Tsunami, scanner web come ZAP, strumenti di fingerprinting web come WhatWeb e Wappalyzer, strumenti di brute-forcing DNS come Subfinder e Dnsx, scansione di file malware come VirusTotal e molto altro.
Per eseguire una combinazione di questi strumenti, 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 target 8.8.8.8.
Gli agenti vengono 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 fermare 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 in modo che OXO possa creare agenti sulla macchina host.
Log dello Scanner On-Prem
Quando si esegue 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 persistenti:
oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG
Asset
OXO supporta la scansione di molteplici 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 | Collegamento web, accetta URL, metodo, intestazioni e corpo della richiesta. |
api-schema | Schema API (OpenAPI, GraphQL, ecc.). | |
| Mobile | android-apk / android-aab | File pacchetto Android (.APK, .AAB). |
android-store | App Android nel Google Play Store. | |
ios-ipa | File pacchetto iOS (.IPA). | |
ios-store | App iOS nell'Apple App Store. | |
ios-testflight | App iOS in TestFlight. | |
harmonyos-apk / harmonyos-hap | File 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à impostati.
- Modifica il file
template_agent.pyper aggiungere la tua logica. - Modifica il
Dockerfileaggiungendo eventuali passaggi di build extra. - Modifica
ostorlab.yamlaggiungendo selettori, documentazione, immagine e licenza. - Pubblicalo sullo store.
Una volta che hai scritto il tuo agente, puoi pubblicarlo sullo store affinché altri possano usarlo e scoprirlo. Lo store gestirà la build dell'agente e raccoglierà automaticamente le nuove release dal tuo repository Git.

Idee per Agenti da Realizzare
Implementazioni di strumenti popolari come:
semgrep per la scansione del codice sorgente.- nbtscan: Scansiona i server di nomi NetBIOS aperti sulla rete del tuo target.
- onesixtyone: Scanner veloce per trovare servizi SNMP esposti pubblicamente.
- Retire.js: Scanner che rileva l'uso di librerie JavaScript con vulnerabilità note.
snallygaster: Trova fughe di file e altri problemi di sicurezza su server HTTP.- testssl.sh: Identifica varie debolezze TLS/SSL, inclusi Heartbleed, CRIME e ROBOT.
TruffleHog: Cerca nei repository Git stringhe ad alta entropia e segreti, scavando a fondo nella cronologia dei commit.- cve-bin-tool: Scansiona i binari per componenti vulnerabili.
- XSStrike: Scanner di vulnerabilità web XSS con payload generativo.
Subjack: Strumento di scansione per takeover di sottodomini.- DnsReaper: Strumento di scansione per takeover di sottodomini.
- Gitleaks: Strumento SAST per rilevare e prevenire segreti hardcoded.
- ffuf: Fuzzer web veloce scritto in Go.
- Gobuster: Strumento usato per fare brute-force di URI, sottodomini DNS e altro.
Crediti
Come progetto open-source in un campo in rapido sviluppo, siamo sempre aperti a contributi, che siano sotto forma di una nuova funzionalità, infrastruttura migliorata o documentazione migliore.
Vorremmo ringraziare i seguenti contributori per il loro aiuto nel rendere OXO uno strumento migliore: