
Un framework d'exécution de leurres low code sécurisé, exploitant l'IA pour la virtualisation des systèmes.
 # Beelzebub **Framework de tromperie open source.** Déployez des leurres réalistes. Observez le comportement des attaquants. Transformez les interactions en preuves de sécurité. **[Découvrir la plateforme Beelzebub](https://beelzebub.ai/products/beelzebub-cloud/)** · [Documentation](https://docs.beelzebub.ai) · [Démarrage rapide](#get-started) [](https://github.com/beelzebub-labs/beelzebub/actions/workflows/main.yml) [](https://codecov.io/gh/beelzebub-labs/beelzebub) [](LICENSE) [](https://pkg.go.dev/github.com/beelzebub-labs/beelzebub/v3) [](https://github.com/avelino/awesome-go) Beelzebub offre aux équipes de sécurité un moyen configurable d'étudier l'activité dirigée vers des services leurres. Définissez l'environnement que rencontre un attaquant, choisissez la manière dont il répond et capturez l'interaction pour l'investigation. Exécutez le framework de manière autonome ou connectez-le à la plateforme Beelzebub. ## Pourquoi Beelzebub - **Déployez des leurres adaptés à votre environnement.** Définissez les services, les routes et les règles de réponse en YAML. Utilisez des gestionnaires statiques pour un comportement prévisible ou des réponses générées par LLM pour des interactions adaptatives. Étendez le runtime avec des plugins Go de confiance lorsque vous avez besoin d'un comportement personnalisé. - **Observez ce qui se passe après le contact.** Capturez les preuves issues des interactions avec les leurres, notamment les commandes, les détails des requêtes HTTP et le contexte de session, selon le protocole. Offrez aux analystes un enregistrement de l'activité dirigée vers le service pour appuyer l'investigation. - **Intégrez les preuves à votre flux de travail.** Inspectez les journaux localement, publiez des événements structurés vers RabbitMQ ou activez la remontée vers la plateforme Beelzebub. Activez les métriques Prometheus avec `core.prometheus.enabled: true` pour surveiller l'activité du runtime ; par défaut, l'écouteur de métriques est désactivé et ne lie aucun port. ## Voyez-le en action Regardez un leurre propulsé par LLM répondre aux entrées d'un attaquant. La démo illustre comment les réponses générées peuvent maintenir une interaction au-delà d'un ensemble fixe de gestionnaires de commandes.  ## Comment ça fonctionne [](docs/public/readme/how-it-works.svg) Définissez les services et les règles en YAML, validez la configuration et démarrez le runtime. Les plugins Go de confiance sont compilés dans le runtime pour étendre les services et les réponses. Chaque service traite les interactions entrantes et émet des preuves via la sortie d'événements configurée. Les réponses LLM nécessitent un fournisseur configuré ; les gestionnaires statiques peuvent fonctionner sans. Le framework prend en charge **SSH, HTTP, TCP, TELNET et MCP**. Les leurres MCP exposent des outils appâts qui rendent les invocations suspectes observables lors de tests d'agents contrôlés. Ils peuvent fournir des preuves de tentatives d'injection de prompt ; ils ne garantissent pas la détection de chaque tentative. Les options de déploiement incluent un binaire Go local, Docker Compose et Kubernetes avec Helm. Consultez le [guide d'architecture](https://docs.beelzebub.ai/concepts/architecture) pour le comportement du runtime et les frontières d'extension. ## Explorez les leurres Commencez avec l'une des **18 configurations d'exemple** dans [configurations/services](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services). Ouvrez un fichier YAML pour inspecter ses règles et l'adapter à votre environnement. | Catégorie | Exemples de leurres | | --- | --- | | Accès distant | [SSH](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/ssh-22.yaml) · [SSH (LLM)](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/ssh-2222.yaml) · [TELNET](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/telnet-23.yaml) · [RDP](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-3389-rdp.yaml) · [VNC](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-5900-vnc.yaml) | | Web | [WordPress (repli LLM)](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-80.yaml) · [HTTP 401](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-8080.yaml) · [Méthodes HTTP](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-methods-8081.yaml) · [Labyrinthe de répertoires Apache](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-maze-8888.yaml) | | Bases de données et caches | [MySQL](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-3306.yaml) · [PostgreSQL (LLM)](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-5432-postgresql-llm.yaml) · [SQL Server](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-1433-mssql.yaml) · [Redis](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-6379-redis.yaml) · [Memcached](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-11211-memcached.yaml) | | Services réseau | [SMB](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-445-smb.yaml) · [LDAP](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-389-ldap.yaml) | | IoT | [MQTT](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/tcp-1883-mqtt.yaml) | | Agents IA | [Outils leurres MCP](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/mcp-8000.yaml) | Les exemples vont des bannières et réponses sélectionnées aux échanges interactifs. Les exemples **LLM** nécessitent un fournisseur configuré ; WordPress l'utilise pour sa route fourre-tout. Vérifiez les mappages de ports de votre déploiement lors de l'activation d'exemples supplémentaires. ## Pour commencer Vous avez besoin de **Git, d'un shell et de Docker Engine avec Compose v2**. Utilisez un **hôte de laboratoire isolé** avec une autorisation pour tous les écouteurs configurés : l'installateur démarre un ensemble de services d'exemple, y compris des ports privilégiés. Sous Linux, il peut activer le **réseau de l'hôte** ; Docker ne fournit pas d'isolation réseau dans ce mode. Utilisez des identifiants synthétiques et consultez le [guide de sécurité en production](https://docs.beelzebub.ai/operations/production-safety) avant d'exposer des services à Internet. ```bash git clone https://github.com/beelzebub-labs/beelzebub.git cd beelzebub ./install.sh --docker ``` Le rapport de plateforme est facultatif. Laissez le jeton Platform vide lorsque vous y êtes invité pour exécuter l'outil de manière autonome. Le runtime valide sa configuration avant de démarrer les écouteurs. Testez le leurre HTTP par défaut et inspectez ses journaux : ```bash curl -i http://localhost:8080/ docker compose logs -f beelzebub ``` Attendez-vous à un **`401 Unauthorized`** de la part de l'exemple HTTP fourni sur le port 8080. Il s'agit de la réponse configurée du leurre, confirmant que l'écouteur est joignable. Si l'installateur a ignoré un port occupé, résolvez le conflit avant de tester. Appuyez sur `Ctrl+C` pour arrêter le suivi des journaux. Arrêtez le labo lorsque vous avez terminé : ```bash docker compose down ``` Pour une configuration mono-service ou une autre méthode de déploiement, suivez le [guide d'installation](https://docs.beelzebub.ai/getting-started/installation). ## Beelzebub Platform Le framework open source en est le fondement : déployez-le, exploitez-le et étendez-le de manière indépendante. **Beelzebub Platform** est le produit managé destiné aux équipes qui doivent coordonner la tromperie (deception) à travers les environnements et relier les preuves d'exécution à un workflow de sécurité plus large. Explorez les capacités de déploiement, d'investigation et de reporting de la plateforme, et découvrez comment elles répondent aux exigences de votre équipe. **[Découvrir Beelzebub Platform →](https://beelzebub.ai/products/beelzebub-cloud/)** ## Ressources et communauté - **[Documentation](https://docs.beelzebub.ai) :** configuration, protocoles, opérations, intégrations et recettes. - **[Création de plugins](https://docs.beelzebub.ai/plugins/authoring) :** développez des extensions avec le SDK Go public. Les plugins s'exécutent in-process ; examinez leur code source et épinglez des versions de confiance. - **[Contribuer](https://github.com/beelzebub-labs/beelzebub/blob/main/CONTRIBUTING.md) :** contribuez au code, aux exemples ou à la documentation dans le respect du [Code de conduite](https://github.com/beelzebub-labs/beelzebub/blob/main/CODE_OF_CONDUCT.md). Signalez les vulnérabilités de manière privée via [SECURITY.md](https://github.com/beelzebub-labs/beelzebub/blob/main/SECURITY.md). Pour le développement, utilisez la version de Go déclarée dans [go.mod](https://github.com/beelzebub-labs/beelzebub/blob/main/go.mod), Git et Make. Compilez avec `make build` ; exécutez `make test.unit`, `go vet ./...` et `make validate-all` avant de soumettre des modifications d'exécution. Le [workflow de développement](https://docs.beelzebub.ai/contributing/development) couvre les tests d'intégration et leurs dépendances Docker. Merci à [JetBrains](https://jb.gg/OpenSourceSupport) de soutenir le développement avec des outils via son programme de support open source. Sous licence [GNU General Public License v3.0](https://github.com/beelzebub-labs/beelzebub/blob/main/LICENSE).