
Un'applicazione semplice che estrae i tuoi IoC da input spazzatura e ne verifica la reputazione utilizzando molteplici servizi CTI.

Un'applicazione semplice che estrae i tuoi IoC da input spazzatura e ne verifica la reputazione tramite molteplici servizi.
🌐 demo.cyberbro.net
Ispirato da Cybergordon e IntelOwl.
Questo progetto mira a fornire un modo semplice ed efficiente per verificare la reputazione dei tuoi osservabili utilizzando molteplici servizi, senza dover implementare una soluzione complessa. Leggi la documentazione su https://docs.cyberbro.net/
[!TIP] Per creare report personalizzati, utilizza Cyberbro con il tuo LLM preferito (Claude, OpenAI gpt-5...) tramite MCP (Model Context Protocol)
Dai un'occhiata a Cyberbro MCP per maggiori informazioni.

[!TIP] Se sei pigro, ti serve Docker.
Fai ungit clone; copia.env.samplein.env;docker compose uppoi vai sulocalhost:5000. Sì, è tutto!
git clone https://github.com/stanfrbd/cyberbro
cd cyberbro
cp .env.sample .env
[!NOTE] Non hai chiavi API? Nessun problema, basta copiare
.env.samplein.enve lasciare vuoti i valori opzionali. Fai attenzione se viene utilizzato un proxy.
Potrai utilizzare tutti i motori gratuiti!
.env.[!WARNING]
.envcontiene segreti sensibili e non deve mai essere committato. Per deployment in produzione/team, utilizza SOPS, Vault o un flusso di lavoro equivalente per la gestione dei segreti.
ABUSEIPDB=token_here
ALIENVAULT=token_here
CRIMINALIP_API_KEY=token_here
CROWDSTRIKE_CLIENT_ID=client_id_here
CROWDSTRIKE_CLIENT_SECRET=client_secret_here
DFIR_IRIS_API_KEY=token_here
DFIR_IRIS_URL=https://dfir-iris.local
GOOGLE_CSE_CX=cx_here
GOOGLE_CSE_KEY=key_here
GOOGLE_SAFE_BROWSING=token_here
HISTER_TOKEN=token_here
HISTER_BASE_URL=https://hister.example.com
IPAPI=token_here
IPINFO=token_here
MDE_CLIENT_ID=client_id_here
MDE_CLIENT_SECRET=client_secret_here
MDE_TENANT_ID=tenant_here
MISP_API_KEY=token_here
MISP_URL=https://misp.local
MISP_FEEDBACK_SERVER_URL=https://misp-feedback.local
MISP_FEEDBACK_TOKEN=token_here
OPENCTI_API_KEY=token_here
OPENCTI_URL=https://demo.opencti.io
PROXY_URL=
RANSOMWARE_LIVE_API_KEY=token_here
RL_ANALYZE_API_KEY=token_here
RL_ANALYZE_URL=https://spectra_analyse_url_here
ROSTI_API_KEY=token_here
SHODAN=token_here
SPUR_US=token_here
THREATFOX=token_here
VIRUSTOTAL=token_here
WEBSCOUT=token_here
[!IMPORTANT] A partire dalla versione
v0.13.0, Cyberbro non supporta piùsecrets.jsone la pagina/config. Vedi discussione 165.
Se possiedi già unsecrets.jsonlegacy, convertilo in.envcon:python3 scripts/secrets_json_to_env.py
Vedi Opzioni avanzate per il deployment nella documentazione.
[!WARNING] Assicurati di installare il plugin
composecomedocker composee nondocker-compose. In Docker, l'app si lega a0.0.0.0all'interno del contenitore anche se il tuo.envlocale impostaFLASK_HOST=127.0.0.1.
docker compose up # usa -d per eseguire in background e --build per ricostruire l'immagine
Non dimenticare di modificare
.envprima di creare l'immagine.
Vedi Opzioni avanzate per il deployment nella documentazione per tutte le opzioni di deployment Docker.
Potresti voler creare un venv prima di installare le dipendenze.
pip install -r requirements.txt
gunicorn (modalità pulita).gunicorn -c prod/gunicorn.conf.py app:app
python3 app.py
[!CAUTION] Se intendi utilizzarlo in un ambiente di produzione, utilizza un Reverse Proxy ben configurato + WAF per prevenire problemi di sicurezza.
/api/ e può essere accessibile tramite GUI o riga di comando.Attualmente ci sono 3 endpoint:
/api/analyze - Analizza un testo e restituisce l'ID dell'analisi (JSON)./api/is_analysis_complete/<analysis_id> - Verifica se l'analisi è completa (JSON)./api/results/<analysis_id> - Recupera i risultati di un'analisi precedente (JSON).curl -X POST "http://localhost:5000/api/analyze" -H "Content-Type: application/json" -d '{"text": "cyberbro.net", "engines": ["reverse_dns", "rdap_whois"]}'
{
"analysis_id": "e88de647-b153-4904-91e5-8f5c79174854",
"link": "/results/e88de647-b153-4904-91e5-8f5c79174854"
}
curl "http://localhost:5000/api/is_analysis_complete/e88de647-b153-4904-91e5-8f5c79174854"
{
"complete": true
}
curl "http://localhost:5000/api/results/e88de647-b153-4904-91e5-8f5c79174854"
[
{
"observable": "cyberbro.net",
"rdap_whois": {
"abuse_contact": "[email protected]",
"creation_date": "2024-12-20",
"data_source": "rdap",
"emails": [
"[email protected]"
],
"expiration_date": "2026-12-20",
"link": "https://rdap.verisign.com/net/v1/domain/CYBERBRO.NET",
"name_servers": [
"anderson.ns.cloudflare.com",
"lisa.ns.cloudflare.com"
],
"organization": null,
"registrant": null,
"registrant_country": null,
"registrant_email": null,
"registrar": "Cloudflare, Inc.",
"update_date": "2025-11-20"
},
"reverse_dns": {
"reverse_dns": [
"172.67.197.226",
"104.21.42.7"
]
},
"reversed_success": true,
"type": "FQDN"
}
]
[!NOTE] La pagina dedicata della documentazione elenca tutti i nomi dei motori utilizzabili.
[!NOTE] Hai domande? Consulta https://docs.cyberbro.net o apri un issue
Per la configurazione avanzata (taratura disupervisord.confprima del deploy, selezione dei motori visibili, modifica del prefisso/api/...), consulta la pagina dedicata della documentazione.
Un enorme ringraziamento a tutti gli incredibili collaboratori che hanno inviato pull request e contribuito a migliorare questo progetto:
I vostri contributi sono molto apprezzati!
MIT License
Copyright (c) 2024-2026 stanfrbd
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Il logo utilizzato in questo progetto è gratuito per uso personale e commerciale e può essere trovato qui.