Open source / Evidence-driven Linux security

Don't tell me my application is insecure — show me why.

See what an attacker can learn from your application at runtime.

Static ELF inspection ptrace / eBPF Process memory Evidence & lineage

RuntimeXRay is an evidence-driven security analysis tool for compiled Linux applications. It combines static ELF inspection, runtime tracing, process-memory analysis, lineage, and graph-based detection to produce security findings backed by observable evidence.

The goal is not simply to produce more warnings. RuntimeXRay tries to answer:

What happened, where did it happen, and what evidence proves it?

🤖 “The AI wrote it. But what did it actually build?”

AI can produce working code in seconds. RuntimeXRay examines the compiled result and the behavior that actually occurs during execution.

📦 “You didn’t write that library. Do you really know what it does?”

RuntimeXRay can observe supported behavior from third-party, legacy, or binary-only components without requiring complete source visibility.

🧩 “Who still understands this entire application?”

Large systems accumulate years of code, dependencies, configuration paths, helper processes, and operational assumptions. RuntimeXRay turns some of those assumptions into observable evidence.

⚡ “Can security review keep up with the release cycle?”

Runtime evidence can complement source review by showing which supported behaviors actually occurred in a controlled execution.

Evidence, not intent

RuntimeXRay deliberately separates observation from conclusion.

For example, observing a connection to a network endpoint does not automatically mean exfiltration. Accessing a sensitive file does not automatically mean compromise.

RuntimeXRay aims to make the strongest claim that the available evidence supports — and no stronger.

Research / Stage D

Inspect memory. Don't change it.

Explore our measured comparison of Linux remote-memory readers, including performance, fork copy-on-write effects, and access semantics.

View benchmarks →

What RuntimeXRay can do today

Unified CLI
runtimexray analyze
runtimexray trace
runtimexray mem

analyze performs static ELF inspection.

trace performs runtime tracing using either ptrace or eBPF.

mem scans an authorized running process for supported sensitive values.

Static analysis

Dynamic tracing

Memory scanning

Sensitive values are redacted by default.

RuntimeXRay uses a per-run HMAC-SHA256 fingerprint so the same exact sensitive value can be correlated within one analysis without normally printing the raw secret.

Evidence correlation

File → memory → socket

RuntimeXRay can currently correlate the same exact sensitive value across:

source file
    ↓
read / receive
    ↓
exact sensitive-value fingerprint
    ↓
independent process-memory observation
    ↓
write / send
    ↓
socket destination

The memory evidence must come from an independent memory scan. RuntimeXRay does not invent the memory leg merely because the same value appeared in a syscall buffer.

Current confidence: exact-fingerprint-match

Cross-process pipe-chain correlation

RuntimeXRay can also follow the same sensitive value across multiple explicit pipe DataFlow boundaries:

Process A
    │
    ▼
  pipe 1
    │
    ▼
Process B
    │
    ▼
  pipe 2
    │
    ▼
Process C

This rule requires explicit pipe DataFlow edges, matching exact fingerprints, distinct process instances, and temporally compatible transfers.

Current confidence: explicit-pipe-dataflow-chain

Current architecture

Static ELF collection
        │
Runtime tracing ─────────┐
        │                │
Memory scanning ─────────┤
                         ▼
                   LineageGraph
              Observations + Edges
                         │
                         ▼
              DetectionRuleRegistry
                         │
                         ▼
                DetectionEngine
              Primary → Composite
                         │
                         ▼
                      Findings
                         │
                         ▼
                NarrativeBuilder
                         │
                         ▼
                 Text / JSON report

Collectors record facts. Detection rules derive security conclusions. Narrative generation explains those conclusions. Reporting serializes the result.

Built-in detection rules

Primary rules:

Composite rules:

Extensibility

The current extension point is IDetectionRule. Rules are registered through DetectionRuleRegistry.

Custom rules currently require source integration and rebuilding RuntimeXRay.

Dynamic external .so loading is planned, but is not implemented today.

Common options

--report FILE
--json FILE
--log-level LEVEL
--log-file FILE
--min-severity LEVEL
--show-secrets

Severity levels:

Critical
High
Medium
Low
Info

Default minimum severity: Medium

Tests and architecture support

Core suite

The current core test suite contains 56 tests when ptrace tests are enabled and eBPF runtime tests are excluded.

GitHub Actions runs the core suite natively on:

Dedicated eBPF runtime suite

Dedicated jobs execute 16 eBPF runtime/integration tests on each architecture:

Skipped eBPF runtime tests are treated as CI failures.

Current scope

Experimental

Planned

Evidence-first AI

RuntimeXRay may eventually use AI to explain existing evidence. AI is not intended to become the evidence source.

Observed evidence
       ↓
Detection rules
       ↓
Structured Findings
       ↓
Narrative
       ↓
Optional AI explanation

Raw secrets must not be sent to an external AI service by default.

Build and Test

Documentation & project links