Skip to content

Latest commit

Β 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

open-re


 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘         β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘         β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
 β•šβ•β•β•β•β•β• β•šβ•β•     β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•         β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•

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

CI Release Security Audit License: MIT Rust Version Docs

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.

🎯 Platform Overview

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

✨ Features

πŸ”§ Architecture & Infrastructure

Plugin System (openre-plugins)

  • 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

Analysis Pipeline (openre-analysis)

  • 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

AI/LLM Integration (openre-security-ai)

  • 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

Database & Storage Layer (openre-storage)

  • 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

πŸš€ Features

Security Scanning (openre-scan)

  • 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 β€” --checks and --exclude for selective scanning
  • Custom Headers β€” --header for authentication and custom requests
  • File Output β€” --output to save results
  • Cross-Platform β€” Linux, macOS, Windows
  • Privacy-Focused β€” No telemetry, no data collection

TUI Improvements (openre-scan TUI)

  • 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

API Endpoints (openre-api)

  • 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

Frontend/UI Features (React + TypeScript + Tailwind)

  • 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/CD & DevOps

GitHub Actions Workflows

  • 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

Release Management

  • 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

Testing Infrastructure

  • 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

Security Scanning

  • 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

πŸ› οΈ Developer Experience

CLI Improvements (openre-cli)

  • 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

Documentation

  • 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

Tooling

  • 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

πŸ“¦ Quick Start

Install Binary (Recommended)

# 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

Docker

# 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

Development Environment

# 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

πŸ“– Usage

Standalone Scanner (openre-scan)

# 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

Unified CLI (openre)

# 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

Scan Profiles

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

Checks Included

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

πŸ“Š Output Formats

Table (Default)

Human-readable colorized table with severity indicators.

JSON

Structured output for programmatic processing:

{
  "scan_id": "uuid",
  "target": "https://example.com",
  "timestamp": "2024-01-01T00:00:00Z",
  "findings": [...],
  "findings_count": 10
}

SARIF

Static Analysis Results Interchange Format 2.1.0 for CI/CD integration (GitHub Code Scanning, Azure DevOps, etc.).

HTML Reports

Rich interactive reports with charts, finding details, and remediation guidance.


πŸ”Œ Plugin System

Built-in Security Plugins

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)

Developing Plugins

# 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

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        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  β”‚           β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Core Crates

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

βš™οΈ Configuration

Scanner Config (openre-scan)

Works without configuration. Optional via:

  • Command-line flags (see --help)
  • TOML config file (planned)

Platform Config (openre-api, openre-cli)

# ~/.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"

πŸ”’ Security & Legal

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.


πŸ“ˆ Performance

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)

πŸ—ΊοΈ Roadmap

v0.2.0 (Current Development)

  • Configuration file support (TOML)
  • Authentication handling (OAuth, JWT, API keys)
  • Recursive crawling/spidering
  • JavaScript rendering/analysis (headless)
  • Plugin marketplace integration
  • Multi-tenant API support

v0.3.0

  • Distributed scanning (multi-worker)
  • Custom check SDK
  • Advanced correlation engine
  • Compliance reporting (OWASP, PCI-DSS, HIPAA)
  • IDE integrations (VS Code, IntelliJ)

v1.0.0

  • Stable plugin API
  • Full binary analysis pipeline
  • Enterprise features (RBAC, SSO, Audit logs)
  • Cloud-managed offering
  • Professional support tiers

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: cargo test --workspace
  5. Run linters: cargo fmt --check && cargo clippy --workspace
  6. Submit a pull request

Development Setup

# Install pre-commit hooks
cargo install pre-commit
pre-commit install

# Run all checks locally
make check  # or: just check

πŸ“„ License

MIT License - see LICENSE for details.


πŸ™ Acknowledgments

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

πŸ“š Documentation

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.

About

Open source reverse engineering and offensive security platform combining modern security tools and LLMs for automated analysis of binaries, websites, APIs, and applications for discovering vulnerabilities, generating reproducible PoC exploits, and providing actionable remediation guidance.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages