Skip to content

user playbooks

MD MUFTHAKHERUL ISLAM MIRAZ edited this page Jun 24, 2026 · 2 revisions

Note

👋 Hey there! Siyarix is a personal passion project built by a single developer that is growing and under active development. The feature described on this page is currently Planned / Under Development and may not be fully functional in the codebase yet. Stay tuned for updates! 🚀

📓 Playbook Engine

Why do the same tasks manually over and over? The Playbook Engine allows you to create reusable, multi-step workflows for incident response, vulnerability assessments, and routine security checks.

Using simple YAML files, you can define steps, variables, and dependencies, and Siyarix's DAG (Directed Acyclic Graph) engine will execute them flawlessly.


🧱 Step Types

A playbook is made up of individual steps. Currently, Siyarix supports two main types:

Step Type What It Does
tool Executes a specific security tool from the Siyarix tool registry. (This is the default type).
agent Delegates a complex, sub-goal directly to the autonomous AI agent.

Note

We are actively working on expanding the step types! Look out for conditional branching, loops, and delays in future releases.


✍️ Creating Playbooks

Playbooks are written in standard YAML format. Here is an example of a web vulnerability scan playbook:

name: web-vuln-scan
description: Standard web vulnerability scan workflow
vars:
  target: "example.com"
  port_range: "1-1000"
steps:
  - id: recon
    type: tool
    tool: nmap
    args:
      flags: "-sn"
    depends_on: [] # This runs first!

  - id: port-scan
    type: tool
    tool: nmap
    args:
      flags: "-p {{port_range}} -sV"
    depends_on: [recon] # Waits for 'recon' to finish

  - id: vuln-scan
    type: tool
    tool: nuclei
    args:
      severity: "high,critical"
    depends_on: [port-scan] # Waits for 'port-scan' to finish

💻 Programmatic Usage

You can load and run playbooks directly via Python:

from siyarix.playbook import PlaybookEngine
from siyarix.workflow import WorkflowEngine

engine = PlaybookEngine(WorkflowEngine())
engine.load("my-playbook.yml")

🔀 Variables

Make your playbooks dynamic! You can inject variables using the {{variable_name}} syntax.

vars:
  target: "example.com"
  port_range: "1-1000"
steps:
  - id: scan
    tool: nmap
    args:
      flags: "-p {{port_range}} {{target}}"

You can easily override these variables at runtime using the --var flag:

siyarix playbook run my-playbook.yml --var target=10.0.0.1 --var port_range=1-5000

Tip

You can also access safe environment variables directly in your playbook using {{env.HOME}}, {{env.PATH}}, etc.


🏃 Running Playbooks

Executing playbooks via the CLI is simple:

# 🚀 Run a playbook
siyarix playbook run my-playbook.yml

# 🎯 Run with custom variables
siyarix playbook run assessment.yml --var target=example.com

# 📂 List all available playbooks in a folder
siyarix playbook list --dir playbooks/

# ✅ Check a playbook for syntax errors
siyarix playbook validate my-playbook.yml

🛡️ Error Handling

Security tools fail. Networks drop. Siyarix handles this gracefully.

You can configure automatic retries and timeouts for every step:

steps:
  - id: vuln-scan
    tool: nuclei
    retries: 2       # Try up to 3 times total
    timeout: 300     # Kill the tool if it takes longer than 5 minutes

Behind the scenes, the WorkflowEngine manages the complex DAG scheduling, handles parallel execution safely (limiting to 4 concurrent tasks by default), and enforces strict timeouts.


🎯 Key Use Cases

Why should you use playbooks?

  • Standardized Assessments: Ensure junior and senior analysts perform scans exactly the same way.
  • Incident Response: Execute pre-defined, high-speed containment and analysis workflows during a breach.
  • Onboarding: Automate the setup process for new team members with a single command.
  • Compliance: Generate repeatable, consistent evidence for your audit cycles.

Note

👋 Welcome to Siyarix! This is a personal passion project built by a single developer. It's currently under active development and growing fast. Expect rough edges, but lots of love! ❤️

🗺️ Siyarix Documentation Map

Welcome to the Siyarix Documentation Map! This page serves as your master compass for navigating the extensive documentation we have built for the platform.

Whether you are a brand new user, a seasoned security operator, or a developer looking to contribute to the core engine, you can find exactly what you need here.


🧭 Quick Navigation

Not sure where to start? Pick the path that best describes you:

🌱 For New Users

Just getting started? We highly recommend following these guides in order:

  1. Installation Guide — Get Siyarix running on your machine.
  2. Onboarding Wizard — Let our interactive wizard help you set up your API keys and environment.
  3. Setup & Configuration — A deeper dive into customizing your setup.
  4. Your First Run — A gentle walkthrough of your very first Siyarix command.

🛡️ For Security Operators

Ready to put Siyarix to work? Dive into our operational guides:

💻 For Developers & Contributors

Looking under the hood or wanting to write some code? Start here:


