# Osmedeus ## What is Osmedeus? [Osmedeus](https://www.osmedeus.org) 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. ## Key Features - **Declarative YAML Workflows** - Define pipelines with hooks, decision routing, module exclusion, and conditional branching across multiple runners (host, Docker, SSH) - **Distributed Execution** - Redis-based master-worker pattern with queue system, webhook triggers, and file sync across workers - **Rich Function Library** - 80+ utility functions including nmap integration, tmux sessions, SSH execution, TypeScript/Python scripting, SARIF parsing, and CDN/WAF classification - **Event-Driven Scheduling** - Cron, file-watch, and event triggers with filtering, deduplication, and delayed task queues - **Agentic LLM Steps** - Tool-calling agent loops with sub-agent orchestration, memory management, and structured output; plus ACP subprocess agents (Claude Code, Codex, OpenCode, Gemini) - **Cloud Infrastructure** - Provision and run scans across DigitalOcean, AWS, GCP, Linode, and Azure with cost controls and automatic cleanup - **Rich CLI Interface** - Interactive database queries, bulk function evaluation, workflow linting, progress bars, and comprehensive usage examples - **REST API & Web UI** - Full API server with webhook triggers, database queries, and embedded dashboard for visualization See [Documentation Page](https://docs.osmedeus.org/) for more details. ## Installation ```bash curl -sSL http://www.osmedeus.org/install.sh | bash ``` ### [npm](https://www.npmjs.com/package/@j3ssie/osmedeus) ```bash npm install @j3ssie/osmedeus ``` Ships prebuilt binaries for linux and macOS on x64/arm64. See [Quickstart](https://docs.osmedeus.org/quickstart/) for quick setup and [Installation](https://docs.osmedeus.org/installation/) for advanced configurations. | CLI Usage | Web UI Assets | |-----------|---------------| | | | | **Workflow Visualization** | **Vulnerabilities** | | | | ## ☁️ Sponsor β€” Bloome [](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607) Automating recon with Osmedeus? [Bloome](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607) brings that same team-of-agents mindset to the rest of your workflow: multiple AI agents (Claude, ChatGPT, DeepSeek and more) in one shared chat that split the work, hand off tasks, cross-check each other, and refine the output until it's right β€” triage findings, draft reports, and run scheduled checks together. Zero setup, in the cloud, on web and mobile, and shareable with your team. πŸ‘‰ [Try Bloome](https://bloome.im/app?ref=j3ssie&utm_medium=github&utm_source=j3ssie-osmedeus-ivor-202607) ## Quick Start ``` /* Detailed source-code truncated for AI context efficiency. */ ``` ## 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 ``` For more CLI usage and example commands, refer to the [CLI Reference](https://docs.osmedeus.org/getting-started/cli). ## High-Level Architecture ```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 β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` For more information about the architecture, refer to the [Architecture Documentation](https://docs.osmedeus.org/architecture). ## Roadmap and Status 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 | SAST integration with SARIF parsing (Semgrep, Trivy, etc.) | βœ… | | 8 | Cloud integration, which supports running the scan on the cloud provider. | βœ… | | 9 | Generate diff reports showing new/removed/unchanged assets between runs. | ❌ | | 10 | Adding step type from cloud provider that can be run via serverless | ❌ | | N | Fancy features (to be discussed later) | ❌ | ## Documentation | Topic | Link | |----------------------|----------------------------------------------------------------------------------------------------------| | Getting Started | [docs.osmedeus.org/getting-started](https://docs.osmedeus.org/getting-started) | | CLI Usage & Examples | [docs.osmedeus.org/getting-started/cli](https://docs.osmedeus.org/getting-started/cli) | | Writing Workflows | [docs.osmedeus.org/workflows/overview](https://docs.osmedeus.org/workflows/overview) | | Event-Driven Triggers| [docs.osmedeus.org/advanced/event-driven](https://docs.osmedeus.org/advanced/event-driven) | | Deployment | [docs.osmedeus.org/deployment](https://docs.osmedeus.org/deployment) | | Architecture | [docs.osmedeus.org/concepts/architecture](https://docs.osmedeus.org/concepts/architecture) | | Development | [docs.osmedeus.org/development](https://docs.osmedeus.org/development) and [HACKING.md](HACKING.md) | | Extending Osmedeus | [docs.osmedeus.org/development/extending-osmedeus](https://docs.osmedeus.org/development/extending-osmedeus) | | Security Model | [SECURITY.md](SECURITY.md) and [docs.osmedeus.org/others/security-warning](https://docs.osmedeus.org/others/security-warning) | | Full Documentation | [docs.osmedeus.org](https://docs.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. Please refer to the [⚠️ Security Warning](https://docs.osmedeus.org/others/security-warning) page for more information on how to stay safe. [SECURITY.md](SECURITY.md) draws the line between the code execution that is intentional and what counts as a vulnerability, and is where to start if you want to report one. **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](https://twitter.com/j3ssie) and it is released under the MIT license.