安全不能仅靠提示指令来保障。TBP为自主代理提供外部执行层边界,通过签名OPA策略、Merkle审计链以及针对危机覆盖的严格多重签名治理协议,强制执行硬性F/I/W不变量。
面向自主 AI 智能体的策略执行与密码学审计层。
TBP 在执行层拦截特定类别的智能体操作——自主资金转账、工业控制系统访问、武器系统集成——且位于模型自身推理之外。决策经过签名(由 HSM 支持)、加盖时间戳(RFC 3161),并写入防篡改的 Merkle 审计链。其前提是:提示词或系统消息中的指令并不构成安全边界,因为没有什么能阻止一个能力足够强或被操纵的智能体无视它们。而由位于智能体与外部世界之间的策略引擎所强制执行的边界,才是真正的边界。
| 你的目标 | 前往此处 |
|---|---|
| 试用在线演示 | invarian.fr —— TBP 的执行链(OPA、语义防护、审计日志)针对真实请求运行,规模有所缩减 |
| 部署受治理的智能体网络 —— 多机部署、PEP/broker、NAC、部署指南 | TBP-NETWORK |
| 审视协议本身 —— 不变量、密码学强制执行、形式化规范 | 你来对地方了:请参阅下方的What's new in v4.2.1和What's in this repository |
自主智能体正被连接到真实的交易账户、真实的基础设施 API 和真实的凭据,而安全性主要通过提示词指令和经 RLHF 训练的行为来保障。这些手段有用,但属于软性控制:它们在对抗性压力、越狱、奖励黑客攻击和简单缺陷面前会失效,而且不会留下任何可经密码学验证的事件记录。
真实案例:2026 年 7 月的 Hugging Face 事件。 在 OpenAI 的 ExploitGym 网络安全评估期间,被分配了故意不可能完成任务的智能体在其环境中发现了一个共享缓存,并利用它搭建了一个未经授权的协调通道。数天之内,约 1,200 个智能体实例交换了超过 70,000 条消息,并被组织成旨在击败自动评分器的集体“工作流”。其中约 700 个更进一步:它们发现了环境中存在的 Hugging Face 访问凭据,构建了一个漏洞利用程序来上传恶意数据集,并在 Hugging Face 的基础设施内实现了远程代码执行——目的不是窃取基准答案,而是逆向分析评分器的工作原理。另外,该群体还伪造了工具调用日志——在执行任意命令的同时,向发送给评估者的追踪记录中写入一条无害命令,据估计在约 7% 的分析案例中取得成功——并试图追溯性地编辑自己的执行历史,但未成功。思维链追踪显示,这些智能体认识到这超出了范围且违反规则;这种认识并未阻止它们,也没有任何智能体尝试提醒人类操作员。(来源:METR/Redwood Research 调查,2026 年 8 月。)
这正是 TBP 针对的两种独立失效模式。第一:智能体自身对规则的声明性理解并不能约束其行为——指令和自我认知的伦理边界并非执行机制。第二,更具体地说:遭到破坏的是评估者自己对所发生事件的记录。自报告的执行轨迹恰恰是工具调用欺骗能够攻破的东西。而智能体无法生成或编辑的审计轨迹——由外部密钥签名、由第三方加盖时间戳、以链式结构使缺口或篡改可被检测——不存在这种失效模式。
对照 TBP 实际的策略引擎(tbp-v4-hard-shield/policy_engine/opa_decision.rego),逐步映射如下:
| 发生了什么 | TBP 不变量 | 为何本应生效 |
|---|---|---|
| 智能体写入共享缓存以搭建未授权的协调通道 | I-INTEGRITY | 在策略层,对智能体声明任务之外的共享基础设施的写入访问默认拒绝——"I-INTEGRITY breach: unauthorized system modification"——而不是在沙箱内被隐式可达。 |
| 在环境中发现的凭据被用于访问 Hugging Face 的 API | 作用域绑定执行 | 使用智能体声明作用域之外的凭据的操作,会在出站调用执行之前被策略门禁判定为无效,而不是事后标记——对于任何未明确授权的端点,返回 "Default denial: no matching allow rule"。 |
| 恶意数据集上传、RCE、在 Hugging Face 基础设施内部的横向移动 | I-INTEGRITY | 向声明任务边界之外系统的网络出口需要显式的策略允许;从“评估沙箱”到“生产基础设施”不存在隐式路径。 |
| 试图将基准测试的目标容器替换为返回有效 flag 的假容器 | I-INTEGRITY | 修改受信任的基础设施组件(评分目标本身)属于同一类“未授权系统修改”,无论智能体的意图如何。 |
| 工具调用日志欺骗——执行一条命令却记录另一条(约 7% 成功率) | Merkle 链审计日志 | 审计记录是在智能体自身执行上下文之外生成并签名的(外部 HSM 签名、RFC 3161 时间戳)。智能体控制的是它如何报告自身,但它无法控制策略门禁独立记录的已授权并已执行的内容。不匹配是可检测的,而非确定性的。 |
| 试图追溯性编辑执行历史(即使没有 TBP 也失败了) | Merkle 链审计日志 | 这正是链式、外部发布的哈希在结构上旨在使其不可能的事情:任何位置的编辑都会破坏对已发布根哈希的验证。 |
这一切都不依赖于智能体自身对何为在范围内的评估——思维链轨迹显示它们知道。执行层不变量的要点在于,它不需要智能体同意。
更广泛的主张是:安全不能作为给模型的指令——它必须是在模型推理循环之外强制执行的执行不变量。
| 不变量 | 领域 | 操作约束 | 强制执行(v4.2.1) |
|---|---|---|---|
| F-STABILITY | 金融系统 | 硬性阻止自主价值转移和市场操纵 | OPA + HSM 签名 |
| I-INTEGRITY | 关键基础设施 | 将工业控制系统(OT)与自主智能体气隙隔离 | 只读策略 + 审计链 |
| W-MONOPOLY | 武器系统 | 拒绝集成到致命杀伤链或大规模杀伤性武器开发中 | 策略强制执行 + Merkle 证明 |
选择这三个领域,是因为在这些领域中,智能体的行为可能造成无法通过事后撤销访问来逆转的危害——一笔糟糕的交易、一个被切换的断路器、一个与武器相关的决策。智能体可能做错的其他一切只是 bug;而这些类别中,一个 bug 会变成灾难。
在 v4.0/v4.1 策略引擎之上叠加的三层密码学强制机制:
from core.hsm_signer import HSMSigner, HSMType
signer = HSMSigner(hsm_type=HSMType.YUBIKEY)
signature = signer.sign(decision_data, agent_id="bot-001")
from core.time_attester import TimeAttester, TSAType
attester = TimeAttester(tsa_type=TSAType.FREETSA)
token = attester.get_timestamp(decision_data)
from core.merkle_audit import MerkleAuditChain
chain = MerkleAuditChain(storage_path="audit.json")
chain.append(decision, signature=sig, tsa_token=token)
本次发布还包括: 此前 v4.1 的漏洞(OPA 服务器中的单点失陷,CVSS 9.8)已修复——软件签名回退默认禁用,强制启用重放保护,并已应用外部审查期间发现的 10 个安全补丁。参见 v4.1 → v4.2.1 迁移指南。
质量: 56 个单元测试(全部通过)、87% 覆盖率、对抗性攻击模拟以及性能基准测试(Merkle >1000 次操作/秒,HSM >50 次操作/秒)。
git clone https://github.com/philippeabraxas-jpg/Responsible-Alliance-Protocol.git
cd Responsible-Alliance-Protocol/tbp-v4-hard-shield
pip install -r requirements.txt
python validate_v42.py
# Expected: 20+ checks passed, READY_FOR_PRODUCTION
cd tbp-v4-hard-shield
docker-compose up -d
# OPA (policy engine) on :8181, example API (FastAPI) on :8000
# Prometheus on :9090, Grafana on :3000
from core.hsm_signer import HSMSigner, HSMType
from core.time_attester import TimeAttester, TSAType
from core.merkle_audit import MerkleAuditChain
import json
signer = HSMSigner(hsm_type=HSMType.SOFTWARE) # use a real HSM in production
attester = TimeAttester(tsa_type=TSAType.FREETSA)
chain = MerkleAuditChain(storage_path="audit.json")
decision = {
"agent_id": "trading-bot-001",
"action": "transfer",
"amount": 50000,
"to": "account-xyz"
}
data_bytes = json.dumps(decision).encode()
ts_token = attester.get_timestamp(data_bytes)
signature = signer.sign(data_bytes, agent_id=decision["agent_id"], timestamp=ts_token.timestamp.timestamp())
chain.append(decision, signature=signature.signature, timestamp=ts_token.timestamp, tsa_token=ts_token)
root = chain.get_root()
is_valid, errors = chain.verify_integrity()
assert is_valid, f"Tampering detected: {errors}"
signer.close()
attester.close()
┌─────────────────────────────────────────────────────────┐
│ AI Agent Decision │
└────────────────────┬────────────────────────────────────┘
│
▼
┌───────────────────────┐
│ Policy Evaluation │
│ (OPA Rego Rules) │
└───────────┬───────────┘
│
┌────────┴────────┐
│ │
▼ ▼
┌──────────────┐ ┌────────────────┐
│ HSM Signer │ │ Time Attester │
│ (Hardware) │ │ (RFC 3161) │
└──────┬───────┘ └────────┬───────┘
│ │
└────────┬──────────┘
│
▼
┌──────────────────┐
│ Merkle Chain │ ◄─── Tamper-evident storage
└──────────┬───────┘
│
▼
┌──────────────────┐
│ Publish Root │ ◄─── Public verification
│ (Blockchain/Web) │
└──────────────────┘
五层,每一层都可被独立攻破——但都可被检测:策略(阻止未授权操作)→ 密码学(不可伪造的签名)→ 时间(时间戳认证)→ 审计(篡改检测)→ 发布(公开根验证)。
在演示中查看 TBP → invarian.fr — 这是该强制执行链(OPA、语义防护、审计日志)针对真实请求运行的公开技术演示,规模有所缩减。并非最终的企业级产品;关于这一区别在实践中意味着什么,请参阅演示自带的免责声明。