📂 The Complete Documentation Tree

If you prefer to browse the raw structure, here is a complete layout of the docs/ folder:

docs/
├── 🚀 getting-started/       # Installation, onboarding, and configuration
│   ├── installation.md       # Multi-platform install (pip, brew, winget, docker)
│   ├── onboarding.md         # The interactive 11-step setup wizard
│   ├── setup.md              # Managing API keys, credentials, and settings
│   ├── first-run.md          # A walkthrough of your first session
│   ├── configuration.md      # A deep-dive into advanced settings
│   └── troubleshooting.md    # Common issues and how to fix them instantly
│
├── 📖 user/                  # Daily operations and workflows
│   ├── cli-commands.md       # Reference for 50+ CLI commands across 12 groups
│   ├── interactive-chat.md   # Mastering the AI REPL and 54+ slash commands
│   ├── security-workflows.md # Recon, vulnerability assessment, incident response
│   ├── cloud-scanning.md     # Multi-cloud security scanning (under development)
│   ├── compliance.md         # Framework mapping (SOC 2, NIST, GDPR, PCI-DSS)
│   ├── threat-intelligence.md# Integrations with OTX, NVD, and MITRE ATT&CK
│   ├── playbooks.md          # Building automated YAML-based IR playbooks
│   ├── workflow-files.md     # DAG workflow reference (programmatic API)
│   ├── reporting.md          # Multi-format report generation
│   ├── offline-registry.md   # Running without AI (Offline/Registry execution mode)
│   └── ai-workflows.md       # Advanced AI-driven autonomous operations
│
├── 💻 developer/             # Building, testing, and extending Siyarix
│   ├── codebase-overview.md  # Full module structure mapping
│   ├── contribution-guide.md # How to submit PRs and our coding standards
│   ├── module-architecture.md# Component design and responsibilities
│   ├── testing.md            # Writing tests (pytest), coverage, and CI/CD
│   └── building.md           # Packaging, distribution, and Docker builds
│
├── 🏗️ architecture/          # System design and core internals
│   ├── overview.md           # High-level data flow and layered orchestration
│   ├── ai-agent-pipeline.md  # The AgentCore reasoning and execution pipeline
│   ├── provider-abstraction.md# How we unify 26 different AI providers
│   ├── execution-engine.md   # Plan-based step orchestration
│   ├── memory-and-state.md   # Knowledge graph, session persistence, and learning
│   ├── security-model.md     # The Permission Gate, DLP, audit logging, and OPSEC
│   └── intent-routing.md     # Semantic intent classification and routing
│
├── 🧠 ai/                    # Deep dive into the AI provider & agent systems
│   ├── routing.md            # Managing 26 providers, failovers, and circuit breakers
│   ├── persona-system.md     # Overview of our 10 security personas
│   ├── agent-reasoning.md    # The Observe-Reason-Act loop and tool call repair
│   ├── tool-execution.md     # The tool registry, capability graph, and parsers
│   ├── ensemble.md           # Parallel LLM voting strategies
│   ├── multi-wave.md         # Iterative goal execution with context carry-over
│   ├── prompt-architecture.md# System prompt design and management
│   └── safety.md             # Our rigorous 8-layer hallucination mitigation system
│
├── 🛡️ security/              # Safety, ethics, and threat models
│   ├── reporting.md          # How to safely report vulnerabilities to us
│   ├── threat-model.md       # System threat model and our mitigations
│   ├── operational-security.md# TOR routing, stealth modes, and OPSEC controls
│   ├── ethical-policy.md     # Mandatory rules of engagement for all users
│   └── abuse-prevention.md   # How we prevent misuse of the AI engine
│
└── ⚖️ legal/                 # Licensing and governance
    ├── agpl-guide.md         # A plain-English overview of the AGPL-3.0-or-later license
    ├── why-agpl.md           # The philosophy behind our license choice
    ├── trademark-policy.md   # Branding and trademark guidelines
    ├── responsible-ai.md     # Our framework for ethical AI usage
    ├── disclaimer.md         # Important legal disclaimers
    └── plugin-exception.md   # The license exception for building custom plugins

📖 Key Terminology

As you read through the documentation, you might encounter some specific terms. Here is a quick cheat sheet:

Term What It Means
Provider The backend AI engine powering Siyarix (e.g., OpenAI, Anthropic, Ollama).
Tool A traditional security executable installed on your system (e.g., nmap, nuclei).
Plan A step-by-step sequence of tool commands intelligently generated by the AI.
Workflow A hardcoded, predefined execution path (usually defined in YAML/JSON) that doesn't require AI generation.
Persona A specialized behavioral profile given to the AI (e.g., instructing it to act specifically as a "Network Recon Specialist").
Knowledge Graph Siyarix's internal memory where it stores findings (like IP addresses, open ports) to contextually inform future steps.

Need help finding something specific? Feel free to use the search bar at the top of the documentation site, or open a discussion on our GitHub!

Clone this wiki locally