
Un framework de runtime de decepción seguro y de bajo código, que aprovecha la IA para la virtualización de sistemas.
 # Beelzebub **Framework de engaño de código abierto.** Despliega señuelos realistas. Observa el comportamiento de los atacantes. Convierte las interacciones en evidencia de seguridad. **[Explora la plataforma Beelzebub](https://beelzebub.ai/products/beelzebub-cloud/)** · [Documentación](https://docs.beelzebub.ai) · [Inicio rápido](#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 ofrece a los equipos de seguridad una forma configurable de estudiar la actividad dirigida a los servicios señuelo. Define el entorno con el que se encuentra un atacante, elige cómo responde y captura la interacción para su investigación. Ejecuta el framework de forma independiente o conéctalo a Beelzebub Platform. ## Por qué Beelzebub - **Despliega señuelos que se adapten a tu entorno.** Define servicios, rutas y reglas de respuesta en YAML. Usa manejadores estáticos para un comportamiento predecible o respuestas impulsadas por LLM para interacciones adaptativas. Amplía el runtime con plugins de Go de confianza cuando necesites un comportamiento personalizado. - **Observa lo que ocurre tras el contacto.** Captura evidencia de las interacciones con los señuelos, incluidos comandos, detalles de las solicitudes HTTP y contexto de sesión, según el protocolo. Proporciona a los analistas un registro de la actividad dirigida al servicio para respaldar la investigación. - **Integra la evidencia en tu flujo de trabajo.** Inspecciona los registros localmente, publica eventos estructurados en RabbitMQ o habilita la generación de informes de Beelzebub Platform. Habilita las métricas de Prometheus con `core.prometheus.enabled: true` para monitorizar la actividad del runtime; de forma predeterminada, el listener de métricas está deshabilitado y no enlaza ningún puerto. ## Véalo en acción Observa cómo un señuelo impulsado por LLM responde a la entrada de un atacante. La demostración ilustra cómo las respuestas generadas pueden mantener una interacción más allá de un conjunto fijo de manejadores de comandos.  ## Cómo funciona [](docs/public/readme/how-it-works.svg) Define servicios y reglas en YAML, valida la configuración e inicia el runtime. Los plugins de Go de confianza se compilan en el runtime para ampliar servicios y respuestas. Cada servicio gestiona las interacciones entrantes y emite evidencia a través de la salida de eventos configurada. Las respuestas LLM requieren un proveedor configurado; los manejadores estáticos pueden ejecutarse sin uno. El framework es compatible con **SSH, HTTP, TCP, TELNET y MCP**. Los señuelos MCP exponen herramientas de cebo que hacen observables las invocaciones sospechosas durante las pruebas controladas de agentes. Pueden aportar evidencia de intentos de inyección de prompts; no garantizan la detección de todos los intentos. Las opciones de despliegue incluyen un binario local de Go, Docker Compose y Kubernetes con Helm. Consulta la [guía de arquitectura](https://docs.beelzebub.ai/concepts/architecture) para conocer el comportamiento del runtime y los límites de extensión. ## Explora los señuelos Comienza con una de las **18 configuraciones de ejemplo** en [configurations/services](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services). Abre un archivo YAML para inspeccionar sus reglas y adaptarlo a tu entorno. | Categoría | Ejemplos de señuelos | | --- | --- | | Acceso remoto | [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 (LLM fallback)](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) · [HTTP methods](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-methods-8081.yaml) · [Apache directory maze](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/http-maze-8888.yaml) | | Bases de datos y cachés | [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) | | Servicios de red | [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) | | Agentes de IA | [MCP bait tools](https://github.com/beelzebub-labs/beelzebub/blob/main/configurations/services/mcp-8000.yaml) | Los ejemplos abarcan desde banners y respuestas seleccionadas hasta intercambios interactivos. Los ejemplos **LLM** requieren un proveedor configurado; WordPress lo usa para su ruta catch-all. Verifique las asignaciones de puertos de su despliegue al habilitar ejemplos adicionales. ## Primeros pasos Necesita **Git, un shell y Docker Engine con Compose v2**. Utilice un **host de laboratorio aislado** con autorización para todos los listeners configurados: el instalador inicia un conjunto de servicios de ejemplo, incluidos puertos privilegiados. En Linux puede habilitar **host networking**; Docker no proporciona aislamiento de red en ese modo. Utilice credenciales sintéticas y revise la [guía de seguridad para producción](https://docs.beelzebub.ai/operations/production-safety) antes de exponer servicios a internet. ```bash git clone https://github.com/beelzebub-labs/beelzebub.git cd beelzebub ./install.sh --docker ``` La notificación a la plataforma es opcional. Deje el token de la Plataforma en blanco cuando se le solicite para ejecutarse de forma independiente. El entorno de ejecución valida su configuración antes de iniciar los listeners. Pruebe el señuelo HTTP predeterminado e inspeccione sus registros: ```bash curl -i http://localhost:8080/ docker compose logs -f beelzebub ``` Espere **`401 Unauthorized`** del ejemplo HTTP incluido en el puerto 8080. Esta es la respuesta configurada del señuelo, lo que confirma que el listener es accesible. Si el instalador omitió un puerto ocupado, resuelva el conflicto antes de realizar la prueba. Presione `Ctrl+C` para dejar de seguir los registros. Detenga el laboratorio cuando haya terminado: ```bash docker compose down ``` Para una configuración de un solo servicio u otro método de despliegue, siga la [guía de instalación](https://docs.beelzebub.ai/getting-started/installation). ## Plataforma Beelzebub El framework de código abierto es la base: despliéguelo, opérelo y extiéndalo de forma independiente. **Beelzebub Platform** es el producto gestionado para equipos que necesitan coordinar el engaño (deception) entre entornos y conectar la evidencia en tiempo de ejecución con un flujo de trabajo de seguridad más amplio. Explore las capacidades de despliegue, investigación y generación de informes de la plataforma, y compruebe cómo se ajustan a los requisitos de su equipo. **[Explore Beelzebub Platform →](https://beelzebub.ai/products/beelzebub-cloud/)** ## Recursos y comunidad - **[Documentación](https://docs.beelzebub.ai):** configuración, protocolos, operaciones, integraciones y recetas. - **[Creación de plugins](https://docs.beelzebub.ai/plugins/authoring):** cree extensiones con el SDK público de Go. Los plugins se ejecutan en proceso; revise su código fuente y fije versiones de confianza. - **[Contribuir](https://github.com/beelzebub-labs/beelzebub/blob/main/CONTRIBUTING.md):** contribuya con código, ejemplos o documentación bajo el [Código de Conducta](https://github.com/beelzebub-labs/beelzebub/blob/main/CODE_OF_CONDUCT.md). Reporte vulnerabilidades de forma privada a través de [SECURITY.md](https://github.com/beelzebub-labs/beelzebub/blob/main/SECURITY.md). Para el desarrollo, utilice la versión de Go declarada en [go.mod](https://github.com/beelzebub-labs/beelzebub/blob/main/go.mod), Git y Make. Compile con `make build`; ejecute `make test.unit`, `go vet ./...` y `make validate-all` antes de enviar cambios en el tiempo de ejecución. El [flujo de trabajo de desarrollo](https://docs.beelzebub.ai/contributing/development) cubre las pruebas de integración y sus dependencias de Docker. Gracias a [JetBrains](https://jb.gg/OpenSourceSupport) por apoyar el desarrollo con herramientas a través de su programa de apoyo al código abierto. Licenciado bajo la [GNU General Public License v3.0](https://github.com/beelzebub-labs/beelzebub/blob/main/LICENSE).