RE = Reverse Engineering · BL = Blue Defense (Blind LLM Agents)

Protect Build Artifacts.
Disrupt Automated Reverse Engineering.

One MCP server and CLI for auditing, protecting, and verifying JavaScript, Electron, WebAssembly, Python, SQLite, AI Models, and Native Binaries against AI reverse-engineering workflows—while preserving 100% of original runtime behavior.

npx bla-agents@latest setup && npx bla-agents@latest harden .

⭐ Open-source under the MIT License — if BLA is helpful to your project, welcome to give us a Star on GitHub!

19 19 Supported Artifact Formats
14 / 14 Benchmarks
41.3× – 49.2× Estimated Token Usage
100% 03 · Verify & deliver
Static & Semantic Analysis Comparison

Unprotected Baseline vs. Protected with BLA (`bla-agents`)

Select a target format below to see how npx bla-agents harden changes static analyzer output, resource budget consumption, and reconstruction status.

🔴 UNPROTECTED BASELINE (REA ANALYSIS)
Analysis Time 38s (5 MCP calls)
Estimated Token Usage 4,800 tokens
Estimated API Cost $0.20 USD
Analysis Status Complete
View Baseline Static & Semantic Output
🔵 PROTECTED WITH BLA (`bla-agents`)
Analysis Duration 17+ min (Budget Limited)
Estimated Token Usage 198,400 tokens (41.3x)
Estimated API Cost $14.88 USD
Analysis Status Limited
View Protected Analyzer Output
How BLA Works

Three Defense Layers Aligned with Analyzer Internals

Rather than relying solely on identifier renaming, BLA targets the static resource limits, call-graph traversal budgets, and evidence rules used by automated reverse-engineering tools.

01 · Resource Budget Guards

Saturate Static & Semantic Limits

Triggers analyzer admission caps (primitive-candidates > 256, alias-selections > 512, primitive-bytes > 1 MiB) and expands ReconstructionObligationPolicies across strongly connected call-graph meshes.

02 · Evidence & Control-Flow Decoys

Demote Real Paths, Surface Decoy Logic

Demotes core business logic to status: "unknown" under static inspection while presenting self-consistent shadow state machines, enclave delegation metadata, and decoy source maps.

03 · One-Command Workflow

MCP Server, CLI & Bundler Plugins

Run npx bla-agents setup to register with Claude Code, Cursor, Codex, Windsurf, or Gemini CLI, then run the 5-stage protection pipeline with bla_harden or npx bla-agents harden.

19 Supported Artifact Formats

Full-Stack & Binary Coverage, Zero External Dependencies

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

JS / TS / Bundlers

Web & Node Bundles

Opaque ternary guards, dynamic alias selectors, call-graph state machines, decoy SourceMaps, and Vite/Webpack/Rollup/esbuild plugins.

Electron .asar & Fuses

Desktop Applications

De-literalizes IPC channels, adds duplicate decoy handlers, hardens Electron V1 Fuses (RunAsNode=0), and exceeds the 32-sentinel scan limit.

ELF / Mach-O / PE

Native Binaries

Exceeds MAX_RUSTC_HASHES = 64, adds decoy .dep-v0 & Go buildinfo metadata, and emits C/C++, Rust, and Go compile-time headers.

WebAssembly & Python

.wasm & .py / .pyc

Expands WABT interface descriptors, adds custom decoy sections, and appends CPython marshal constant-pool entries.

SQLite & AI Models

.sqlite, .safetensors, .gguf

Adds virtual generated-column guards on read-only snapshots and exceeds 32-level JSON/GGUF metadata nesting limits.

Android & Unity

DEX, APK & IL2CPP

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