
Une application simple qui extrait vos IoCs à partir d’entrées indésirables et vérifie leur réputation en utilisant plusieurs services CTI.
<h1 align="center">Cyberbro</h1>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/10725/4970c639439a60187e1ba39523b24c3343a5b6946445d8225e23c4060e002ff0.png" width="90" /><br />
<b><i>Une application simple qui extrait vos IoC à partir d'entrées brutes et vérifie leur réputation à l'aide de multiples services.</i></b>
<br />
<b>🌐 <a href="https://demo.cyberbro.net/">demo.cyberbro.net</a></b><br />
</p>
---
<p align="center">
<a href="https://github.com/stanfrbd/cyberbro/stargazers">
<img src="https://img.shields.io/github/stars/stanfrbd/cyberbro?style=social" alt="GitHub stars">
</a>
<a href="https://x.com/cyberbro_cti">
<img src="https://img.shields.io/twitter/follow/cyberbro_cti?style=social" alt="Follow on X/Twitter">
</a>
<a href="https://infosec.exchange/@cyberbro">
<img src="https://img.shields.io/badge/Follow_@cyberbro-23-blue?logo=mastodon" alt="Mastodon">
</a>
<a href="https://github.com/stanfrbd/cyberbro/issues">
<img src="https://img.shields.io/github/issues/stanfrbd/cyberbro" alt="GitHub issues">
</a>
<a href="https://github.com/stanfrbd/cyberbro/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/stanfrbd/cyberbro" alt="License">
</a>
<a href="https://github.com/stanfrbd/cyberbro/actions/workflows/jobs.yml">
<img src="https://github.com/stanfrbd/cyberbro/actions/workflows/jobs.yml/badge.svg" alt="build and test badge">
</a>
<a href="https://github.com/stanfrbd/cyberbro/actions/workflows/pre-commit-validation.yml">
<img src="https://github.com/stanfrbd/cyberbro/actions/workflows/pre-commit-validation.yml/badge.svg" alt="pre-commit validation badge">
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/Python-3.13-blue?logo=python" alt="Python">
</a>
</p>
---
# À propos
Inspiré par [Cybergordon](https://cybergordon.com/) et [IntelOwl](https://github.com/intelowlproject/IntelOwl).
Ce projet vise à fournir un moyen simple et efficace de vérifier la réputation de vos observables à l'aide de multiples services,
sans avoir à déployer une solution **complexe**. Consultez la documentation sur https://docs.cyberbro.net/
> [!TIP]
> Pour créer des rapports personnalisés, utilisez Cyberbro avec votre **LLM** préféré (Claude, OpenAI gpt-5...) via **MCP** (Model Context Protocol) \
> Consultez [Cyberbro MCP](https://github.com/stanfrbd/mcp-cyberbro) pour plus d'informations.
# Démo

# Fonctionnalités
* **Saisie facile** : Collez des journaux bruts ou des IoC - analyse et extraction automatiques.
* **Vérifications multi-services** : Recherche de réputation pour les IP, hachages, domaines, URL et identifiants d'extensions Chrome sur de nombreux services de threat intelligence.
* **Rapports complets** : Recherche avancée, filtrage et export vers CSV/Excel.
* **Traitement rapide** : Multithreadé pour la rapidité.
* **Pivot automatisé** : Découvrez les domaines, URL et IP associés via le DNS inverse et RDAP / Whois.
* **Informations précises sur les domaines et les abus** : Recherches RDAP / Whois et contacts d'abus.
* **Intégrations** : Microsoft Defender for Endpoint, CrowdStrike, OpenCTI, Grep.App, Hudson Rock, et plus encore.
* **Proxy et stockage** : Prise en charge du proxy et résultats stockés dans SQLite.
* **Historique et graphiques** : Historique des analyses et vue graphique expérimentale.
* **Cache** : Mise en cache pour des recherches répétées plus rapides (activée au niveau multi-moteurs, pas pour chaque moteur).
# Ce qui rend Cyberbro unique
* **Adapté aux débutants** : Accessible à tous les niveaux de compétence.
* **Recherche d'identifiants d'extensions Chrome** : Obtenez les noms d'extensions et les données CTI à partir des identifiants.
* **Déploiement léger** : Installation et utilisation simples.
* **Extraction avancée des TLD** : Détection précise du domaine racine pour de meilleures recherches.
* **Collecte de données pragmatique** : Utilise GitHub et Google pour trouver des IoC négligés.
* **Intégration des rapports CTI** : Récupère les rapports liés aux IoC depuis IoC.One.
* **Intégration EDR** : Vérifie les observables par rapport à vos propres outils de sécurité (MDE, CrowdStrike).
# Pour commencer - TL;DR
> [!TIP]
> Si vous êtes paresseux, vous avez besoin de Docker. \
> Faites un `git clone` ; copiez `.env.sample` vers `.env` ; `docker compose up` puis rendez-vous sur `localhost:5000`. Oui, c'est tout !
# Pour commencer
* Pour commencer, clonez le dépôt
```bash
git clone https://github.com/stanfrbd/cyberbro
cd cyberbro
```
## Modifier le fichier de configuration (obligatoire)
```
cp .env.sample .env
```
> [!NOTE]
> Pas de clés API ? Pas de problème, copiez simplement `.env.sample` vers `.env` et laissez les valeurs optionnelles vides. Faites attention si un proxy est utilisé. \
> Vous pourrez utiliser **tous les moteurs gratuits !**
* Remplissez les valeurs (y compris le proxy si nécessaire) dans le fichier `.env`.
> [!WARNING]
> `.env` contient des secrets sensibles et ne doit jamais être commité.
> Pour les déploiements en production/équipe, utilisez SOPS, Vault ou un workflow équivalent de gestionnaire de secrets.
```bash
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
DFIR_IRIS_SEARCH_NOTES=false
GOOGLE_CSE_CX=cx_here
GOOGLE_CSE_KEY=key_here
GOOGLE_CSE_URL=https://www.googleapis.com/customsearch/v1
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]
> À partir de la version `v0.13.0`, Cyberbro ne prend plus en charge `secrets.json` ni la page `/config`. Cf. [discussion 165](https://github.com/stanfrbd/cyberbro/discussions/165).\
> Si vous avez déjà un `secrets.json` hérité, convertissez-le en `.env` avec :
> `python3 scripts/secrets_json_to_env.py`
Consultez [Options avancées de déploiement](https://docs.cyberbro.net/quick-start/Advanced-options-for-deployment) dans la documentation.
# Lancer l'application
## Simple et facile - utilisez docker
> [!WARNING]
> Assurez-vous d'installer le plugin `compose` en tant que `docker compose` et non `docker-compose`.
> Dans Docker, l'application se lie à `0.0.0.0` à l'intérieur du conteneur même si votre `.env` local définit `FLASK_HOST=127.0.0.1`.
```bash
docker compose up # use -d to run in background and use --build to rebuild the image
```
* Rendez-vous sur http://127.0.0.1:5000 et profitez.
> N'oubliez pas de modifier `.env` avant de construire l'image.
Consultez [Options avancées de déploiement](https://docs.cyberbro.net/quick-start/Advanced-options-for-deployment) dans la documentation pour obtenir toutes les options de déploiement Docker.
## L'ancienne méthode
* Clonez le dépôt et installez les dépendances.
Vous voudrez peut-être créer un [`venv`](https://docs.python.org/3/library/venv.html) avant d'installer les dépendances.
```bash
pip install -r requirements.txt
```
* Lancez l'application avec `gunicorn` (mode propre).
```bash
gunicorn -c prod/gunicorn.conf.py app:app
```
* Lancez l'application en mode développement.
```bash
python3 app.py
```
# Captures d'écran
<details>
<summary>Voir toutes les captures d'écran</summary>
<img width="1897" height="909" alt="image" src="https://assets.kitploit.com/production/public/readmes/10725/b3a07f1e163ae260b2a5f908a70d571a145f702ad50b524725ce4b3562f7c367.png" />
<img width="1883" height="907" alt="image" src="https://assets.kitploit.com/production/public/readmes/10725/3d3404a7e55b688b497db428ecb7fa01b6a23ec8879e2c2c751c68a92545a334.png" />
<img width="1887" height="906" alt="image" src="https://assets.kitploit.com/production/public/readmes/10725/cd57a214ae604ed83ca50d119b49391afc0a66c03b3ed93feecfbb59578f5984.png" />
</details>
<img width="1788" height="1536" alt="image" src="https://assets.kitploit.com/production/public/readmes/10725/2e6051fe1ad7fadde5ff9074dbb4d96528dd2c8ab8262ea10e1fe49fee031153.png" />
<img width="1873" height="900" alt="image" src="https://assets.kitploit.com/production/public/readmes/10725/5201b888fdaa97465f141379e9f5caedb0bdd847b1e31a08b3e236df8b663ed6.png" />
> [!CAUTION]
> Si vous avez l'intention de l'utiliser dans un **environnement de production**, utilisez un **Reverse Proxy** + **WAF** bien configurés pour éviter les **problèmes de sécurité**.
# Extension de navigateur Cyberbro
<p>
<a href="https://addons.mozilla.org/addon/cyberbro-analyzer/"><img src="https://assets.kitploit.com/production/public/readmes/10725/7e7e7002c8f357304f16d1d06ff840c40e92c66f6ed072b18da36329502c7a13.png" alt="Get Cyberbro Analyzer for Firefox"></a>
<a href="https://chromewebstore.google.com/detail/cyberbro-analyzer/nfcfigpaollodajabegcdobhmgaclbbm"><img src="https://assets.kitploit.com/production/public/readmes/10725/28dd6378e71c68b4f21b54ad99bb1225f978b8f2bacfa3c46444f988c09ace1c.png" alt="Get Cyberbro Analyzer for Chromium"></a>
<a href="https://microsoftedge.microsoft.com/addons/detail/cyberbro-analyzer/lbponbmcggcepflackehgpbceehagiam"><img src="https://assets.kitploit.com/production/public/readmes/10725/0a301e6c3048478ead36dfbccdba2e5263de7fbeb3de9d22a9f159f64f378273.png" alt="Get Cyberbro Analyzer for Microsoft Edge"></a>
</p>
# API Cyberbro
* L'API est disponible à l'adresse `/api/` et est accessible via l'interface graphique ou en ligne de commande.
**Il existe actuellement 3 endpoints :**
* `/api/analyze` - Analyse un texte et renvoie l'ID d'analyse (JSON).
* `/api/is_analysis_complete/<analysis_id>` - Vérifie si l'analyse est terminée (JSON).
* `/api/results/<analysis_id>` - Récupère les résultats d'une analyse précédente (JSON).
```bash
curl -X POST "http://localhost:5000/api/analyze" -H "Content-Type: application/json" -d '{"text": "cyberbro.net", "engines": ["reverse_dns", "rdap_whois"]}'
```
```json
{
"analysis_id": "e88de647-b153-4904-91e5-8f5c79174854",
"link": "/results/e88de647-b153-4904-91e5-8f5c79174854"
}
```
```bash
curl "http://localhost:5000/api/is_analysis_complete/e88de647-b153-4904-91e5-8f5c79174854"
```
```json
{
"complete": true
}
```
```bash
curl "http://localhost:5000/api/results/e88de647-b153-4904-91e5-8f5c79174854"
```
```json
[
{
"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 [page de documentation dédiée](https://docs.cyberbro.net/quick-start/API-usage-and-engine-names) donne tous les noms des moteurs utilisables.
# API et services tiers
* [AbuseIPDB](https://docs.abuseipdb.com/)
* [Abusix](https://abusix.com/)
* [Alienvault](https://otx.alienvault.com/)
* [CriminalIP](https://www.criminalip.io/)
* [CrowdStrike](https://www.crowdstrike.com/)
* [crt.sh](https://crt.sh/)
* [DFIR Iris](https://www.dfir-iris.org/)
* [Github](https://github.com/)
* [Google Safe Browsing](https://developers.google.com/safe-browsing)
* [Google](https://google.com/)
* [Google DNS](https://dns.google/)
* [Grep.App](https://grep.app/)
* [Hister](https://hister.org/)
* [Hudson Rock](https://hudsonrock.com/)
* [ICANN](https://lookup.icann.org/)
* [IPapi](https://ipapi.is/)
* [IPinfo](https://ipinfo.io/developers)
* [IPquery](https://ipquery.gitbook.io/ipquery-docs)
* [Ioc.One](https://ioc.one/)
* [Microsoft Defender for Endpoint](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-for-endpoint-api)
* [Microsoft Entra ID (OpenID Configuration)](https://login.microsoftonline.com/)
* [MISP](https://www.misp-project.org/)
* [MISP Feedback](https://github.com/MISP/misp-feedback/)
* [OpenCTI](https://www.opencti.io/)
* [OpenRDAP](https://www.openrdap.org/)
* [Phishtank](https://www.phishtank.com/)
* [Ransomware.Live](https://ransomware.live/)
* [ReversingLabs Spectra Analyze](https://www.reversinglabs.com/products/spectra-analyze)
* [Rösti](https://rosti.bin.re/) - Repackaged Open Source Threat Intelligence
* [ScanMalware](https://scanmalware.com/)
* [Shodan](https://developer.shodan.io/)
* [Spur.us](https://spur.us/)
* [ThreatFox](https://threatfox.abuse.ch/api/)
* [URLscan](https://urlscan.io/)
* [VirusTotal](https://developers.virustotal.com/v3.0/reference)
* [WebScout](https://webscout.io/)
> [!NOTE]
> Des questions ? Consultez https://docs.cyberbro.net ou ouvrez une [issue](https://github.com/stanfrbd/cyberbro/issues/new) \
> Pour la configuration avancée (réglage de `supervisord.conf` avant le déploiement, sélection des moteurs visibles, changement du préfixe `/api/`...), consultez la [page de documentation dédiée](https://docs.cyberbro.net/quick-start/Advanced-options-for-deployment).
# Remerciements particuliers
Un immense merci à tous les incroyables contributeurs qui ont soumis des pull requests et contribué à améliorer ce projet :
* [Florian PILLOT](https://github.com/Harukunnn) qui a retravaillé les moteurs (refactoring et optimisations).
* [Axel](https://github.com/botlabsDev) qui développe [Ioc.One](https://ioc.one/) et a ajouté un User-Agent spécifique permettant le scraping de Ioc[.]One.
* [Jon Mark Allen](https://github.com/ubahmapk/) qui a ajouté une meilleure gestion des secrets et des tests. Il a beaucoup refactorisé et apporté de nombreuses améliorations à la base de code, notamment CriminalIP.
* [cirosec GmbH - Felix Friedberger](https://github.com/cirosec) pour l'ajout du moteur crt.sh.
* [Stig Dahl](https://github.com/sdaaish) pour l'amélioration du moteur crt.sh, l'ajout de la recherche DFIR IRIS et la correction des problèmes Bandit, la correction du moteur MISP, l'ajout du moteur MISP Feedback.
* [0xffr](https://github.com/0xffr) pour la correction de l'issue #98 - moteur Grep.app cassé et commentaires appropriés dans le moteur CriminalIP.
* [Maxime Berthault - Maxou56800](https://github.com/Maxou56800) pour le développement de Cyberbro CLI.
* [Jonas Lejon](https://github.com/jonaslejon) pour l'ajout du moteur ScanMalware.
* [egeoguz04](https://github.com/egeoguz04) pour avoir permis la configuration de l'endpoint Google CSE. Cela sera utile pour les prochains changements de Google.
Vos contributions sont grandement appréciées !
# Licence
```
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.
```
# Logo
Le logo utilisé dans ce projet est libre d'utilisation personnelle et commerciale et peut être trouvé [ici](https://www.veryicon.com/icons/object/material_design_icons/web-39.html).