v5.0 - with Next-Level Performance & Power

Modern Orchestration
Engine for Security

Automate your security workflows with declarative YAML.From reconnaissance to vulnerability scanning, all in one place.

Proven to identify real security vulnerabilities for Fortune 500
companies and many more

U.S. Dept Of DefenseDellGoogleMicrosoftAppleNetflixAlibabaAT&TDysonF-SecureFireEyeFirefoxGrablululemonSnapchatSquareStarbucksTencentU.S. Dept Of DefenseDellGoogleMicrosoftAppleNetflixAlibabaAT&TDysonF-SecureFireEyeFirefoxGrablululemonSnapchatSquareStarbucksTencent
Scroll to explore

Everything you need for
security automation

A complete toolkit for security professionals. From reconnaissance to reporting, Osmedeus handles it all.

Declarative Workflows

Design readable, powerful reconnaissance pipelines using simple YAML definitions

Flexible Execution

Run workflows locally, in Docker, over SSH, or distributed via Redis workers

Smart Orchestration

Control flow with conditions, events, scheduling, and parallel execution

Extensible Automation

Templates, utilities, plugins, HTTP steps, and LLM-powered actions built in

Integrated Platform

REST API, databases, cloud storage, notifications, snapshots, and Nix tooling

Beautiful Web UI

Visualize workflows, assets, and execution state through a modern web interface

Simple three-step
workflow

From configuration to results in minutes. No complex setup required.

Define

Declare targets and logic in clean, human-readable YAML.

Execute

Run scans via CLI, API, or events with parallel, smart, fully automated execution

Visualize & Analyze

Explore results in a beautiful UI. Export or plug into your stack.

Showcases
CLI + Web UI snapshots

A quick look at real runs, workflows, and assets.

CLI run progress
Web UI workflow
Web UI assets

Powerful yet
simple syntax

Define complex security workflows in readable YAML

Flow
# workflow.yaml - Osmedeus Workflow Example
kind: flow
name: demo-flow
description: Demo flow orchestrating modules with decision routing
params:
- name: threads
default: "5"
- name: mode
default: "full"
modules:
- name: bash-module
path: sub-module/demo-bash.yaml
params:
threads: "{{threads}}"
- name: docker-module
path: sub-module/demo-docker.yaml
depends_on: [bash-module]
condition: "{{mode}} == 'full'"
on_success:
- action: export
name: scan_status
value: "complete"
decision:
switch: "{{scan_status}}"
cases:
"complete": { goto: ssh-module }
default: { goto: _end }
- name: ssh-module
path: sub-module/demo-ssh.yaml
depends_on: [docker-module]