Osmedeus
Osmedeus - A Modern Orchestration Engine for Security
Osmedeus is a security focused declarative orchestration engine that simplifies complex workflow automation into auditable YAML definitions, complete with encrypted data handling, secure credential management, and sandboxed execution.
Built for both beginners and experts, it delivers powerful, composable automation without sacrificing the integrity and safety of your infrastructure.
- Declarative YAML Workflows - Define reconnaissance pipelines using simple, readable YAML syntax
- Multiple Runners - Execute on local host, Docker containers, or remote machines via SSH
- Event-Driven Triggers - Cron scheduling, file watching, and event-based workflow triggers with deduplication and filter functions
- Template Engine - Powerful variable interpolation with built-in and custom variables
- Utility Functions - Rich function library with event generation, bulk processing, and JSON operations
- REST API Server - Manage, trigger, and cancel workflows programmatically
- Distributed Execution - Scale with Redis-based master-worker pattern for parallel scanning
- Notifications - Telegram bot and webhook integrations
- Cloud Storage - S3-compatible storage for artifact management
- LLM Integration - AI-powered workflow steps with chat completions and embeddings
See Documentation Page for more details.
curl -sSL http://www.osmedeus.org/install.sh | bashSee Quickstart for quick setup and Installation for advanced configurations.
| CLI Usage | Web UI Assets | Workflow Visualization |
|---|---|---|
| CLI Usage | Web UI Assets | Workflow Visualization |
# 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 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)' # Show all usage examples osmedeus --usage-example
# 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
For more CLI usage and example commands, refer to the CLI Reference.
┌───────────────────────────────────────────────────────────────────────────┐
│ OSMEDEUS WORKFLOW ENGINE │
├───────────────────────────────────────────────────────────────────────────┤
│ ENTRY POINTS │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ CLI │ │ REST API │ │Scheduler │ │ Distributed │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬───────┘ │
│ └─────────────┴─────────────┴──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ CONFIG ──▶ PARSER ──▶ EXECUTOR ──▶ STEP DISPATCHER ──▶ RUNNER │ │
│ │ │ │ │
│ │ Step Executors: bash | function | parallel | foreach | remote-bash │ │
│ │ http | llm │ │
│ │ │ │ │
│ │ Runners: HostRunner | DockerRunner | SSHRunner │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────┘
For more information about the architecture, refer to the Architecture Documentation.
The high-level ambitious plan for the project, in order:
| # | Step | Status |
|---|---|---|
| 1 | Osmedeus Engine reforged with a next-generation architecture | ✅ |
| 2 | Flexible workflows and step types | ✅ |
| 3 | Event-driven architectural model and the different trigger event categories | ✅ |
| 4 | Beautiful UI for visualize results and workflow diagram | ✅ |
| 5 | Rewriting the workflow to adapt to new architecture and syntax | ✅ |
| 6 | Testing more utility functions like notifications | ✅ |
| 7 | Generate diff reports showing new/removed/unchanged assets between runs. | ❌ |
| 8 | Adding step type from cloud provider that can be run via serverless | ❌ |
| N | Fancy features (to be discussed later) | ❌ |
| Topic | Link |
|---|---|
| Getting Started | docs.osmedeus.org/getting-started |
| CLI Usage & Examples | docs.osmedeus.org/getting-started/cli |
| Writing Workflows | docs.osmedeus.org/workflows/overview |
| Event-Driven Triggers | docs.osmedeus.org/advanced/event-driven |
| Deployment | docs.osmedeus.org/deployment |
| Architecture | docs.osmedeus.org/concepts/architecture |
| Development | docs.osmedeus.org/development and HACKING.md |
| Extending Osmedeus | docs.osmedeus.org/development/extending-osmedeus |
| Full Documentation | docs.osmedeus.org |
Osmedeus is made with ♥ by @j3ssie and it is released under the MIT license.