Osmedeus

Osmedeus

Osmedeus
Osmedeus - A Modern Orchestration Engine for Security

What is Osmedeus?

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.

Features

  • 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.

Installation

curl -sSL http://www.osmedeus.org/install.sh | bash

See Quickstart for quick setup and Installation for advanced configurations.

CLI UsageWeb UI AssetsWorkflow Visualization
CLI UsageWeb UI AssetsWorkflow Visualization

Quick Start

# 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

Docker

# 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.

High-Level Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        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.

Roadmap and Status

The high-level ambitious plan for the project, in order:

#StepStatus
1Osmedeus Engine reforged with a next-generation architectureβœ…
2Flexible workflows and step typesβœ…
3Event-driven architectural model and the different trigger event categoriesβœ…
4Beautiful UI for visualize results and workflow diagramβœ…
5Rewriting the workflow to adapt to new architecture and syntaxβœ…
6Testing more utility functions like notificationsβœ…
7Generate diff reports showing new/removed/unchanged assets between runs.❌
8Adding step type from cloud provider that can be run via serverless❌
NFancy features (to be discussed later)❌

Documentation

TopicLink
Getting Starteddocs.osmedeus.org/getting-started
CLI Usage & Examplesdocs.osmedeus.org/getting-started/cli
Writing Workflowsdocs.osmedeus.org/workflows/overview
Event-Driven Triggersdocs.osmedeus.org/advanced/event-driven
Deploymentdocs.osmedeus.org/deployment
Architecturedocs.osmedeus.org/concepts/architecture
Development docs.osmedeus.org/development and HACKING.md
Extending Osmedeusdocs.osmedeus.org/development/extending-osmedeus
Full Documentationdocs.osmedeus.org

Disclaimer

Osmedeus is designed to execute arbitrary code and commands from user supplied input via CLI, API, and workflow definitions. This flexibility is intentional and central to how the engine operates see Security Warning page for more details.

Think twice before you:

  • Run workflows downloaded from untrusted sources
  • Execute commands or scans against targets you don't own or have permission to test
  • Use workflows without reviewing their contents first

You are responsible for what you run. Always review workflow YAML files before execution, especially those obtained from third parties.

License

Osmedeus is made with β™₯ by @j3ssie and it is released under the MIT license.