🛡️ BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.

★ 4,683⑂ 558👁 16⑃ 128● 27▤ 31◈ 1
TypeScriptMITCreated 2026-10-25bla.tools
4,683
stars
+692
558
forks
16
watchers
128
prs
27
issues
31
releases
1
discussions

README

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Türkçe · Русский · Tiếng Việt · ไทย · Deutsch · Español · Français · Українська · Polski · Português (Brasil) · العربية · فارسی · Bahasa Indonesia · Italiano · Ελληνικά · മലയാളം · Roman Urdu · Română





 BLA: Blind LLM Agents

 Poison → Exhaust → Hallucinate. Make Reverse Engineering Bankrupt Again.

The open-source Counter-REA Blue Defense MCP & CLI that protects software releases against AI reverse-engineering agents (morluto/rea, autonomous decompilers, and LLM recon pipelines) — verified across 14 showcase benchmark targets.









  
    
  


🌐 Official Website · 📖 Defense Guides · 📊 Live Benchmarks · 🎯 CrackMe Arena · 🏢 Enterprise · ⚖️ Disclaimer

Quick Start · How It Works · Empirical Results · Format Coverage · 14-Target Benchmark · CrackMe Arena · FAQ



---

 [!IMPORTANT]
 Defensive Use Only: BLA is engineered strictly for software authors and security teams protecting their own intellectual property and release artifacts. See DISCLAIMER.md.
 Always install from official sources: qybaihe/bla or npm i bla-agents.











 🔴 Without BLA
AI reverse-engineering agents (REA + coding agents) unpack .asar archives, recover SourceMaps, trace IPC bridges, inspect .wasm / .sqlite / .safetensors, and clone core business logic in seconds for ~$0.20.




 🛡️ With BLA (bla harden .)
Every analyzer pass hits deterministic resource ceilings (primitive-candidates  256, ASAR  16 MiB, WASM  Wabt cap, SQLite virtual trap), follows realistic shadow state machines, and burns 300×–2,800× more tokens.




 ⚡ Runtime-Equivalent by Design
Exhaustion graphs and decoy payloads sit behind $O(1)$ number-theoretic opaque predicates ($7x^2 - 1 \neq y^2 \pmod 7$) or inert format sections. 14/14 bundled benchmark targets pass input/output equivalence tests (bla verify checks Counter-REA structural gates; run your project's test suite for custom artifacts).





---

 ⚡ 30-Second Quick Start

 1. One-Command CLI Hardening
Point BLA at any project or release directory. It auto-discovers build outputs (dist/, build/, .asar, .wasm, .sqlite, .safetensors, native binaries, Python/C/Rust/Go) and runs audit → protect → verify:

bash
 Node.js ^22.23.4 or =24.0.0 recommended
npx bla-agents harden .


 2. Agent-Driven Closed-Loop Defense (MCP + Skill)
Register BLA once with your coding agent (Claude Code, Cursor, Codex, Windsurf, Gemini CLI, GitHub Copilot CLI, VS Code, OpenCode, Antigravity):

bash
npx bla-agents setup


Then simply prompt your coding agent:

text
Harden my software against REA


Your host agent automatically orchestrates BLA's MCP tools (bla_weave_plan → source-level logic weaving & string encryption → bla_verify_weave → bla_harden → bla_verify) to harden both your source architecture and compiled artifacts.

 3. Build Bundler Plugin (Vite / Rollup / Webpack / esbuild)
Protect JS chunks, strip/replace SourceMaps with VLQ v3 honey maps, and shield .wasm assets automatically at bundle time:

typescript
import { defineCon

Top issues

Discussions

Latest release

bla-agents: v3.2.0 bla-agents-3.2.0 2026-11-08
bla-agents 3.2.0

Minor release extending opt-in sidecarEntangle to Bun / EOF-preserved native companions and closing the defenseScore honesty gap when entanglement is left OFF.

 Added
- Sidecar Bun companion strip⇒fail (.bla-sidecar.v1.json): generateSidecarBunCompanionNote / bindBunSidecarEntanglement / entangleBunEntryWithSidecars / verifyBunSidecarCompanionNote. When sidecarEntangle is on, protectTarget auto-binds the planted .bunfs-snapshot via a sibling companion note without rewriting the Bun/EOF-preserved binary (runtime red line). hardenProject Bun-only post-pass covers native trees 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON