opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

BLA makes AI reverse-engineering agents burn tokens on decoys
GitHub RepoViews5

Project Description

View on GitHub

Your Release Build Is Training Data for AI Reverse Engineers. Here's How to Make That Expensive.

You ship a release artifact, and within minutes an AI reverse-engineering agent can pull it apart—mapping interfaces, recovering metadata, and reconstructing your internals in a single command. So what happens when you turn that dynamic around and make the analysis itself the expensive part? That's the premise behind BLA (Blind LLM Agents), a defensive tool that hardens your own builds against automated reverse engineering.

What It Does

BLA is a counter-reverse-engineering layer you point at the build you actually ship. It auto-discovers common artifact types—dist/ and build/ directories, .asar archives, .wasm binaries, .sqlite databases, models, and more—then runs a three-stage pipeline of audit, protect, and verify. The goal isn't to make your software unreadable to humans, but to make it costly and misleading for AI agents that analyze it automatically.

The protection works across three layers. Poison plants format-valid canaries, honey metadata, and decoy control flow that look like genuine evidence. Exhaust pushes the artifact past documented resource budgets an REA relies on—headers, nesting depth, interface inventories, PCAP JSON, fuse sentinels, and similar structures. Hallucinate leaves the analyzer with truncated inventories, redaction failures, and ambiguous rabbit holes to chase. Throughout all of this, the README states that runtime behavior stays equivalent, so your users get the same software they always did.

It's distributed as an npm package (bla-agents) and requires Node.js ^22.23.4 || 24.x. There's also an MCP tool catalog, which means you can wire it into an agent workflow rather than running it purely by hand.

Why It's Cool

The framing here is what makes it interesting. Most security tooling is built around protecting against human attackers or automated scanners. BLA is explicitly aimed at the new class of LLM-driven reverse-engineering agents, and it attacks the one resource those agents consume most predictably: tokens and analysis budget.

  • It targets cost, not secrecy. Rather than trying to hide everything, BLA makes analysis expensive—resource budgets get hit, decoys get followed, and the agent burns tokens on dead ends. That's a different threat model than obfuscation, and it fits how LLM agents actually fail.

  • Runtime equivalence is the key promise. Poison and decoys are worthless if they break your software. The README's claim that runtime stays equivalent is the detail that makes the whole approach viable—you're not trading stability for protection.

  • One command covers the common case. Auto-discovery of dist/, build/, .asar, .wasm, .sqlite, and models means you don't have to hand-configure every artifact type. That's a real convenience for anyone shipping mixed build outputs.

  • It plugs into agent workflows. The MCP tool catalog and the bla_harden tool mean you can ask your own agent to harden your software, which is a fitting bit of symmetry given what the tool defends against.

  • The project is honest about measurement. The README points to "empirically measured" Counter-REA results and a benchmark across 14 targets with internal estimates, rather than making vague claims. That's the kind of framing that earns trust.

How to Try It

Getting started is about as short as it gets. You'll need Node.js ^22.23.4 || 24.x, then run the harden command against your project root:

npx bla-agents harden .

That single command auto-discovers your build outputs and runs the full audit → protect → verify pipeline. If you'd rather drive it from an agent, the README notes you can use the MCP tool bla_harden or simply tell your agent: "Harden my software against REA."

A few things worth knowing before you dive in:

  1. This is for your own software. The README is explicit that BLA is a defensive tool for protecting software you own, and points to a DISCLAIMER.md. Read it.

  2. Grab it from the right place. The project lives at github.com/qybaihe/bla and on npm as bla-agents.

  3. Check the docs. There are guides, showcases, and a CLI/MCP reference linked from the repo if you want to go beyond the one-liner.

Final Thoughts

BLA is a focused tool solving a specific, increasingly relevant problem: automated reverse engineering is cheap now, and it's only getting cheaper. If you ship client-side artifacts—web bundles, desktop apps, WASM, packaged databases—and you care about what an AI agent can extract from them, this is worth a look. It won't stop a determined human analyst, and it's not trying to. What it does is raise the cost of the automated, token-burning kind of analysis that's becoming the default. For teams shipping sensitive logic in their builds, that's a pragmatic line of defense.

Back to Projects
Project ID: blaLast updated: November 8, 2026 at 09:35 AM