Skip to main content

CLI Reference

Complete reference for all Osmedeus command-line commands and options.

Global Options

These options are available for all commands:
OptionDescription
--configPath to config file (default: ~/.osmedeus/config.yaml)
--debugEnable debug logging
--quietSuppress non-essential output
--no-colorDisable colored output
--help, -hShow help

run

Execute workflows against targets.

Basic Usage

# Run a flow
osmedeus run -f <flow_name> -t <target>

# Run a module
osmedeus run -m <module_name> -t <target>

# Run multiple modules
osmedeus run -m <module1> -m <module2> -t <target>

# Run with target file
osmedeus run -f general -T targets.txt

Options

OptionShortDescription
--flow-fFlow workflow to run
--module-mModule workflow to run (repeatable)
--target-tTarget to scan
--targets-TFile containing targets
--params-PParams file (YAML)
--param-pSingle param (key=value, repeatable)
--concurrency-cConcurrent target scans (default: 1)
--timeoutRun timeout (e.g., 2h, 30m)
--repeatRepeat execution continuously
--exclude-xExclude modules (comma-separated)
--threads-holdOverride thread count
--dry-runValidate without executing
--progress-bar-GShow progress bar during execution (enables silent mode)
--workspace-wCustom workspace name
--resumeResume from previous state

Chunk Mode Options

For distributed scanning across multiple machines:
OptionDescription
--chunk-size NSplit targets into chunks of N targets each
--chunk-count NSplit targets into N equal chunks
--chunk-part MExecute only chunk M (0-indexed)
--chunk-threadsOverride concurrency within chunk

Advanced Options

OptionDescription
--skip-validationSkip target type validation from dependencies.variables
--disable-workflow-stateDisable writing workflow YAML to output directory
--heuristics-checkHeuristics check level: none, basic, advanced (default: basic)
--module-urlURL to fetch module YAML from (supports GitHub private repos)
--std-moduleRead module YAML from stdin

Examples

# Basic flow scan
osmedeus run -f general -t example.com

# Module with parameters
osmedeus run -m subdomain-enum -t example.com -p threads=20

# Multiple targets with concurrency
osmedeus run -f general -T targets.txt -c 5

# With timeout
osmedeus run -m vuln-scan -t example.com --timeout 2h

# Exclude modules in flow
osmedeus run -f general -t example.com -x port-scan,vuln-scan

# Dry run (validate only)
osmedeus run -f general -t example.com --dry-run

# With progress bar
osmedeus run -f general -t example.com -G

# Skip target validation
osmedeus run -m custom-module -t special://target --skip-validation

# Load module from URL
osmedeus run --module-url https://github.com/user/repo/blob/main/module.yaml -t example.com

# Read module from stdin
cat my-module.yaml | osmedeus run --std-module -t example.com

# Advanced heuristics checking
osmedeus run -f general -t example.com --heuristics-check advanced

Chunk Mode Examples

# Split 1000 targets into chunks of 100 (creates 10 chunks)
# Machine 1: process chunk 0 (targets 0-99)
osmedeus run -f general -T large-targets.txt --chunk-size 100 --chunk-part 0

# Machine 2: process chunk 1 (targets 100-199)
osmedeus run -f general -T large-targets.txt --chunk-size 100 --chunk-part 1

# Split into exactly 5 equal chunks
osmedeus run -f general -T large-targets.txt --chunk-count 5 --chunk-part 0

# Override concurrency within chunk
osmedeus run -f general -T large-targets.txt --chunk-size 50 --chunk-part 0 --chunk-threads 10

# View chunk info without executing (omit --chunk-part)
osmedeus run -f general -T large-targets.txt --chunk-size 100
Chunk mode variables available in workflows: {{ChunkIndex}}, {{ChunkSize}}, {{TotalChunks}}, {{ChunkStart}}, {{ChunkEnd}}

workflow

Manage and inspect workflows.

workflow list

List all available workflows.
osmedeus workflow list
osmedeus workflow ls
Options:
OptionDescription
--tagsFilter by tags (comma-separated)
--show-tagsShow tags column in output
--verbose, -vShow workflows with errors
Examples:
# List all workflows
osmedeus workflow ls

# Filter by tags
osmedeus workflow ls --tags recon,fast

# Show tags column
osmedeus workflow ls --show-tags

workflow show

Display workflow details.
osmedeus workflow show <workflow_name>
Options:
OptionDescription
--verbose, -vShow detailed variable descriptions
--yamlShow raw YAML with syntax highlighting
Examples:
# Show workflow details
osmedeus workflow show subdomain-enum

# Show raw YAML
osmedeus workflow show subdomain-enum --yaml

# Verbose with all variables
osmedeus workflow show subdomain-enum -v

workflow validate / lint

Validate and lint workflow YAML files.
osmedeus workflow validate <name|path|folder>
osmedeus workflow lint <name|path|folder>
Options:
OptionDescription
--checkExit with error code if issues found (for CI)
--formatOutput format: pretty, json, github
--severityMinimum severity: info, warning, error
--disableDisable rules (comma-separated)
--fail-fastStop on first validation failure
Lint Rules:
RuleSeverityDescription
missing-required-fieldwarningRequired fields (name, kind, type) missing
duplicate-step-namewarningMultiple steps with same name
empty-stepwarningStep has no executable content
unused-variableinfoVariable exported but never used
undefined-variablewarningVariable referenced but not defined
invalid-gotowarningDecision goto references non-existent step
invalid-depends-onwarningdepends_on references non-existent step
circular-dependencywarningCircular step dependencies detected
Examples:
# Validate by workflow name
osmedeus workflow validate subdomain-enum

