βββββββ βββββββ ββββββββββββ βββ βββββββ ββββββββ
ββββββββββββββββββββββββββββββ βββ ββββββββββββββββ
βββ βββββββββββββββββ ββββββ βββ βββββββ ββββββββββββββ
βββ ββββββββββ ββββββ ββββββββββ βββββββ ββββββββββββββ
ββββββββββββ βββββββββββ ββββββ βββ βββββββββββ
βββββββ βββ βββββββββββ βββββ βββ βββββββββββ
Open-source Reverse Engineering & Offensive Security Platform
Modern security tools + LLMs for automated binary, web, API & app analysis
Discover vulnerabilities β’ Generate PoC exploits β’ Actionable remediation
open-re is a comprehensive reverse engineering and offensive security platform combining modern security tools and LLMs for automated analysis of binaries, websites, APIs, and applications β discovering vulnerabilities, generating reproducible PoC exploits, and providing actionable remediation guidance.
| Component | Status | Description |
|---|---|---|
| openre-scan | β Stable | Lightweight standalone security scanner for web apps & APIs |
| openre-core | β Stable | Core types, finding model, risk engine, ID system |
| openre-intelligence | β Stable | CVE matching, dependency analysis, finding correlation |
| openre-security-ai | π§ Beta | AI-enhanced analysis (LLM-powered vulnerability analysis) |
| openre-plugins | π§ Beta | WASM plugin system for extensibility |
| openre-api | π§ Alpha | REST/gRPC API server for platform integration |
| openre-queue | β Stable | Distributed job queue with Redis backend |
| openre-storage | β Stable | Object storage & persistence layer |
| openre-telemetry | β Stable | Metrics, tracing, logging, audit logging |
| openre-cli | β Stable | Unified CLI for all platform operations |
| openre-analysis | π§ Alpha | Binary analysis pipeline (ELF/PE/MachO/WASM) |
| Frontend | π§ Alpha | React 18 + TypeScript + Tailwind web UI |
- WASM-based Plugin Runtime β Sandboxed execution with capability-based security
- Capability System β Fine-grained permissions (ReadBinary, WriteAnnotations, QueryDatabase, CallAI, NetworkAccess, etc.)
- Plugin Registry β Local and remote registry support with versioning
- Plugin SDK β Rust SDK with macros for rapid plugin development
- Security Plugins β Built-in plugins for access control, rate limiting, auth discovery, CORS, CSP, cookie security, path traversal, SQLi, XSS, GraphQL, REST API, session management, sensitive info, file upload
- Lifecycle Management β Install, enable/disable, configure, update, uninstall
- Sandboxing β Fuel metering, memory limits, syscall filtering
- Multi-format Binary Support β ELF, PE, MachO, WASM parsing and analysis
- Incremental Analysis β Change detection with fingerprint-based caching
- Pipeline Stages β Identification β Loading β Disassembly β Control Flow β Data Flow β Type Recovery β Decompilation β AI Enrichment β Finalization
- Progress Tracking β Real-time progress with stage-level granularity
- Metrics Collection β Per-stage timing, finding counts, resource usage
- Static Analysis β Symbol extraction, import/export analysis, section analysis, string extraction
- Orchestrator β Coordinates parallel stage execution with dependency management
- Multi-provider Support β Ollama, OpenAI, Anthropic, ONNX Runtime, llama.cpp
- Security Analyst β Automated vulnerability analysis with context-aware prompts
- Finding Provider β Integrates with scan storage for contextual analysis
- Prompt Compiler β Template-based prompt engineering with variable injection
- Safety Controls β Output validation, PII filtering, confidence scoring
- Remediation Generation β Actionable fix suggestions with effort estimates
- Correlation & Prioritization β Cross-finding analysis and risk-based ordering
- Context Management β Conversation history with token budget management
- Object Storage Abstraction β S3-compatible, local filesystem, in-memory backends
- SQLite Persistence β Embedded database with migrations (sqlx)
- Project Management β CRUD for projects, scans, findings, reports
- File Storage β Binary blob storage with SHA256 deduplication
- Query Layer β Flexible filtering, sorting, pagination for findings
- Export Support β JSON, SARIF, Markdown, HTML report generation
- Zero Dependencies β Single ~7 MB binary, no runtime requirements
- Three Scan Profiles β Quick (6 checks), Standard (15 checks), Full (18 checks)
- Multiple Output Formats β Table (human-readable), JSON (machine-readable), SARIF 2.1.0 (CI/CD integration)
- 18+ Security Checks:
- HTTP Headers β Server disclosure, powered-by, custom headers
- Security Headers β HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP, CORP
- Cookie Security β Secure, HttpOnly, SameSite flags
- TLS/SSL β Certificate validation, chain verification, expiry, SANs
- Information Disclosure β Debug headers, stack traces, version info
- Technology Fingerprinting β Framework, CMS, server, library detection
- robots.txt / sitemap.xml β Enumeration and analysis
- Directory Listing β Index exposure detection
- Sensitive Files β 20+ common paths (.git, .env, backup, config)
- Form Analysis β GET passwords, autocomplete, CSRF tokens
- Link Analysis β Mixed content, mailto, external redirects
- Script Analysis β Inline scripts, external resources, integrity
- Meta Tags β Security-relevant metadata
- Content Security Policy β Directive analysis, nonce/hash usage
- CORS Configuration β Origin reflection, credentials, wildcard
- HTTP Methods β TRACE, PUT, DELETE, PATCH, OPTIONS
- SSL/TLS Deep Dive β Cipher suites, protocol versions, renegotiation
- Evidence-Based Findings β Each finding includes supporting evidence (HTTP headers, response snippets, locations)
- Risk Scoring β Severity (Critical/High/Medium/Low/Info) + Confidence (Very High/High/Medium/Low)
- Remediation Guidance β Actionable steps with effort/priority estimates
- Filtering β
--checksand--excludefor selective scanning - Custom Headers β
--headerfor authentication and custom requests - File Output β
--outputto save results - Cross-Platform β Linux, macOS, Windows
- Privacy-Focused β No telemetry, no data collection
- Interactive Dashboard β Real-time scan progress with live findings table
- Keyboard Navigation β Vim-style keybindings (j/k, g/G, /, ?)
- Detail Panels β Expandable finding details with evidence viewer
- Filter & Search β Real-time filtering by severity, category, check
- Export from TUI β Save results without leaving the interface
- Theme Support β Dark/light themes with custom color schemes
- Multi-tab Layout β Scans, Findings, Settings, Help tabs
- REST API β OpenAPI 3.1 documented endpoints
- gRPC API β Protobuf definitions with tonic
- WebSocket Support β Real-time scan progress and notifications
- Authentication β JWT-based with API key support
- Rate Limiting β Token bucket per client
- Versioning β URL-based (v1, v2) with deprecation policy
- Endpoints:
/api/v1/projectsβ Project CRUD/api/v1/scansβ Scan management and results/api/v1/findingsβ Finding queries with filtering/api/v1/ai/*β Security analyst endpoints/api/v1/pluginsβ Plugin registry and management/api/v1/exportsβ Report generation and download/api/v1/authβ Authentication and user management
- Dashboard β Project overview, recent scans, severity trends
- Scan Management β Create, monitor, compare scans
- Finding Browser β Filterable, sortable finding table with detail drawer
- AI Analyst Chat β Conversational vulnerability analysis
- Plugin Manager β Browse, install, configure plugins
- Settings β User preferences, API keys, theme, notifications
- Real-time Updates β WebSocket-powered live data
- Responsive Design β Mobile-friendly with Tailwind
- Accessibility β WCAG 2.1 AA compliant
- CI Pipeline β Format, Clippy, Build, Test (core crates)
- Security Audit β cargo-audit, cargo-deny, dependency review
- Release Automation β Multi-platform builds (Linux/macOS/Windows), checksums, GitHub Releases
- Docker Build β Multi-arch images (API, Worker, Frontend) pushed to GHCR
- Documentation β markdownlint, cspell, link checking
- Coverage β cargo-llvm-cov with Codecov upload
- Dependency Review β PR dependency scanning with configurable policies
- Semantic Versioning β Automated from conventional commits
- Changelog Generation β Auto-generated from commit history
- Multi-platform Binaries β x86_64 Linux/macOS/Windows + ARM64
- Container Images β GHCR with latest and versioned tags
- SBOM Generation β Software Bill of Materials (SPDX/CycloneDX)
- Provenance β SLSA Level 3 build attestations
- Unit Tests β Comprehensive coverage for core crates
- Integration Tests β End-to-end scan pipeline, API, storage
- Property-based Tests β Proptest for finding correlation, risk scoring
- Benchmark Tests β Criterion benchmarks for hot paths
- Contract Tests β API schema validation
- E2E Tests β Playwright for frontend, CLI scenario tests
- SAST β cargo-audit, clippy, cargo-deny
- Dependency Scanning β GitHub Dependabot + custom policies
- Container Scanning β Trivy for Docker images
- Secret Scanning β GitHub secret scanning + pre-commit hooks
- License Compliance β cargo-deny license checking
- Unified Command Structure β
openre <command> <subcommand>for all operations - Rich Output β Colored tables, JSON, YAML, SARIF with
--format - Shell Completions β Bash, Zsh, Fish, PowerShell, Elvish
- Config File β TOML configuration with profiles
- Plugin Commands β
openre plugin install/list/enable/disable/configure - AI Commands β
openre ai analyze/explain/remediate/correlate - Project Commands β
openre project create/list/show/delete - Scan Commands β
openre scan create/list/show/delete/run - Context Management β Multiple profiles with
openre config use
- Architecture Docs β 11 detailed architecture documents
- API Reference β OpenAPI specs with scalar/Redoc UI
- Plugin Development Guide β Tutorial + API reference
- Security Plugin Guide β Building security analysis plugins
- Installation Guide β Binary, Docker, source, package managers
- Contributing Guide β Code style, PR process, testing
- Migration Guides β Version upgrade instructions
- Pre-commit Hooks β fmt, clippy, markdownlint, cspell
- VS Code Config β rust-analyzer, tasks, launch configs
- Dev Container β Full development environment with all tools
- Makefile/Justfile β Common development commands
- Release Script β Automated version bump, changelog, tag, push
# Download latest release from GitHub Releases
# Or build from source:
git clone https://github.com/RXVEN-1907/open-re.git
cd open-re
cargo build --release --package openre-scan
./target/release/openre-scan --help# Standalone scanner
docker run --rm ghcr.io/rxven-1907/openre-scan:latest scan https://example.com --profile standard
# Full platform (API + Worker + Frontend)
docker compose -f docker-compose.yml up -d# With Dev Container (VS Code / GitHub Codespaces)
# Or locally:
./scripts/setup-dev.sh
# Run tests
cargo test --workspace
# Run scanner
cargo run --package openre-scan -- scan https://example.com --profile quick# Quick scan (essential checks only, ~2-3s)
openre-scan scan https://example.com --profile quick
# Standard scan (recommended, ~10-15s)
openre-scan scan https://example.com --profile standard
# Full scan (all checks, ~30-60s)
openre-scan scan https://example.com --profile full
# JSON output for automation
openre-scan scan https://example.com --format json
# SARIF output for CI/CD
openre-scan scan https://example.com --format sarif --output results.sarif
# Save results to file
openre-scan scan https://example.com --output results.json
# Custom timeout and headers
openre-scan scan https://example.com --timeout 30 --header "Authorization=Bearer token"
# Filter specific checks
openre-scan scan https://example.com --checks security-headers,csp,cors
# Exclude checks
openre-scan scan https://example.com --exclude tech-fingerprint,robots-txt
# Show version
openre-scan version
# Interactive TUI (experimental)
openre-scan tui# Project management
openre project create my-project --description "Security assessment"
openre project list
openre project show my-project
# Scan management
openre scan create my-project --target https://example.com --profile standard
openre scan run <scan-id>
openre scan list my-project
openre scan show <scan-id> --format table
# Findings
openre finding list my-project --severity high,critical
openre finding show <finding-id>
# AI Analysis
openre ai analyze <finding-id>
openre ai explain <finding-id>
openre ai remediate <finding-id>
openre ai correlate --project my-project
# Plugin management
openre plugin list
openre plugin install <plugin-name>
openre plugin enable <plugin-name>
openre plugin configure <plugin-name> --setting key=value
# Reports
openre report generate <scan-id> --format html --output report.html
openre report generate <scan-id> --format sarif --output results.sarif| Profile | Checks | Duration | Use Case |
|---|---|---|---|
| Quick | 6 | ~2-3s | Rapid assessment, CI/CD gates |
| Standard | 15 | ~10-15s | General purpose scanning |
| Full | 18 | ~30-60s | Comprehensive audit |
Quick Profile:
- HTTP Headers analysis
- Security Headers (8 headers checked)
- Cookie Security (Secure, HttpOnly, SameSite)
- TLS Certificate validation
- Information Disclosure (debug headers, server version)
- Technology Fingerprinting
Standard Profile (includes Quick):
- Content Security Policy analysis
- CORS Configuration
- Robots.txt enumeration
- Sitemap.XML discovery
- Directory Listing detection
- Sensitive File exposure (20+ common paths)
- Form Analysis (GET passwords, autocomplete, CSRF)
- Link Analysis (mixed content, mailto)
- Script Analysis (inline scripts, external resources)
- Meta Tags analysis
Full Profile (includes Standard):
- HTTP Methods (TRACE, PUT, DELETE, etc.)
- SSL/TLS Configuration deep dive
Human-readable colorized table with severity indicators.
Structured output for programmatic processing:
{
"scan_id": "uuid",
"target": "https://example.com",
"timestamp": "2024-01-01T00:00:00Z",
"findings": [...],
"findings_count": 10
}Static Analysis Results Interchange Format 2.1.0 for CI/CD integration (GitHub Code Scanning, Azure DevOps, etc.).
Rich interactive reports with charts, finding details, and remediation guidance.
| Plugin | Category | Description |
|---|---|---|
| access-control | AuthZ | RBAC, ABAC, policy enforcement |
| api-rate-limiting | DoS | Rate limit detection and bypass testing |
| auth-discovery | AuthN | Login forms, SSO, MFA detection |
| cookie-security | Session | Secure/HttpOnly/SameSite analysis |
| cors-analysis | Config | CORS misconfiguration detection |
| csp-analysis | Config | Content Security Policy analysis |
| file-upload | Input | Malicious file upload testing |
| graphql-analysis | API | GraphQL introspection, depth limits |
| information-disclosure | Info | Debug endpoints, stack traces |
| path-traversal | Input | Directory traversal testing |
| rate-limiting | DoS | Rate limit enumeration |
| rest-api-analysis | API | OpenAPI/Swagger analysis |
| security-headers | Config | Security header analysis |
| sensitive-info | Info | PII, secrets, credentials detection |
| session-management | AuthN | Session fixation, hijacking |
| sql-injection | Input | SQLi detection and exploitation |
| xss-analysis | Input | XSS detection (reflected, stored, DOM) |
# Create new plugin project
cargo new --lib my-plugin
cd my-plugin
# Add dependencies
# See docs/injection/plugin_development_guide.md
# Build WASM
cargo build --target wasm32-wasip1 --release
# Install
openre plugin install ./target/wasm32-wasip1/release/my_plugin.wasmβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β open-re Platform β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Frontend β β openre- β β openre- β β
β β (React) ββββ api ββββ cli β β
β βββββββββββββββ ββββββββ¬βββββββ βββββββββββββββ β
β β β
β βββββββββββββββββΌββββββββββββββββ β
β βΌ βΌ βΌ β
β βββββββββββββββ βββββββββββββββ βββββββββββββββββ β
β β openre-scan β βopenre-queue β β openre-storageβ β
β βββββββββββββββ ββββββββ¬βββββββ βββββββββββββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββ β
β β openre-core (shared types) β β
β βββββββββββββββββββββββββββββββββββββββ€ β
β β Finding Model β’ Risk Engine β’ IDs β β
β βββββββββββββββββββββββββββββββββββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββ βββββββββββββββ ββββββββββββββββ β
β βopenre-intel β βopenre-sec-aiβ βopenre-pluginsβ β
β βligence β β β β β β
β βββββββββββββββ βββββββββββββββ ββββββββββββββββ β
β β β β β
β ββββββββββββββββββ΄βββββββββββββββββ β
β β β
β ββββββββββββββββββ΄βββββββββββββββββ β
β βΌ βΌ β
β βββββββββββββββ βββββββββββββββ β
β βopenre-analy-β β openre- β β
β βsis β β telemetry β β
β βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Crate | Purpose | Key Types |
|---|---|---|
openre-core |
Shared foundation | Finding, RiskScore, StageId, PluginId, Capability |
openre-config |
Configuration management | Layered config (file, env, CLI) |
openre-telemetry |
Observability | Metrics, Tracing, Logging, Audit |
openre-storage |
Persistence | ScanStorage, ObjectStore, Migrations |
openre-queue |
Job processing | QueueManager, WorkerPool, Scheduler |
openre-plugins |
Extensibility | PluginRegistry, Runtime, CapabilityEnforcer |
openre-intelligence |
Analysis enrichment | CVE matching, Correlation, Dependency analysis |
openre-security-ai |
AI integration | SecurityAnalyst, PromptCompiler, Providers |
openre-analysis |
Binary analysis | Pipeline, Stages, ELF/PE/WASM parsers |
openre-api |
Platform API | REST, gRPC, WebSocket, Auth |
openre-cli |
Unified CLI | All user-facing commands |
openre-scan |
Standalone scanner | 18 security checks, 3 profiles |
Works without configuration. Optional via:
- Command-line flags (see
--help) - TOML config file (planned)
# ~/.config/openre/config.toml
[server]
host = "0.0.0.0"
port = 8080
[database]
url = "sqlite://data/openre.db"
[redis]
url = "redis://localhost:6379"
[queue]
worker_count = 4
max_retries = 3
[plugins]
enabled = true
registry_url = "https://plugins.openre.dev"
auto_update = false
[ai]
provider = "ollama"
model = "codellama:13b"
base_url = "http://localhost:11434"
[telemetry]
metrics_port = 9090
log_level = "info"Authorization Required: Only scan targets you own or have explicit written permission to test. Unauthorized scanning may violate laws and terms of service.
No Telemetry: open-re does not collect or transmit any usage data without explicit opt-in.
Safe Design:
- No shell command execution
- Path traversal prevention
- Network request validation (timeouts, redirect limits)
- Memory-safe Rust implementation
- Capability-based plugin sandboxing
- Input validation at all boundaries
Vulnerability Reporting: See SECURITY.md for responsible disclosure process.
| Metric | Value |
|---|---|
| Binary Size (scanner) | ~7 MB (release, stripped) |
| Binary Size (CLI) | ~12 MB (release, stripped) |
| Startup Time | < 50ms cold start |
| Memory Usage (scanner) | 10-20 MB base footprint |
| Memory Usage (API) | 50-100 MB base footprint |
| Quick Scan | ~2-3 seconds |
| Standard Scan | ~10-15 seconds |
| Full Scan | ~30-60 seconds |
| API Throughput | 1000+ req/s (simple endpoints) |
- Configuration file support (TOML)
- Authentication handling (OAuth, JWT, API keys)
- Recursive crawling/spidering
- JavaScript rendering/analysis (headless)
- Plugin marketplace integration
- Multi-tenant API support
- Distributed scanning (multi-worker)
- Custom check SDK
- Advanced correlation engine
- Compliance reporting (OWASP, PCI-DSS, HIPAA)
- IDE integrations (VS Code, IntelliJ)
- Stable plugin API
- Full binary analysis pipeline
- Enterprise features (RBAC, SSO, Audit logs)
- Cloud-managed offering
- Professional support tiers
We welcome contributions! See CONTRIBUTING.md.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
cargo test --workspace - Run linters:
cargo fmt --check && cargo clippy --workspace - Submit a pull request
# Install pre-commit hooks
cargo install pre-commit
pre-commit install
# Run all checks locally
make check # or: just checkMIT License - see LICENSE for details.
Built with:
- Rust β Memory-safe systems programming
- reqwest β HTTP client
- clap β CLI parsing
- ratatui β TUI framework
- select β HTML parsing
- tabled β Table formatting
- tokio β Async runtime
- sqlx β Database toolkit
- tonic β gRPC framework
- axum β Web framework
- tracing β Observability
| Document | Description |
|---|---|
| Architecture Overview | System architecture and design principles |
| Repository Structure | Codebase organization |
| Backend Architecture | Rust workspace design |
| Frontend Architecture | React + TypeScript + Tailwind |
| Plugin Architecture | WASM plugin system |
| AI Architecture | LLM integration design |
| Analysis Pipeline | Binary analysis stages |
| Database Design | Schema and migrations |
| Queue/Worker System | Job processing |
| Security Model | Threat model and controls |
| AI Security Analyst | AI-powered analysis |
Note: This is the open-re platform repository. The standalone openre-scan tool can be used independently. The full platform with AI, plugins, web UI, and collaborative features is under active development.