Documentation

Everything you need to get started with ODBRANA

Getting Started

  1. Create your account at /register
  2. Add your first target — enter the URL of your web application
  3. Choose scan modules — Web, Code, or Cloud
  4. Select scan depth — Quick (5 min), Normal (20 min), or Deep (45 min)
  5. Start the scan and monitor progress in the Live Scan Monitor
  6. Review findings and download your report

Scan Modules

Web Scan

Covers reconnaissance, vulnerability scanning, injection testing, and infrastructure analysis. Checks for SQL injection, XSS, command injection, misconfigurations, SSL/TLS issues, and more.

Code Scan

Covers static analysis, secrets detection, dependency vulnerabilities, and IaC policy validation.

Cloud Scan

Covers cloud posture assessment, CIS benchmarks, and misconfiguration detection.

Scan Depth

Quick~5 minutesReconnaissance and basic vulnerability scan.
Normal~15-20 minutesFull 4-phase scan with all tools.
Deep~30-45 minutesExtended scan with full port range and thorough testing.

Understanding Results

Severity Levels

CriticalHighMediumLowInfo

Risk Grades

Audits receive a letter grade from A (no issues) through F (critical findings) based on the aggregate severity and count of discovered vulnerabilities.

Vulnerability Chains

AI-detected multi-step attack paths that show how individual findings can be combined into exploitable sequences.

Finding Details

Each finding includes a description, evidence, impact assessment, and actionable remediation guidance.

AI Features

AI Triage

Automated deduplication, severity calibration, and false positive detection.

Vulnerability Chains

Multi-step attack path analysis combining individual findings.

Payload Generation

Context-aware attack payloads generated per finding.

PoC Generation

Python proof-of-concept scripts for verified vulnerabilities.

Remediation Code

Before/after fix code generation with language-aware patches.

EPSS Integration

Exploit Prediction Scoring System probability for CVE-based findings.

API Reference

Authentication

Obtain a bearer token via POST /auth/login with your email and password. Include the token in all subsequent requests.

Authorization: Bearer <your-token>

Base URL

https://app.odbrana.io/api/v1

Endpoints

MethodPathDescription
POST/auditsCreate a new audit
GET/auditsList all audits
GET/audits/:idGet audit details
DELETE/audits/:idDelete an audit
POST/audits/:id/stopStop a running scan
POST/audits/:id/pausePause a running scan
POST/audits/:id/resumeResume a paused scan
POST/audits/:id/chainsAnalyze vulnerability chains
POST/audits/:id/findings/:idx/payloadGenerate attack payloads
POST/audits/:id/findings/:idx/pocGenerate proof-of-concept script
POST/audits/:id/findings/:idx/remediationGenerate remediation code
GET/audits/:id/reportDownload PDF report
POST/targetsCreate a new target
GET/targetsList all targets
POST/targets/:id/scanStart scan on a target

Webhooks

Configure webhooks in Settings → API Keys section.

Events

Currently supported: audit.completed

Payload Format

{ "event": "audit.completed", "audit_id": "abc-123", "status": "completed", "findings_summary": { "critical": 1, "high": 3, "medium": 7, "low": 12, "info": 5 } }

Signature Verification

Every webhook includes an X-Odbrana-Signature header containing an HMAC-SHA256 digest of the request body, signed with your webhook secret.

Authenticated Scanning

ODBRANA supports scanning behind authentication. Configure credentials when creating a target.

Form-based

Provide login URL, field names, and credentials.

Bearer Token

Provide header name and token value.

Cookie-based

Provide a cookie string to attach to requests.

Credentials are encrypted at rest and automatically deleted after the scan completes.

Self-Hosting

Requirements

  • Docker and Docker Compose
  • 4 GB RAM minimum
  • 20 GB disk space

Installation

git clone https://github.com/odbrana/odbrana.git cd odbrana cp .env.example .env

Configuration

Edit .env to configure your database, Redis, Anthropic API key, and domain.

Run

docker compose up -d

Update

bash update.sh

SSL

SSL is automated via Let's Encrypt and Nginx. Ensure your domain's DNS points to your server before starting.