# Validate YAML file
osmedeus workflow lint ./my-workflow.yaml

# Validate all workflows in folder
osmedeus workflow validate /path/to/workflows/

# CI mode - exit with error if issues found
osmedeus workflow lint my-workflow.yaml --check

# JSON output for tooling
osmedeus workflow lint my-workflow.yaml --format json

# GitHub Actions annotations
osmedeus workflow lint . --format github

# Only show warnings and errors
osmedeus workflow lint . --severity warning

# Disable specific rules
osmedeus workflow lint . --disable unused-variable,empty-step

# Stop on first error
osmedeus workflow validate . --fail-fast
JSON Output Format:
{
  "file_path": "workflows/test.yaml",
  "issues": [
    {
      "rule": "undefined-variable",
      "severity": "warning",
      "message": "Variable 'unknown_var' is not defined",
      "suggestion": "Check that the variable is defined in params or a previous step's exports",
      "line": 15,
      "column": 12,
      "field": "steps[2].command"
    }
  ],
  "errors": 0,
  "warnings": 1,
  "infos": 0
}
GitHub Actions Format:
::warning file=workflows/test.yaml,line=15,col=12::undefined-variable: Variable 'unknown_var' is not defined

func

Execute and inspect utility functions.

func list

List all available utility functions.
osmedeus func list
osmedeus func ls
Options:
OptionDescription
--categoryFilter by category
--searchSearch function names/descriptions

func execute

Execute a function expression.
osmedeus func execute '<expression>'
osmedeus func e '<expression>'
Examples:
# Check file exists
osmedeus func e 'fileExists("/tmp/test.txt")'

# Count lines
osmedeus func e 'fileLength("/path/to/file.txt")'

# String operations
osmedeus func e 'trim("  hello  ")'

# With variables
osmedeus func e 'log_info("{{target}}")' -p target=example.com

server

Start the REST API server.
osmedeus server
Options:
OptionDescription
--portServer port (default: 8080)
--hostBind address (default: 0.0.0.0)
--masterRun as distributed master
--tokenAPI authentication token
Examples:
# Start server
osmedeus server --port 8080

# As distributed master
osmedeus server --master --port 8080

worker

Manage distributed workers.

worker join

Join as a distributed worker.
osmedeus worker join --master <master_url>
Options:
OptionDescription
--masterMaster server URL
--tokenAuthentication token
--nameWorker name

install

Install external binaries and configure environment.

install binary

Install security tools.
osmedeus install binary --name <binary_name>
osmedeus install binary --all
Options:
OptionDescription
--nameSpecific binary to install
--allInstall all binaries
--checkCheck installation status
--nix-build-installInstall via Nix
--nix-installationInstall Nix package manager
--list-registry-nix-buildList Nix-available binaries
--list-registry-direct-fetchList direct-download binaries
Examples:
# Install specific binary
osmedeus install binary --name nuclei

# Install all binaries
osmedeus install binary --all

# Check status
osmedeus install binary --name nuclei --check

# Install via Nix
osmedeus install binary --nix-build-install

# List available binaries
osmedeus install binary --list-registry-nix-build

install env

Configure shell environment.
osmedeus install env
osmedeus install env --all
Options:
OptionDescription
--allAdd to all shell configs
--shellSpecific shell (bash, zsh, fish)

update

Self-update Osmedeus.
osmedeus update
osmedeus update --check
Options:
OptionDescription
--checkCheck for updates without installing

snapshot

Export and import workspace archives.

snapshot export

Export workspace as ZIP archive.
osmedeus snapshot export <workspace>
Options:
OptionDescription
--outputOutput file path
--include-artifactsInclude all artifacts

snapshot import

Import workspace from archive.
osmedeus snapshot import <source>
Source formats:
  • Local file path
  • HTTP/HTTPS URL

snapshot list

List available snapshots.
osmedeus snapshot list

db

Database management commands.

db list

List database entries.
osmedeus db list assets
osmedeus db list vulnerabilities
osmedeus db list workspaces
Options:
OptionDescription
--workspaceFilter by workspace
--formatOutput format (table, json, csv)

db export

Export database to file.
osmedeus db export --workspace <name> --output <file>

health

Check system health and configuration.
osmedeus health
Checks performed:
  • Configuration file status
  • Database connectivity
  • External binaries availability
  • Workflows loaded count
  • Disk space
  • Network connectivity
Output Example:
Health Check Results
━━━━━━━━━━━━━━━━━━━━

Configuration
  ✓ Config file loaded: ~/.osmedeus/config.yaml
  ✓ Base folder: ~/osmedeus-base
  ✓ Workflows path: ~/osmedeus-base/workflows

Database
  ✓ Database connected: sqlite
  ✓ Assets count: 15,234
  ✓ Vulnerabilities count: 423

Binaries
  ✓ nuclei: installed (v3.0.0)
  ✓ httpx: installed (v1.3.0)
  ✗ subfinder: not found

Workflows
  ✓ Flows loaded: 5
  ✓ Modules loaded: 32
  ✓ Fragments loaded: 8

System
  ✓ Disk space: 45GB available
  ✓ Memory: 8GB available

Usage Examples

Show all usage examples.
osmedeus --usage-example
This displays comprehensive examples for all major use cases.

Environment Variables

VariableDescription
OSM_CONFIGConfig file path
OSM_BASEBase folder path
OSM_WORKSPACESWorkspaces folder path
OSM_DEBUGEnable debug mode
OSM_TOKENAPI authentication token