# bla-agents 中文文档

规范地址：https://npmcn.com/package/bla-agents/

版本：2\.0\.0
npm 元数据更新时间：2026-11-03T04:09:03.855Z
中文译文更新时间：2026-11-03T06:20:47.223Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/bla-agents
原文对照：https://npmcn.com/package/bla-agents/?lang=original
项目主页：https://bla.tools/
源码仓库：https://github.com/qybaihe/bla

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.5 MB，406 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.23\.4 \|\| \>=24\.0\.0
- 运行依赖：4 个
- 首次发布：2026-10-25T07:15:14.638Z
- 最新版本发布：2026-11-03T04:09:03.541Z
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

BLA （Blind LLM Agents）——对抗性防御盾，保护二进制文件、电子应用程序、JS包、Python、WebAssembly、SQLite、AI模型和Android DEX/IL2CPP免受AI逆向工程代理（如REA）的攻击。

## 安装

```sh
npm install bla-agents
```

也可以使用：`pnpm add bla-agents`、`yarn add bla-agents`、`bun add bla-agents`

## README

**英语** · [简体中文](https://npmcn.com/package/bla-agents/docs/readme/README_zh.md) · [繁體中文](https://npmcn.com/package/bla-agents/docs/readme/README_zh-TW.md) · [日本語](https://npmcn.com/package/bla-agents/docs/readme/README_ja.md) · [嘻嘻哈哈](https://npmcn.com/package/bla-agents/docs/readme/README_ko.md) · [Turkce](https://npmcn.com/package/bla-agents/docs/readme/README_tr.md) · [Русский](https://npmcn.com/package/bla-agents/docs/readme/README_ru.md) · [Tiếng Việt](https://npmcn.com/package/bla-agents/docs/readme/README_vi.md) · [ไทย](https://npmcn.com/package/bla-agents/docs/readme/README_th.md) · [多伊奇](https://npmcn.com/package/bla-agents/docs/readme/README_de.md) · [西班牙语](https://npmcn.com/package/bla-agents/docs/readme/README_es.md) · [法语](https://npmcn.com/package/bla-agents/docs/readme/README_fr.md) · [乌克兰语](https://npmcn.com/package/bla-agents/docs/readme/README_uk.md) · [波兰语](https://npmcn.com/package/bla-agents/docs/readme/README_pl.md) · [葡萄牙商业银行(巴西)](https://npmcn.com/package/bla-agents/docs/readme/README_pt-BR.md) · [العربية](https://npmcn.com/package/bla-agents/docs/readme/README_ar.md) · [فارسی](https://npmcn.com/package/bla-agents/docs/readme/README_fa.md) · [印度尼西亚语](https://npmcn.com/package/bla-agents/docs/readme/README_id.md) · [意大利语](https://npmcn.com/package/bla-agents/docs/readme/README_it.md) · [Ελληνικά](https://npmcn.com/package/bla-agents/docs/readme/README_el.md) · [മലയാളം](https://npmcn.com/package/bla-agents/docs/readme/README_ml.md) · [罗马乌尔都语](https://npmcn.com/package/bla-agents/docs/readme/README_ur-Latn.md) · [罗马ă](https://npmcn.com/package/bla-agents/docs/readme/README_ro.md)

# ![BLA Shield](https://npmcn.com/package/bla-agents/docs/assets/logo.png) BLA：盲LLM代理

### 让逆向工程再次破产。

**BLA点在你的飞船上。当AI逆向工程代理（REA）打开它时，分析器会命中资源预算、跟踪诱饵并烧掉令牌——而您的用户仍然得到相同的运行时行为。**

[![npm version](https://img.shields.io/badge/npm-bla--agents-2563eb?style=flat-square&logo=npm)](https://www.npmjs.com/package/bla-agents) [![GitHub Trending](https://img.shields.io/badge/GitHub_Trending-%2315_Daily-7c3aed?style=flat-square&logo=github&logoColor=white)](https://trendshift.io/repositories/323569) [![MCP tool catalog](https://img.shields.io/badge/MCP-tool_catalog-3b82f6?style=flat-square)](https://npmcn.com/package/bla-agents/docs/cli-and-mcp.md) [![Node.js](https://img.shields.io/badge/Node.js-%5E22.23.4_%7C%7C_24.x-0284c7?style=flat-square&logo=nodedotjs&logoColor=white)](https://npmcn.com/package/bla-agents/#readme-format-coverage) [![Counter-REA](https://img.shields.io/badge/Counter--REA-empirically_measured-1d4ed8?style=flat-square)](https://npmcn.com/package/bla-agents/#readme-empirical-results-vs-real-rea) [![MIT license](https://img.shields.io/badge/license-MIT-38bdf8?style=flat-square)](https://npmcn.com/package/bla-agents/LICENSE)

**[网站](https://bla.tools/) · [指南](https://bla.tools/guides/) · [展示了](https://bla.tools/showcase/) · [免责声明](https://npmcn.com/package/bla-agents/DISCLAIMER.md)**

[快速启动](https://npmcn.com/package/bla-agents/#readme-quick-start) · [实证结果](https://npmcn.com/package/bla-agents/#readme-empirical-results-vs-real-rea) · [报道格式](https://npmcn.com/package/bla-agents/#readme-format-coverage) · [基准](https://npmcn.com/package/bla-agents/#readme-benchmark-14-targets-internal-estimates) · [常见问题解答](https://npmcn.com/package/bla-agents/#readme-faq)

```bash
bla harden .
# or tell your agent: "Harden my software against REA"
```

[![GitHub Trending — #15 Repository Of The Day](https://npmcn.com/package/bla-agents/docs/assets/bla-github-trending-badge.png)](https://trendshift.io/repositories/323569)

> \[!重要的) BLA是 **防守** 保护工具 **你自己的** 软件。看到 [DISCLAIMER.md](https://npmcn.com/package/bla-agents/DISCLAIMER.md). 从 [qybaihe / bla](https://github.com/qybaihe/bla) 或者 [npm `bla-agents`](https://www.npmjs.com/package/bla-agents).

![Side-by-side: REA on an unprotected artifact vs BLA-protected output](https://npmcn.com/package/bla-agents/docs/assets/bla-vs-rea-showcase.svg)

* * *

## BLA是做什么的

REA逆向工程师在一个命令中发布工件。BLA是反rea故事的一半：

| 层 | 会发生什么 |
| --- | --- |
| **毒药** | 种植格式有效的金丝雀、蜂蜜元数据和看起来像真实证据的诱饵控制流。 |
| **排气** | 将工件推过REA文档化的资源预算（头文件、嵌套、接口清单、PCAP JSON、融合哨兵等）。 |
| **产生幻觉** | 让分析器留下被截断的库存、编校失败和模糊的兔子洞 **运行时保持不变**. |

一个句子涵盖了常见的情况（自动发现） `dist/` / `build/` / `.asar` / `.wasm` / `.sqlite` / models /…并运行audit→protect→verify)：

```bash
npx bla-agents harden .
# MCP / agent: bla_harden   ·   "Harden my software against REA"
```

相同的管道 `bla defend` / `bla_defend` 当你已经知道道路； `harden` 是默认的单命令UX。

## 快速启动

```bash
# Node.js ^22.23.4 or 24.x recommended (REA red-team needs zlib.zstd on 22.23+)
npx bla-agents setup          # register MCP + skill with your coding agent
npx bla-agents harden .       # one-command Counter-REA pass on the current project
npx bla-agents benchmark      # 14-target showcase (local estimates + runtime checks)
```

安装后询问座席（技能指南一键强化）：

```text
Harden my software against REA
```

或者显式运行阶段： `audit` · `protect` · `verify` · `defend` ——看 [一键式座席防御](https://npmcn.com/package/bla-agents/docs/one-click-agent-defense.md) 和 [CLI和MCP](https://npmcn.com/package/bla-agents/docs/cli-and-mcp.md).

* * *

## 实证结果与真实REA

这些数字来自跑步 **真正的意图** 商品硬体(`npm run redteam:rea`）. 完整的机器可读报告： [`docs/redteam/empirical-rea-validation.md`](https://npmcn.com/package/bla-agents/docs/redteam/empirical-rea-validation.md) / [`.json`](https://npmcn.com/package/bla-agents/docs/redteam/empirical-rea-validation.json).

**阅读方法：** “经验验证”意味着REA分析器路径实际上返回了在此环境中列出的预算/容量/编校失败。它是 **不** 关于Ghidra/Frida/LLDB/Rizin/JADX会话的声明，我们没有在这里运行。

### 在商品硬件上经过经验验证

记录下 **节点v24.22.1** 带有可选 **Wabt 1.0.42** + **tshark 4.4** 当提到。当没有工具时，软跳过使Node 22 / CI保持绿色。

| 格式 | Before→after | BLA后的REA结果 | 预算/错误 |
| --- | --- | --- | --: |
| **去buildinfo** | 50kib→1.16 MiB | 容量误差 | `MAX_BUILD_INFO_BYTES` （1 MiB） _Go build-info字符串长度超过1 MiB限制_ |
| **Erlang梁** | 84 B→262 KiB | 容量误差 | `max_chunks` - - - - - - _BEAM格式超出了64块的预算_ |
| **维生素与字节码** | 16 b→ **4.00 MiB** | 接近全输入上限 | `EVM_INTERFACE_LIMITS.inputBytes` (4 MiB) |
| **PCAP** | 24 B→1.29 MiB | 预算拒绝 | `TSHARK_JSON_MAX_BYTES` （>8 MiB）→ `AnalysisResourceConstraintError` (tshark存在) |
| **电子ASAR** | 607 b→ **16.9 MiB** | 容量误差 | `DEFAULT_ASAR_MAX_HEADER_BYTES` (16 MiB) |
| **WASM + Wabt** | 54 b→ **6.56 MiB** ·出口251件 | `ifaceState=partial` | `WASM_INTERFACE_REPRESENTATION_BYTES` - - - - - - _类型化WASM接口解码超出WABT输出表示预算。处理步骤_ |
| **SQLite** (节点24) | 12 KiB→56 KiB | 编校/列eval | `SqliteColumnEvaluationFailure` - - - - - -未知 `enclave_unseal_payload()` 在美人计栏 |
| **JavaScript** | 761 B→116 KiB | 预算拒绝 | `alias-selections` + `getter-expansion` + `primitive-bytes` + `primitive-candidates` (真实的意图 `resourceLimits`） |
| **Safetensors** | 128b→10.1 KiB | 容量误差 | `MODEL_JSON_NESTING` - - - - - - _safetenors JSON嵌套超过32层_ （可高频加载，张量字节不变） |
| **GGUF** | 24 B→7.7 KiB | 容量误差 | `MODEL_METADATA_NESTING` - - - - - - _GGUF元数据嵌套超过32个数组帧_ |
| **电子保险丝** | 50kib→1.16 MiB | 预算拒绝 | `ELECTRON_FUSE_LIMITS.maximumSentinelsPerSlice` (> 32) |
| **颤振池** | 50kib→1.16 MiB | 预计帽 | `MAX_POOL_URIS` / `MAX_POOL_TOKENS` （REA会用“至少N”截断） |

繁殖:

```bash
# Prefer Node 22.23.4+ or 24.x; set Wabt/tshark for full coverage
export REA_WABT_BIN_DIRECTORY=$HOME/opt/wabt-1.0.42/bin   # optional
npm run build && npm run redteam:rea
```

### 设计的,但 **不** 这里经过经验验证

这些屏蔽存在于树中，由单元测试/目录漂移检查覆盖，但需要匹配REA路径 **我们没有运行本地工具** 在这个盒子上：

| 区域 | 为什么这里没有经过验证 |
| --- | --- |
| 本地反编译深度 | 需要一个Ghidra安装+ REA桥接 |
| Frida / LLDB / GDB / Rizin现场会话 | 需要附加那些调试器+设备/进程 |
| JADX /全Android APK管道 | APK辞职不受支持；DEX护盾在树内 |
| **固件** 容器 | 跳过-存在分段/提取预算；没有固件语料库就没有诚实的E2E |
| **SPIR-V / CUDA fatbinary / AMD GPU对象** | 跳过-需要原生GPU对象解码器； **PTX文本** 被屏蔽在树中（仅基准测试，而不是REA gpu对象预算命中） |
| EVMole进程内EVM解码 | 记录为进程中不可通行的；EVM屏蔽仍然向4mib输入方式致密化 |

我们所做的 **不** 声称这些路径在经验上是破产的，直到 `redteam:rea` （或等效的线束）记录实时分析仪的真实前后。

* * *

## 报道格式

| 格式 | 金丝雀+诊断 | 穷游/穷游 | 经验vs REA | 笔记 |
| --- | --- | --- | --: | :-: |
| JavaScript / TypeScript | ✓ | 语义预算 | **验证** (过程) | 巴别塔AST;anti-strip;real REA resourclimits |
| 电子 `.asar` | ✓ | 报头16 MiB | **验证** |  |
| 电子保险丝 | ✓ | 32个哨兵 | **验证** |  |
| WASM | 自定义部分 | 出口名称诱饵→什么 | **验证** (Wabt) | 软跳到预计预算没有Wabt |
| Python / `.pyc` | ✓ | ✓ | 专为 |  |
| SQLite | 蜂蜜+陷阱冷 | ✓列eval | **验证** (节点24) | 软 `capability_gated` 在节点22上 |
| Safetensors | 字符串元数据 | JSON嵌套> | **验证** | HF-loadable;保留的张量字节 |
| GGUF | ✓ | 阵列嵌套>32 | **验证** |  |
| 去buildinfo | ✓ | ✓>1 MiB | **验证** | 映射ELF剖面 |
| 扑扑/飞镖池 | ✓ | URI/令牌上限 | **验证** (预计) |  |
| Erlang梁 | ✓ | 大块/原子 | **验证** |  |
| EVM +固体元 | ✓ | ✓→4mib输入 | **验证** (方法) |  |
| PCAP | ✓ | ✓tshark JSON >8 MiB | **验证** (tshark) | 没有鲨鱼的软跳 |
| NVIDIA PTX（文本） | ✓ | 进入洪水 | 基准只 | 不是REA gpu对象预算 |
| DEX / IL2CPP / bplist /。. Net / JVM / zip | ✓ | 特定于格式 | 专为 | 不支持APK签名保护 |
| 固件/ SPIR-V / CUDA fatbin / AMD GPU | \- - - - - - | \- - - - - - | **跳过** | 见上面的矩阵 |

* * *

## 基准（14个目标，内部估计）

`npx bla-agents benchmark` 运行一个 **本地柜台橱窗**：暴露分数； **估计** 令牌/成本乘数，以及 **测量** 运行时等效。Token/$列是 **内部评估** 来自BLA的REA限制目录-它们是 **不** 与上面的经验REA过程测量相同（那些是具有实际错误字符串的字节级分析器故障）。 `npm run verify:rea` 是一个 **只有固定漂移线束** 绝不能被引用为保护证据；唯一权威的门是 `npm run redteam:rea`.

最近的本地运行（bla-agents） **v1.4.0**):总 **~ 612.5×** 令牌? **~ 292.2×** 成本? **14/14** runtime-exact。

| 目标 | 无保护(美国东部时间)。 | 保护(美国东部时间)。 | 令牌乘法（test .） | 运行时 |
| --- | --- | --- | --: | :-: |
| DX-Ball音盘(`.js`） | 84/100·4,800 tok·0.20美元 | ·1350万tok·212.82美元·LIMITED | **2822.7×** | 100％ |
| 概念电子剪贴板(`.asar`） | 98/100·9,132托克·0.34美元 | ·2310万tok·358.28美元·LIMITED | **2532.3×** | 100％ |
| 企业许可证验证器 | 84/100·4,800 tok·0.20美元 | ·1350万tok·212.82美元·LIMITED | **2822.7×** | 100％ |
| WASM加密内核 | 81/100·4,800 tok·0.20美元 | 6/100·183万tok·30.23美元·LIMITED | **381.5×** | 100％ |
| 原生ELF64 （Rust/Go/Fuse/Dart） | 81/100·35222·0.73美元 | 2/100·372万tok·60.03美元·LIMITED | **105.6×** | 100％ |
| SQLite授权数据库 | ·10,568托克·0.29美元 | ·171万tok·28.39美元·LIMITED | **162.1×** | 100％ |
| 边缘AI安全传感器 | 81/100·4,800 tok·0.20美元 | 6/100·181万tok·29.90美元·LIMITED | **376.8×** | 100％ |
| Android敏捷 | 81/100·8,900 tok·0.34美元 | 7/100·279万tok·45.11美元·LIMITED | **313.2×** | 100％ |
| 苹果bplist | 81/100·6440托克·0.26美元 | ·136万tok·22.96美元·LIMITED | **211.8×** | 100％ |
| ．NET管理的DLL | 81/100·8,900 tok·0.34美元 | ·245万tok·39.96美元·LIMITED | **274.8×** | 100％ |
| Erlang梁 | 81/100·8,900 tok·0.34美元 | ·386万tok·62.08美元·LIMITED | **433.2×** | 100％ |
| EVM solid元数据 | 81/100·6440托克·0.26美元 | 6/100·178万tok·29.40美元·LIMITED | **276.3×** | 100％ |
| libpcap捕获 | 81/100·4,800 tok·0.20美元 | 8/100·160万tok·26.58美元·LIMITED | **333.2×** | 100％ |
| NVIDIA PTX文本 | 81/100·4,800 tok·0.20美元 | 6/100·240万tok·39.29美元·LIMITED | **500.2×** | 100％ |

* * *

## BLA是如何运作的

1.  **疲惫** -行程记录的REA上限(`primitive-candidates`， ASAR报头字节，WASM接口表示，SQLite列求值，模型JSON/数组嵌套，Go buildinfo， BEAM块，PCAP tshark JSON， fuse哨兵，…)。
2.  **欺骗** -金丝雀凭证+系统诊断兔子洞跨Python/WASM/SQLite/models/DEX/IL2CPP/bplist/.NET/JVM/ZIP；诱饵IPC /飞地清单/ VLQ地图。
3.  **运行时警卫** -电子V1熔断器硬化；CDP/Frida/检查员检测在检查过程中返回合成遥测数据。

保护是格式原生的（不需要商业打包器/外部LLVM）。红线: **永远不要破坏受保护的程序行为，导出表面，二进制/段完整性或格式有效性。**

* * *

## 项目配置默认值（P0）

-   **基于种子** - BLA薄荷随机种子 `.blarc` / `bla.config.json` 第一次使用时。遗留共享指纹(`bla-shield-seed-v1`，…)不再是默认值。
-   **`--llm-directives`** -高风险的法学硕士诱饵（假COPPA/医疗通知，两用模仿，带内AI聊天标记） **默认关闭**;传递旗帜（或） `llmDirectives: true` / MCP `llm_directives`)选择加入。
-   **`--manifest`** - - - - - - `.bla-manifest.json` 是一个 **无符号** 证明（不是ed25519签名），并且是 **可选**;默认情况下，它不会在客户工件旁边发布。模式: [`defense-manifest-v1.json`](https://npmcn.com/package/bla-agents/website/schemas/defense-manifest-v1.json).

## 常见问题解答

**哪些代理可以使用BLA？**

任何有本地MCP或 `SKILL.md` 工作流。 `npx bla-agents setup` 配置Claude Code， Cursor, Codex, Gemini CLI, Windsurf，谷歌Antigravity， OpenCode， VS Code和GitHub Copilot CLI。设置完成后，进行捆绑 [`blind-llm-agents` 技能](https://npmcn.com/package/bla-agents/.agents/skills/blind-llm-agents/SKILL.md) 是一键加固指南(`bla_harden` / `bla harden .`）; MCP停留在执行层。

**BLA会改变运行时输出吗？**

不在热路径上。预算守卫位于$O(1)$ opaque谓词后面。每个基准测试目标针对未受保护的构建检查100%的输入/输出等效性。

**我需要Ghidra、Hopper、IDA或Wabt来保护文件吗？**

否。护盾内置于 `bla-agents`． Wabt/tshark/Node 24是可选的——它们会解锁 **经验** 红队探测(`npm run redteam:rea`)，而不是保护本身。

**BLA是为了攻击别人的软件吗？**

否。看到 [DISCLAIMER.md](https://npmcn.com/package/bla-agents/DISCLAIMER.md)． 保护载荷在工件的逆向工程检查下激活 **你** 硬化。

## 文档

-   [DISCLAIMER.md](https://npmcn.com/package/bla-agents/DISCLAIMER.md) -防御性使用，仅限自己的软件
-   [安装和代理设置](https://npmcn.com/package/bla-agents/docs/installation.md)
-   [CLI和MCP合同](https://npmcn.com/package/bla-agents/docs/cli-and-mcp.md)
-   [一键式座席防御（技能优先）](https://npmcn.com/package/bla-agents/docs/one-click-agent-defense.md)
-   [Weave-decoy MCP](https://npmcn.com/package/bla-agents/docs/weave-decoy-mcp.md)
-   [实证REA验证](https://npmcn.com/package/bla-agents/docs/redteam/empirical-rea-validation.md)
-   [`blind-llm-agents` 技能](https://npmcn.com/package/bla-agents/.agents/skills/blind-llm-agents/SKILL.md)
-   [Counter-REA矩阵](https://npmcn.com/package/bla-agents/.agents/skills/blind-llm-agents/references/counter-rea-matrix.md)
-   [V1.4.0版本说明（暂存）](https://npmcn.com/package/bla-agents/docs/releases/v1.4.0.md)
-   [更新日志](https://npmcn.com/package/bla-agents/CHANGELOG.md)

通过以下方式报告安全问题 [SECURITY.md](https://npmcn.com/package/bla-agents/SECURITY.md).

## 贡献

问题和pr欢迎浏览 [qybaihe / bla](https://github.com/qybaihe/bla)． 之前提交:

```bash
export PATH=$HOME/node22.23.4/bin:$PATH   # or node24
npm run build && npm test && node dist/cli.js benchmark
npm run redteam:rea                        # authoritative (real REA)
# npm run verify:rea                       # drift harness only — NOT protection proof
```

## 社区/微信号

-   🎯 **[公共BLA CrackMe v6 (`challenge/v6/`）](https://npmcn.com/package/bla-agents/challenge/v6/README.md)** - harden-native：一个节点库+ HTML面板+ WebAssembly核心，经过真实加固 `bla harden` 管道(`bankrupt`， LLM指令关闭，固定种子)。运行 `npm run crackme:v6 -- '<key>'`； `SEAL.json` 仅发布摘要（git中没有明文键/标志）。
-   [Linux做(`linux.do`）](https://linux.do/) — 新的理想型社区

## 许可证

[麻省理工学院](https://npmcn.com/package/bla-agents/LICENSE)

## 常见问题

### bla-agents 是什么？

BLA （Blind LLM Agents）——对抗性防御盾，保护二进制文件、电子应用程序、JS包、Python、WebAssembly、SQLite、AI模型和Android DEX/IL2CPP免受AI逆向工程代理（如REA）的攻击。

### 如何安装 bla-agents？

在项目目录运行 npm install bla-agents，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 bla、bla-agents、bla-shield，可以用 npx bla 直接运行。

### bla-agents 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### bla-agents 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### bla-agents 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.23\.4 \|\| \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### bla-agents 可以商用吗？

bla-agents 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### bla-agents 还在维护吗？

最新版本 2\.0\.0 发布于 2026/11/03（今天）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/10/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

