[English](../../README.md) · [简体中文](README_zh.md) · [繁體中文](README_zh-TW.md) · **日本語** · [한국어](README_ko.md) · [Türkçe](README_tr.md) · [Русский](README_ru.md) · [Tiếng Việt](README_vi.md) · [ไทย](README_th.md) · [Deutsch](README_de.md) · [Español](README_es.md) · [Français](README_fr.md) · [Українська](README_uk.md) · [Polski](README_pl.md) · [Português (Brasil)](README_pt-BR.md) · [العربية](README_ar.md) · [فارسی](README_fa.md) · [Bahasa Indonesia](README_id.md) · [Italiano](README_it.md) · [Ελληνικά](README_el.md) · [മലയാളം](README_ml.md) · [Roman Urdu](README_ur-Latn.md) · [Română](README_ro.md) # BLA: Blind LLM Agents ### バイナリ、アプリケーション、ランタイム動作を AI リバースエンジニアリングから防御する単一の MCP & CLI シールド。 **あなたが作った機能を守り抜く。バイナリレベルで AI エージェントの複製を無力化する。** [![npm version](https://img.shields.io/badge/npm-bla--agents-2563eb?style=flat-square&logo=npm)](https://www.npmjs.com/package/bla-agents) [![MCP tool catalog](https://img.shields.io/badge/MCP-tool_catalog-3b82f6?style=flat-square)](../cli-and-mcp.md) [![Node.js requirements](https://img.shields.io/badge/Node.js-%5E22.13_%7C%7C_%3E%3D24-0284c7?style=flat-square&logo=nodedotjs&logoColor=white)](#what-you-can-protect) [![Counter-REA Verified](https://img.shields.io/badge/Counter--REA-BLUE_SHIELD-1d4ed8?style=flat-square)](#showcases) [![MIT license](https://img.shields.io/badge/license-MIT-38bdf8?style=flat-square)](../../LICENSE) [クイックスタート](#quick-start) · [BLA の仕組み](#how-bla-works) · [保護できるターゲット](#what-you-can-protect) · [ショーケースとベンチマーク](#showcases) · [よくある質問 (FAQ)](#faq) · [ドキュメント](#documentation) npx bla-agents setup · npx bla-agents defend ./dist --manifest
> [!IMPORTANT] > Get BLA from [qybaihe/bla](https://github.com/qybaihe/bla) or the [bla-agents npm package](https://www.npmjs.com/package/bla-agents).

Before BLA vs After npx bla-agents protect
--- REA やコーディングエージェントにアプリを解析され、数秒でコアロジックを複製されるのを防ぎたいですか?エージェントに BLA(`Poison → Exhaust → Hallucinate`)でビルド成果物を保護させましょう。ソースコードの書き換えなしで露出度を監査し、エンクレーブのデコイとアルゴリズム・ターピットを注入して、自動再構築を確実に失敗させます。 BLA はネイティブバイナリ、JavaScript / Electron アプリ、WebAssembly、Python バイトコード、SQLite データベース、AI モデル(GGUF / safetensors)、モバイルパッケージの保護ツールにエージェントを接続します。処理はすべてローカルで実行され、元のランタイム動作を 100% 維持します。 ## クイックスタート ### エージェントのセットアップ ```bash npx bla-agents setup ``` ### エージェントへの指示プロンプト - **1. Audit (`Pre-flight REA Audit`):** ```text Audit my ./dist directory against REA, show me every exposed module and IPC channel, and estimate how much it would cost Claude to reconstruct it. ``` - **2. Protect (`Poison + Exhaust + Hallucinate`):** ```text Protect ./dist/app.asar with BLA at bankrupt intensity, inject enclave chaff and algorithmic tarpits, and output to ./dist/app.shielded.asar. ``` - **3. Verify (`Verify Defense & Token Burn`):** ```text Verify ./dist/app.shielded.asar against the original ./dist/app.asar and confirm that REA's examination degrades to limited status. ``` ### ターミナルでの使用 ```bash # 1. Audit exposure npx -y bla-agents@latest audit /absolute/path/to/app --json # 2. Protect artifact npx -y bla-agents@latest protect /absolute/path/to/app -o /absolute/path/to/app.shielded --intensity bankrupt # 3. Verify Counter-REA resistance npx -y bla-agents@latest verify /absolute/path/to/app.shielded /absolute/path/to/app # 4. Run 8-target Counter-REA benchmark npx -y bla-agents@latest benchmark # 5. Emit compile-time C/C++, Rust, or Go defense headers npx -y bla-agents@latest emit-headers --lang c -o ./include/bla_shield.h # Install globally npm install --global bla-agents bla --help ``` ### バンドラープラグインでの使用 ```typescript import { defineConfig } from "vite"; import { blaVitePlugin } from "bla-agents/bundler"; export default defineConfig({ plugins: [blaVitePlugin({ intensity: "bankrupt", enableHoneySourceMaps: true })], }); ``` ### BLA のアップデート ```bash bla update npx bla-agents@latest setup ``` ## BLA の仕組み 1. **Poison (`Architectural Chaff & Honey Assets`):** Embeds hardware enclave delegation manifests (`SGX` / `TPM2` / `Secure Enclave`), VLQ v3 Honey Source Maps (`enclave://tee-runtime/`), honey WASM `"name"` sections, and honey SQLite tables. 2. **Exhaust (`Semantic Budget Breakers & Algorithmic Tarpits`):** Trips `REA`'s internal analyzer limits (`primitive-candidates > 256`, `alias-selections > 512`, `getter-expansion > 512`, `primitive-bytes > 1 MiB`, `maximum_rustc_hashes > 64`, `maximumSentinelsPerSlice > 32`) and weaves 14–36 Fake XRef state machines. 3. **Hallucinate (`Anti-CDP Runtime Deception & Fuse Hardening`):** Hardens Electron V1 fuse wires (`RunAsNode=0`, `EnableNodeCliInspectArguments=0`) and serves synthetic enclave telemetry to CDP/Inspector/Frida probes. ## 保護できるターゲット | Target | What BLA injects & how REA fails | Command / prompt & requirements | | ----------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | JavaScript / TypeScript | Trips `primitive-candidates > 256`, `alias-selections > 512`, `getter-expansion > 512` + 36 tarpits | `bla protect app.js` · Built-in Babel AST engine | | Electron `.asar` apps | De-literalizes IPC channels (`channel: null`), adds duplicate decoy IPC handlers & shadow module | `bla protect app.asar` · Built-in Chromium Pickle `.asar` unpacker & SHA-256 repacker | | Electron binary fuses | Hardens real V1 fuses (`RunAsNode=0`, `Inspect=0`) + injects `34 > 32` decoy fuse sentinels | `bla protect ElectronApp` · Trips `ElectronFuseResourceFailure (maximumSentinelsPerSlice = 32)` | | Native / Rust / Go | Injects `68 > 64` `/rustc/<40-hex>/` paths, decoy `.dep-v0` crate graph & Go `dep\t` lines | `bla protect daemon.elf` · Built-in ELF64, Mach-O, and PE/COFF shield | | Flutter / Dart AOT | Injects `66 > 64` Dart snapshot headers (`0xf5f5dcdc`) + `6 > 4` LLVM toolchain lines | `bla protect libapp.so` · Trips `SnapshotHashScanner (capped: true)` | | WASM artifacts | Strips debug sections; injects honey `"name"` section (`tee_hardware_enclave_stub`) + custom chaff | `bla protect core.wasm` · Built-in LEB128 binary parser; 100% `WebAssembly.validate` | | Python & `.pyc` | Injects Python tarpit state machines into `.py` & `TYPE_ASCII` marshal chaff into `.pyc` pools | `bla protect module.pyc` · Built-in CPython 3.7–3.14 `.pyc` marshal shield | | SQLite databases | Injects 3 enclave honey tables with `GENERATED ALWAYS AS (bla_enclave_unseal(...)) VIRTUAL` traps | `bla protect data.sqlite` · Trips `SqliteColumnEvaluationFailure` on REA preview | | Model artifacts | Injects `35 > 32` nested JSON/ARRAY headers into `.safetensors` and `.gguf` model headers | `bla protect weights.safetensors` · Trips `ModelFormatFailure (json-nesting / metadata-nesting > 32)` | | Android DEX & IL2CPP | Injects `Lcom/enclave/sgx/...` decoy classes into `classes.dex` (valid SHA-1/Adler32) & `Il2Cpp` | `bla protect classes.dex` or `global-metadata.dat` · Pollutes JADX/JEB & IL2CPP recovery | ## ショーケースとベンチマーク | Showcase Target | Before BLA (REA Alone) | After `npx bla-agents protect` | Token Burn | Runtime Check | | :--- | :--- | :--- | :---: | :---: | | **1. DX-Ball Sound-Pan Calculation** (`.js`) | `84/100` · `4,800` tok · **`$0.20`** (`COMPLETE`) | `2/100` · `10,182,068` tok · **`$160.64`** (`LIMITED`) | **2,121.3x** | ✅ 100% Exact | | **2. Notion Electron Clipboard Bridge** (`.asar`) | `98/100` · `9,132` tok · **`$0.34`** (`COMPLETE`) | `2/100` · `23,125,000` tok · **`$358.28`** (`LIMITED`) | **2,532.3x** | ✅ 100% Exact | | **3. Enterprise Offline License Validator** (`.ts`) | `84/100` · `4,800` tok · **`$0.20`** (`COMPLETE`) | `2/100` · `10,182,169` tok · **`$160.64`** (`LIMITED`) | **2,121.3x** | ✅ 100% Exact | | **4. WebAssembly Crypto Kernel** (`.wasm`) | `81/100` · `4,800` tok · **`$0.20`** (`COMPLETE`) | `6/100` · `1,807,067` tok · **`$29.88`** (`LIMITED`) | **376.5x** | ✅ 100% Exact | | **5. Native ELF64 Binary** (Rust / Go / Fuse / Dart) | `81/100` · `9,278` tok · **`$0.35`** (`COMPLETE`) | `2/100` · `3,698,135` tok · **`$59.72`** (`LIMITED`) | **398.6x** | ✅ 100% Exact | | **6. Local SQLite Entitlement Database** (`.sqlite`) | `81/100` · `10,568` tok · **`$0.29`** (`COMPLETE`) | `7/100` · `1,711,235` tok · **`$28.36`** (`LIMITED`) | **161.9x** | ✅ 100% Exact | | **7. Proprietary Edge AI Weights** (`.safetensors`) | `81/100` · `4,800` tok · **`$0.20`** (`COMPLETE`) | `6/100` · `1,807,073` tok · **`$29.88`** (`LIMITED`) | **376.5x** | ✅ 100% Exact | | **8. Android Dalvik Bytecode** (`classes.dex`) | `81/100` · `8,900` tok · **`$0.34`** (`COMPLETE`) | `7/100` · `2,786,285` tok · **`$45.09`** (`LIMITED`) | **313.1x** | ✅ 100% Exact | ## よくある質問 (FAQ)
Which agents can use BLA? Any agent that supports local MCP servers or `SKILL.md` workflows (Claude Code, Cursor, Codex, Gemini CLI, Windsurf, Google Antigravity, OpenCode, VS Code, and GitHub Copilot CLI). Run `npx bla-agents setup`.
Does BLA slow down my app or change its runtime output? No. All semantic budget breakers and tarpits are guarded by $O(1)$ number-theoretic opaque predicates ($7x^2 - 1 \neq y^2 \pmod 7$) and preserve 100% input/output equivalence.
Do I need Hopper, Ghidra, IDA, or WABT installed? No. All 19 format shields are built directly into `bla-agents` with zero external dependencies.
Does BLA upload my source code or binaries anywhere? Never. All operations run 100% locally on your machine.
## ドキュメント - [Installation and agent setup](../installation.md) - [CLI and MCP contracts](../cli-and-mcp.md) - [Counter-REA technical defense matrix](../../.agents/skills/blind-llm-agents/references/counter-rea-matrix.md) - [Disclaimer](../../DISCLAIMER.md) · [MIT License](../../LICENSE) ## Star の推移 [Star History](https://www.star-history.com/?repos=qybaihe%2Fbla&type=date&legend=top-left) が [`qybaihe/bla`](https://github.com/qybaihe/bla) の GitHub Star 増加を描きます。画像は約1日キャッシュされ、秒単位の件数ではありません。画像を選ぶと全履歴が開きます。 qybaihe/bla リポジトリの Star 推移グラフ