RE = Red Offense · BL = Blue Defense (Blind LLM Agents)

Exhaust REA Compute.
Induce Model Misjudgment.

One MCP and CLI to harden JavaScript, Electron, WebAssembly, Python, SQLite, AI Models, and Native Binaries against AI reverse-engineering agents—with one-click agent execution and 100% runtime equivalence.

npx bla-agents@latest setup && npx bla-agents@latest defend ./dist
Live Counter-REA Comparison

Red Offense (`morluto/rea`) vs. Blue Shield (`bla-agents`)

Select a target format below to see how a single npx bla-agents defend command turns a 38-second clone into parser capacity trips and decoy algorithm reconstruction.

🔴 BEFORE BLA — REA (RED) ALONE
Reconstruction Time 38s (5 MCP calls)
Attacker Token Burn 4,800 tokens
Attacker API Cost $0.20 USD
Agent Outcome 100% Cloned
View REA Static & Semantic Trace
🔵 AFTER BLA — BLUE SHIELD ACTIVE
Attacker Time Wasted 17+ min (Aborted)
Attacker Token Burn 198,400 tokens (41.3x)
Attacker API Cost $14.88 USD
Agent Outcome Misjudged Shadow Logic
View BLA Exhaustion & Deception Trace
How BLA Works

Surgical Countermeasures Mapped 1:1 to REA

Instead of generic variable renaming that LLMs trivially infer from context, BLA attacks the exact resource budgets and evidence rules inside morluto/rea.

01 · Resource Exhaustion

Break REA Budgets & Flood Obligations

Trips REA's hardcoded limits (primitive-candidates > 256, alias-selections > 512, primitive-bytes > 1 MiB) and floods all 22 ReconstructionObligationPolicies families with Tarjan SCC call-graph labyrinths.

02 · Model Misjudgment

Hijack Observed Evidence

Exploits REA's COMMON_DISCIPLINE by wrapping real logic in status: "unknown" while planting crystal-clear Shadow Business Logic (Shamir-Ed25519 rings, gRPC enclave mirages, and shared-ArrayBuffer illusions) that LLMs faithfully clone instead.

03 · One-Click Agent Defense

Attach Once, Harden in One Command

Run npx bla-agents setup to connect Claude Code, Cursor, Codex, Windsurf, or Gemini CLI. Then trigger the entire 5-stage hardening pipeline with a single bla_defend tool call or npx bla-agents defend.

19 Supported Artifact Formats

Full-Stack & Binary Coverage, Zero External Dependencies

Every static, bytecode, database, model, and binary shield runs locally in Node.js 22.13+ / 24+.

JS / TS / Bundlers

Web & Node Bundles

9-chunk opaque ternaries, 520+ alias selector states, 22-family obligation flood, VLQ Honey SourceMaps, and Vite/Webpack/Rollup/esbuild plugins.

Electron .asar & Fuses

Desktop Applications

De-literalizes IPC channels, injects duplicate ambiguous handlers, flips Electron V1 Fuses (RunAsNode=0), and overflows REA's 32-sentinel cap.

ELF / Mach-O / PE

Native Binaries

Overflows REA's MAX_RUSTC_HASHES = 64, spoofs .dep-v0 & Go buildinfo, and emits C/C++, Rust, and Go compile-time tarpit headers.

WebAssembly & Python

.wasm & .py / .pyc

Amplifies WABT interface byte charges (wasmInterface.ts:90), plants custom honey sections, and injects CPython marshal constant-pool tarpits.

SQLite & AI Models

.sqlite, .safetensors, .gguf

Triggers SqliteColumnEvaluationFailure on read-only snapshots and trips REA's 32-level JSON/GGUF metadata nesting caps.

Android & Unity

DEX, APK & IL2CPP

Appends decoy DEX string descriptors with recomputed SHA-1/Adler32 headers and plants decoy enclave types in Unity global-metadata.dat.