← all repositories
qybaihe/bla

Poison, exhaust, hallucinate: making AI reverse-engineering go broke

BLA hardens your shipped binaries so AI agents that try to reverse-engineer them burn their budgets chasing decoys instead of your secrets.

★855 stars TypeScript Other AI
bla
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

BLA (Blind LLM Agents) is a defensive post-processing pass for release artifacts: JavaScript bundles, Electron .asar archives, WASM, Python, Go binaries, SQLite, model files (Safetensors/GGUF), and more. It plants format-valid canaries and honey metadata, then pads structures past the documented resource limits of AI reverse-engineering agents (REA). The claim that matters: runtime behavior stays equivalent — 14/14 targets in their benchmark run runtime-exact.

The interesting bit

Instead of hiding your code, BLA makes analysis expensive. It’s built around a catalog of the analyzer’s actual budget constants — a 1 MiB Go build-info cap, a 16 MiB ASAR header limit, 32-level JSON nesting for model metadata — and pushes each format just past them. The README is refreshingly honest about what’s empirically verified versus merely designed-for: Ghidra, Frida, JADX, and firmware paths are explicitly listed as untested here.

Key highlights

  • Three-layer strategy: poison (decoy evidence), exhaust (budget overflow), hallucinate (truncated inventories and rabbit holes)
  • Empirically validated against real REA on commodity hardware, with machine-readable before/after reports
  • Broad format coverage: JS/TS, Electron, WASM, SQLite, Go, BEAM, EVM, PCAP, Safetensors, GGUF, Flutter
  • Works as a CLI or MCP tool — you can literally tell your coding agent “harden my software against REA”
  • Token/cost multipliers are labeled as internal estimates, not measurements — a rare act of benchmark hygiene

Caveats

  • The headline ~612× token multiplier is an estimate derived from BLA’s own catalog of REA limits, not an observed cost
  • Several shields (Ghidra, Frida, JADX/APK, firmware, GPU objects) exist in-tree but have no end-to-end verification
  • APK resigning is unsupported, so the Android pipeline is partial

Verdict

Worth a look if you ship closed-source artifacts and worry about agent-driven reverse engineering — the budget-tripping approach is clever and unusually well-evidenced. If you were hoping for protection against human analysts with Ghidra, that’s explicitly not what’s been proven here.

Frequently asked

What is qybaihe/bla?
BLA hardens your shipped binaries so AI agents that try to reverse-engineer them burn their budgets chasing decoys instead of your secrets.
Is bla open source?
Yes — qybaihe/bla is open source, released under the MIT license.
What language is bla written in?
qybaihe/bla is primarily written in TypeScript.
How popular is bla?
qybaihe/bla has 855 stars on GitHub.
Where can I find bla?
qybaihe/bla is on GitHub at https://github.com/qybaihe/bla.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.