
Un motor moderno de orquestación para seguridad
# Osmedeus
<p align="center">
<a href="https://www.osmedeus.org"><img alt="Osmedeus" src="https://assets.kitploit.com/production/public/readmes/2279/2023d02ecc03602d346d7a9540570d8144424edcb793863bd708b8af04bcc8e0.png" height="140" /></a>
<br />
<strong>Osmedeus - Un motor de orquestación moderno para la seguridad</strong>
<p align="center">
<a href="https://docs.osmedeus.org/"><img src="https://img.shields.io/badge/Documentation-0078D4?style=for-the-badge&logo=GitBook&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://docs.osmedeus.org/donation/"><img src="https://img.shields.io/badge/Sponsors-0078D4?style=for-the-badge&logo=GitHub-Sponsors&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://twitter.com/OsmedeusEngine"><img src="https://img.shields.io/badge/@OsmedeusEngine-0078D4?style=for-the-badge&logo=Twitter&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://discord.gg/mtQG2FQsYA"><img src="https://img.shields.io/badge/Discord%20Server-0078D4?style=for-the-badge&logo=Discord&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://github.com/j3ssie/osmedeus/releases"><img src="https://img.shields.io/github/release/j3ssie/osmedeus?style=for-the-badge&labelColor=black&color=2fc414&logo=Github"></a>
</p>
</p>
## ¿Qué es Osmedeus?
[Osmedeus](https://www.osmedeus.org) es un motor de orquestación declarativo centrado en la seguridad que simplifica la automatización de flujos de trabajo complejos en definiciones YAML auditables, con manejo de datos cifrados, gestión segura de credenciales y ejecución en sandbox.
Diseñado tanto para principiantes como para expertos, ofrece una automatización potente y componible sin sacrificar la integridad y la seguridad de tu infraestructura.
## Características principales
- **Flujos de trabajo YAML declarativos** - Define pipelines con hooks, enrutamiento de decisiones, exclusión de módulos y ramificación condicional en múltiples runners (host, Docker, SSH)
- **Ejecución distribuida** - Patrón maestro-trabajador basado en Redis con sistema de colas, disparadores por webhook y sincronización de archivos entre trabajadores
- **Amplia biblioteca de funciones** - Más de 80 funciones de utilidad, incluyendo integración con nmap, sesiones de tmux, ejecución por SSH, scripting en TypeScript/Python, análisis de SARIF y clasificación de CDN/WAF
- **Programación basada en eventos** - Disparadores por cron, vigilancia de archivos y eventos con filtrado, deduplicación y colas de tareas retrasadas
- **Pasos de LLM agénticos** - Bucles de agentes con llamada a herramientas, orquestación de subagentes, gestión de memoria y salida estructurada; además de agentes de subproceso ACP (Claude Code, Codex, OpenCode, Gemini)
- **Infraestructura en la nube** - Aprovisiona y ejecuta escaneos en DigitalOcean, AWS, GCP, Linode y Azure con controles de costes y limpieza automática
- **Interfaz CLI completa** - Consultas interactivas a la base de datos, evaluación masiva de funciones, linting de flujos de trabajo, barras de progreso y ejemplos de uso exhaustivos
- **API REST y UI web** - Servidor API completo con disparadores por webhook, consultas a la base de datos y panel integrado para visualización
Consulta la [página de documentación](https://docs.osmedeus.org/) para más detalles.
## Instalación
```bash
curl -sSL http://www.osmedeus.org/install.sh | bash
```
### [npm](https://www.npmjs.com/package/@j3ssie/osmedeus)
```bash
npm install -g @j3ssie/osmedeus
```
Incluye binarios precompilados para linux y macOS en x64/arm64.
Consulta [Quickstart](https://docs.osmedeus.org/quickstart/) para una configuración rápida e [Installation](https://docs.osmedeus.org/installation/) para configuraciones avanzadas.
| Uso de la CLI | Recursos de la interfaz web |
|-----------|---------------|
|  |  |
| **Visualización de flujos de trabajo** | **Vulnerabilidades** |
|  |  |
## ☁️ Patrocinador — Bloome
[](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607)
¿Automatizas el reconocimiento con Osmedeus? [Bloome](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607) lleva esa misma mentalidad de equipo de agentes al resto de tu flujo de trabajo: múltiples agentes de IA (Claude, ChatGPT, DeepSeek y más) en un chat compartido que se reparten el trabajo, se pasan tareas, se verifican mutuamente y refinan el resultado hasta que es correcto: clasificar hallazgos, redactar informes y ejecutar comprobaciones programadas en conjunto. Sin configuración, en la nube, en web y móvil, y compartible con tu equipo. 👉 [Prueba Bloome](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607)
## Inicio rápido
```bash
# Run a module workflow
osmedeus run -m recon -t example.com
# Run a flow workflow
osmedeus run -f general -t example.com
# Multiple targets with concurrency
osmedeus run -m recon -T targets.txt -c 5
# Dry-run mode (preview)
osmedeus run -f general -t example.com --dry-run
# Start API server
osmedeus serve
# List available workflows
osmedeus workflow list
# Query discovered assets
osmedeus assets -w example.com # List assets for workspace
osmedeus assets --stats # Show unique technologies, sources, types
osmedeus assets --source httpx --type web --json # Filter and output as JSON
# Query vulnerabilities, runs, and steps
osmedeus query vulns --severity high --workspace example.com
osmedeus query runs --status running
osmedeus query steps --run <run-uuid>
# Query database tables
osmedeus db list --table runs
osmedeus db list --table event_logs --search "nuclei"
# Evaluate utility functions
osmedeus func eval 'log_info("hello")'
osmedeus func eval -e 'http_get("https://example.com")' -T targets.txt -c 10
# Platform variables available in eval
osmedeus func eval 'log_info("OS: " + PlatformOS + ", Arch: " + PlatformArch)'
# Install from preset repositories
osmedeus install base --preset
osmedeus install base --preset --keep-setting # preserve existing osm-settings.yaml
osmedeus install workflow --preset
# Exclude modules from flow execution
osmedeus run -f general -t example.com -x portscan
osmedeus run -f general -t example.com -X vuln # Fuzzy exclude by substring
# Worker queue system
osmedeus worker queue new -f general -t example.com # Queue for later
osmedeus worker queue run --concurrency 5 # Process queue
# Worker management
osmedeus worker status # Show workers
osmedeus worker eval -e 'ssh_exec("host", "whoami")' # Eval with distributed hooks
# Run an ACP agent interactively
osmedeus agent "analyze this codebase"
osmedeus agent --agent codex "explain main.go"
osmedeus agent --list
# Cloud infrastructure management
osmedeus cloud create --instances 3 # Provision cloud machines
osmedeus cloud setup 1.2.3.4 5.6.7.8 # Setup existing machines
osmedeus cloud list # List active infrastructure
osmedeus cloud run -f general -t example.com --instances 3
# Show all usage examples
osmedeus --usage-example
```
## Docker
```bash
# Show help
docker run --rm j3ssie/osmedeus:latest --help
# Run a scan
docker run --rm -v $(pwd)/output:/root/workspaces-osmedeus \
j3ssie/osmedeus:latest run -f general -t example.com
```
Para obtener más información sobre el uso de la CLI y comandos de ejemplo, consulte la [Referencia de la CLI](https://docs.osmedeus.org/getting-started/cli).
## Arquitectura de alto nivel
```plaintext
┌───────────────────────────────────────────────────────────────────────────┐
│ Osmedeus Orchestration Engine │
├───────────────────────────────────────────────────────────────────────────┤
│ ENTRY POINTS │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ CLI │ │ REST API │ │Scheduler │ │ Distributed │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬───────┘ │
│ └─────────────┴─────────────┴──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ CONFIG ──▶ PARSER ──▶ EXECUTOR ──▶ STEP DISPATCHER ──▶ RUNNER │ │
│ │ │ │ │
│ │ Step Executors: bash | function | parallel | foreach | remote-bash │ │
│ │ http | llm | agent | agent-acp | SARIF/SAST │ │
│ │ Hooks: pre_scan_steps → [main steps] → post_scan_steps │ │
│ │ │ │ │
│ │ Runners: HostRunner | DockerRunner | SSHRunner │ │
│ │ Queue: DB + Redis polling → dedup → concurrent execution │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────┘
```
Para obtener más información sobre la arquitectura, consulta la [Documentación de Arquitectura](https://docs.osmedeus.org/architecture).
## Hoja de ruta y estado
El plan ambicioso de alto nivel para el proyecto, en orden:
| # | Paso | Estado |
| :-: | --------------------------------------------------------------------------- | :----: |
| 1 | Motor de Osmedeus reforjado con una arquitectura de nueva generación | ✅ |
| 2 | Flujos de trabajo flexibles y tipos de pasos | ✅ |
| 3 | Modelo arquitectónico basado en eventos y las diferentes categorías de eventos desencadenantes | ✅ |
| 4 | Interfaz de usuario atractiva para visualizar resultados y diagramas de flujo de trabajo | ✅ |
| 5 | Reescribir el flujo de trabajo para adaptarlo a la nueva arquitectura y sintaxis | ✅ |
| 6 | Probar más funciones de utilidad como las notificaciones | ✅ |
| 7 | Integración de SAST con análisis SARIF (Semgrep, Trivy, etc.) | ✅ |
| 8 | Integración con la nube, que permite ejecutar el escaneo en el proveedor de nube. | ✅ |
| 9 | Generar informes de diferencias que muestren activos nuevos/eliminados/sin cambios entre ejecuciones. | ❌ |
| 10 | Añadir un tipo de paso desde el proveedor de nube que pueda ejecutarse mediante serverless | ❌ |
| N | Funciones atractivas (a discutir más adelante) | ❌ |
## Documentación
| Tema | Enlace |
|----------------------|----------------------------------------------------------------------------------------------------------|
| Primeros pasos | [docs.osmedeus.org/getting-started](https://docs.osmedeus.org/getting-started) |
| Uso de la CLI y ejemplos | [docs.osmedeus.org/getting-started/cli](https://docs.osmedeus.org/getting-started/cli) |
| Escribir flujos de trabajo | [docs.osmedeus.org/workflows/overview](https://docs.osmedeus.org/workflows/overview) |
| Desencadenantes basados en eventos | [docs.osmedeus.org/advanced/event-driven](https://docs.osmedeus.org/advanced/event-driven) |
| Despliegue | [docs.osmedeus.org/deployment](https://docs.osmedeus.org/deployment) |
| Arquitectura | [docs.osmedeus.org/concepts/architecture](https://docs.osmedeus.org/concepts/architecture) |
| Desarrollo | [docs.osmedeus.org/development](https://docs.osmedeus.org/development) y [HACKING.md](https://github.com/j3ssie/osmedeus/blob/main/HACKING.md) |
| Extender Osmedeus | [docs.osmedeus.org/development/extending-osmedeus](https://docs.osmedeus.org/development/extending-osmedeus) |
| Modelo de seguridad | [SECURITY.md](https://github.com/j3ssie/osmedeus/blob/main/SECURITY.md) y [docs.osmedeus.org/others/security-warning](https://docs.osmedeus.org/others/security-warning) |
| Documentación completa | [docs.osmedeus.org](https://docs.osmedeus.org) |
## Descargo de responsabilidad
**Osmedeus** está diseñado para ejecutar código y comandos arbitrarios a partir de la entrada proporcionada por el usuario mediante la CLI, la API y las definiciones de flujos de trabajo. Esta flexibilidad es intencional y fundamental para el funcionamiento del motor.
Consulta la página [⚠️ Advertencia de seguridad](https://docs.osmedeus.org/others/security-warning) para obtener más información sobre cómo mantenerte seguro. [SECURITY.md](https://github.com/j3ssie/osmedeus/blob/main/SECURITY.md) establece la línea entre la ejecución de código que es intencional y lo que se considera una vulnerabilidad, y es el punto de partida si deseas reportar una.
**Piénsalo dos veces antes de:**
- Ejecutar flujos de trabajo descargados de fuentes no confiables
- Ejecutar comandos o escaneos contra objetivos que no posees o para los que no tienes permiso de prueba
- Usar flujos de trabajo sin revisar su contenido primero
Eres responsable de lo que ejecutas. Revisa siempre los archivos YAML de flujos de trabajo antes de su ejecución, especialmente los obtenidos de terceros.
## Licencia
Osmedeus está hecho con ♥ por [@j3ssie](https://twitter.com/j3ssie) y se publica bajo la licencia MIT.