跳到正文
原文
arXiv:越狱、提示注入、投毒与防御· arXiv:2609.01931· Laurent Bindschaedler·本站收录· 原文发表

Agent Flight Recorder:为长时程工具调用智能体提供链上锚定的防篡改审计追踪

Agent Flight Recorder: Tamper-Evident Audit Trails with On-Chain Anchoring for Long-Horizon Tool-Using Agents

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

Full在合成N=10K上median为47.6µs,四类篡改检出率为100%。

问题
长程工具智能体连续执行大量动作,失败常是错误序列。争议要核验因果与授权,且不能默认信任运营方日志。现有可观测栈假设记录可变、且同一方消费遥测。
方法
记录器把意图、策略、审批、执行、效果和三类来源收成事件,用确定性CBOR、哈希链与Merkle epoch承诺顺序和包含关系,链上只写32字节root与回指。载荷默认加密,审计时按事件给密钥。
实验与结果
五层消融测开销、篡改、费用与三组取证。Table II里Full、N=10K的median为47.6µs、512字节。Table IV里Full对四类篡改为100%,假阳性0%。100事件epoch的L2费用为每10万事件2.295美元。
局限与可以继续做的
作者列出未入录事件、攻破后新条目、载荷不可恢复、侧信道、链不可用和故意延迟锚定等边界。主负载为合成数据,RQ3与RQ4是单次确定性运行,美元成本按给定gas与ETH价格投影。
实验设置synthetic workloads、SWE-bench 等 · per-event latency (median/P95/P99)、bytes/event 等
基准
synthetic workloadsSWE-benchBase Sepolia
指标
per-event latency (median/P95/P99)bytes/eventanchoring costtamper detection ratefalse positive rateprecisionrecall
AI 导读Agent Flight Recorder 将智能体每个动作记录为绑定意图、执行到来源等八个语义字段的规范化事件,通过哈希链与 Merkle 批处理实现防篡改和紧凑包含证明,并周期性将 epoch root 锚定上链,使任何持有载荷与 Merkle 证明的验证方可独立核验记录。在合成智能体负载的五种累积消融配置上,完整系统每事件中位延迟约 48 微秒、512 字节,L2 锚定在 100 事件 epoch 下每 10 万事件成本 $2.30,对编辑、删除、重排和分叉篡改的检测率为 100% 且零误报。结构化取证查询在护栏与委派查询上精确率达 1.0,非结构化文本搜索仅为 0.013 和 0.077。

Agent Flight Recorder 将智能体每个动作记录为绑定意图、执行到来源等八个语义字段的规范化事件,通过哈希链与 Merkle 批处理实现防篡改和紧凑包含证明,并周期性将 epoch root 锚定上链,使任何持有载荷与 Merkle 证明的验证方可独立核验记录。在合成智能体负载的五种累积消融配置上,完整系统每事件中位延迟约 48 微秒、512 字节,L2 锚定在 100 事件 epoch 下每 10 万事件成本 $2.30,对编辑、删除、重排和分叉篡改的检测率为 100% 且零误报。结构化取证查询在护栏与委派查询上精确率达 1.0,非结构化文本搜索仅为 0.013 和 0.077。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    长程智能体争议需要防篡改记录;系统用八字段事件、哈希链、Merkle与链上锚定。

    长程工具智能体出事之后,需要不依赖运营方的防篡改动作记录。

    • 场景:作者称智能体可在数小时或数天内执行数千次工具调用。主导失败是错误动作序列,例如删生产库、提示注入跨智能体传播、未授权提权,从而引出因果、授权与不可抵赖的第三方核验。
    • 现有不足:OpenTelemetry span以及LangSmith、Langfuse等仪表盘帮助合作方调试,但假设内部日志可变,且同一方既生产又消费遥测,不提供适合争议的外部可核验记录。
    • 核心边界:对手于时刻tc攻破主机后,新写入条目的真实性不能保证;系统只能保住tc之前的历史并检出篡改。锚定频率收窄该窗口,但不消除它。
    • 本文系统:Agent Flight Recorder把每次动作记成绑定八个语义字段的规范序列化事件,再用哈希链、Merkle批处理与周期链上锚定做证据结算。作者称原语是标准的,工作在于集成进智能体语义系统。
    • 威胁模型:
      • 目标:攻破后对日志做edit、delete、reorder,或equivocation(从共同前缀向不同核验方出示分叉历史,即fork attack)。
      • 时机:对手在tc攻破agent host。论文沿Schneier and Kelsey划界,不保证此后新条目为真。
      • 须成立的假设(至少一项):链上epoch root仍可用且不可变(chain liveness and finality);核验方密钥与外部watcher未被攻破;存在tc之前写出的主机外原始日志副本。
      • 受害记录:长程工具使用智能体的审计日志。completeness是明确non-goal,不保证所有事件到达记录器。
  2. 有哪些相关研究?

    相关工作从哈希链、透明度日志到链上承诺;作者称本文是这些层加语义模式的首次被评测组合。

    论文把相关工作放在从可观测到可审计的谱系上,并按日志基础、公共承诺、链上审计和智能体记录来讨论。

    防篡改日志

    • Schneier and Kelsey(1999)与Bellare and Yee(1997):前者用哈希链使攻破前的条目难以被无检测地修改;后者将该性质形式化为forward integrity。论文称继承Schneier–Kelsey的威胁边界。
    • Crosby and Wallach(2009)与Zhao等(2025):前者用Merkle树给出对数大小的防篡改证明;后者用eBPF协同设计防篡改日志系统。
    • AWS CloudTrail:用digest为云日志提供完整性,但信任AWS作为运营方。论文指出,运营方本身是争议一方时该假设不成立。

    透明度日志与时间戳

    • Certificate Transparency(Laurie等,RFC 6962,2013):用Merkle包含证明支持仅追加审计。
    • Sigstore、Trillian、RFC 3161与无密钥签名:把该模式推广到软件签名与时间戳。论文称它们改进可审计性,但依赖指定日志生态或权威,并在Section IV与链上锚定对照。

    链上可审计日志

    • Putz等(2019):本地哈希链加周期链上承诺。论文称本文扩展这一两层模式。
    • Logchain与Jan等(2025):前者把日志哈希存上链;后者用Hyperledger Fabric做LangChain智能体的运行时治理。论文称这三者面向通用事件或粗粒度治理,而不是逐动作的agent-semantic审计。

    智能体可观测与审计格式

    • OpenTelemetry、LangSmith、Braintrust、Langfuse:记录提示词、工具span与执行流,供调试和监控。论文称它们假设合作运营方,不把日志当作外部承诺的证据对象。
    • IETF draft(Sharif,2026)与Phiri(2025):前者定义带SHA-256哈希链和可选ECDSA的JSON智能体审计格式;后者公理化完整性、覆盖与可核验性。论文在II-E称:该draft没有Merkle批处理、链上锚定、选择性披露和评测;公理化工作没有实现或测量系统。
    • AI Action Ledger、AIR、ProofTrail与Ojewale等(2026):分别做默认隐私的哈希链、问题陈述、工具调用的Merkle收据,以及覆盖治理、训练与部署的生命周期框架。论文称先前工作没有同时给出四项:绑定意图到执行的语义模式、面向跨组织争议的外部锚定、按事件选择性披露、对长程失败的实证消融。

    基线与数据

    • 基线方法:累积消融Baseline、Schema、Chain、Merkle、Full。论文写明未纳入签名digest文件或TSA时间戳日志,与已部署替代方案的实证比较留作未来工作。
    • 基准:合成工作负载;五条SWE-agent在SWE-bench上的轨迹(38个事件);Base Sepolia上的锚定交易。

    作者在II-E称,本文是这些层与agent-semantic schema、选择性披露和链上锚定的首次被评测组合。监管方面,论文提到Microsoft Purview记录Copilot交互,并称EU AI Act第12条要求高风险系统自动记录事件,但未规定区块链或密码学防篡改。

  3. 论文如何解决这个问题?

    八字段经确定性CBOR成链,按epoch做Merkle,链上只存32字节root与回指。

    Agent Flight Recorder把一次工具动作收成结构化事件,再依次加上哈希链、Merkle epoch和链上锚定。Figure 1的图注写:记录器序列化、成链并打成Merkle epoch,锚定器周期提交各32字节的epoch root,核验器对照锚定root检查包含;加密与选择性披露不在图中。

    设计目标与记录边界

    • 六项目标:integrity、ordering、external verifiability、privacy、low overhead(sub-millisecond per event、异步锚定)、interoperability(中间件接入,不改智能体逻辑)。
    • 非目标:completeness。只保证已记录事件的完整性,不保证所有事件到达记录器。
    • 动作单位:工具调用、审批门决定、委托请求,以及文件写、API调用、数据库变更等副作用。作者称伤害单位是序列,不是单次动作。

    八字段与序列化

    • 字段:intent、policy evaluation、human approval、execution、effects、context provenance、code provenance、delegation provenance。intent只记提出的工具名和参数,不记原始推理与chain-of-thought;作者给出的理由是推理痕迹不稳定、涉及知识产权与隐私,且供应商可能合同禁止记录。
    • 审批与委托:论文写生产部署中审批字段应当带密码学签名或令牌,而不只是元数据字符串;跨组织委托应当包含标明权限范围的签名委托令牌。
    • 序列化:确定性CBOR(RFC 8949 §4.2)。作者称这是为避开JSON规范化的哈希不稳定,包括浮点、键序和Unicode。后续哈希都算在该字节序列上。
    • 载荷分离:哈希链、Merkle树和epoch root只处理事件记录(事件ID、序号、载荷哈希、前驱摘要,以及工具名、时间戳、记录器身份等明文元数据)。载荷另存,启用披露时加密。

    三层完整性

    • 哈希链:ei.prev=H(ei−1)。该式把前一条记录的哈希写入当前条目,使持有后续条目的一方能发现后缀截断。单写者路径串行化并发工具调用;每事件另有单调计数器和可选concurrency-group标签,用于区分因果序与观察序。
    • Merkle:每N个事件的SHA-256摘要作叶,内部节点哈希有序对;叶数不是2的幂时复制最后一片叶。包含证明为O(log N)。N可调。
    • epoch链:Rt=H(Mt∥ Rt−1)。该式把本epoch的Merkle根与上一epoch根绑在一起;R0取M0与32个零字节拼接后的哈希。只把Rt上链,不把Mt或事件数据上链。作者称后继回指对不上时,可发现整段epoch被删。
    • 分层:作者称去掉任一层都会削弱对相应威胁的防护:链防epoch内篡改,Merkle提供紧凑证明,epoch链发现锚定点之间的缺口。

    核验、披露与锚定

    • 两级核验:无披露时,由载荷哈希、Merkle证明和链上锚点重算到Rt,并核对回指,不看载荷。披露每事件解密密钥后,先解密并核对明文哈希等于已承诺的载荷哈希,再做上述步骤。两者都非交互,核验方需要披露材料和公链读权限。
    • 协议外两点:权威合约地址与msg.sender须经带外材料确定,例如签名的运营方清单;同一身份、同一epoch号若有两个锚,更早被包含的交易为规范。链只保证承诺存在,不保证载荷、证明或密钥可独立取得,这些依赖单独的链下可用性安排。
    • 密钥:主密钥经HKDF导出每epoch密钥,再导出每事件密钥。审计只披露被调查事件的密钥。作者写明:若审计方得到epoch密钥,就能导出该epoch全部事件密钥。零知识包含证明被标为未来工作。
    • 上链内容:每个epoch提交Rt与上一根的哈希。合约还记录msg.sender、用作映射键的epoch号和区块时间戳,不存日志数据。作者对比optimistic rollup:后者需要争议窗口和至少一名诚实核验方;本系统在最终性之后无需挑战窗口。锚定频率用成本换妥协窗口宽度。
    • 五种机制:Table I比较无锚定、签名digest、透明度日志、TSA和链上锚定。作者观察到只有链上锚定无需事先约定承诺介质,持有披露载荷与证明的任一方可独立核验,且运营方失效后承诺仍在。表中把链上的每事件成本标为medium,其余为zero、negligible或low。

    原型

    • 组件:约1500行Python。本地记录器拦截工具调用并写CBOR、链指针和Merkle叶。锚定器把Rt提交到EVM兼容链;Solidity合约约30行,链上只存32字节root与回指。核验器输出verified、tampered或incomplete。
    • 并发标记:logical_clock是单调计数器,不是向量时钟;另有可选concurrency_group。选择性披露开启时,密文与完整性结构一起保存。
    • 链的选择:作者称最高外部可核验性面向无许可链(Ethereum L2或等价物)。许多L2使用单一sequencer;force-inclusion允许把锚定交易直接交到L1上的rollup合约。许可链用于不需要外部争议解决、且对成本敏感的部署。
  4. 论文做了哪些实验?

    Full在N=10K的median为47.6µs;四类篡改检出100%,L2每10万事件约2.30美元。

    实验设置

    • 环境:单机Apple M-series、16 GB RAM、Python 3.11。延迟用perf_counter_ns。论文写所有运行使用seed 42,同一seed的事件流确定,并称结果来自30次不同seed的运行。VIII-C写RQ1为30次运行,RQ3与RQ4为单次确定性运行。
    • 合成负载:N取100、1K、10K;八类工具为file read/write、shell、API、database query、retrieval、code execution、approval gate、delegation。约15%事件并发,每组2至3个同时发出。类别权重来自公开智能体文档中的频率分布。Table II对应N=10K。
    • 轨迹与链:RQ1复验五条SWE-agent的SWE-bench轨迹,共38个事件(47% shell、34% file edits、18% file reads)。RQ2在Base Sepolia测量100笔anchor交易的gas。
    • 消融:Baseline(json.dumps,无模式、无完整性)⊂ Schema(加八字段与确定性CBOR)⊂ Chain(加SHA-256哈希链)⊂ Merkle(100事件epoch)⊂ Full(加链上锚定)。Baseline到Schema同时改变结构与编码。
    • 费用假设:用测得gas,按L1 30 Gwei、L2 0.01 Gwei、ETH 2500美元投影。窗口按每秒1个事件,等于epoch大小乘平均间隔。负载10万事件,epoch取10、50、100、500、1000。
    • 注入:四类篡改打在10,000事件日志的10个位置:8个均匀内部位置,加N−2与N−1。指标为延迟、字节、gas与美元、检出率、假阳性率、precision和recall。论文写明未纳入签名digest或TSA对照。

    主结果

    据Table II,合成负载N=10K。P95未列入本表。

    表格较宽,可左右滑动

    配置Median (µs)P99 (µs)字节/事件
    Baseline20.330.7272
    Schema6.010.0476
    Chain48.276.8477
    Merkle48.84067.6512
    Full47.630020.9512
    • 编码:作者把Schema快于Baseline归因于确定性CBOR避开json.dumps处理嵌套dict,并把字节增加概括为75%。
    • 48 µs的说法:摘要与Takeaway写完整系统增加约48 µs的median每事件延迟;Table II给出的是绝对median。不宜把该说法读成相对Baseline的差值。作者称该延迟处于任何涉及I/O的工具调用预算内。签名只在epoch边界发生(论文写为1%的事件);生产中可异步提交,P99测的是本地准备,不是网络往返。
    • 真实轨迹:作者称相对模式仍成立。Full的median比Baseline的2.4 µs高约14 µs,签名开销出现在P95。绝对延迟更低,作者归因于真实事件填充字段更少,且编码任务没有delegation或approval事件。

    锚定成本(RQ2)

    合约在Base Sepolia上测100笔交易。anchor()平均gas为91,800:首次冷写71,680,其后热写91,976。下表据Table III,负载10万事件,假设每秒1个事件。

    表格较宽,可左右滑动

    epoch窗口(s)锚点数L1美元L2美元
    1010100006885022.95
    50502000137704.59
    100100100068852.295
    50050020013770.459
    10001000100688.50.2295
    • 概括:epoch为100时,作者把L2费用概括为每10万事件2.30美元,并把L1写成6,885美元。作者称L2相对L1降低3000倍。epoch为1000时,表中L1为688.5美元,正文写689美元,窗口为1000秒,作者称约17分钟。
    • 窗口:作者称L2使亚分钟窗口在费用上可行;epoch为10时窗口10秒,L2为22.95美元。作者称实际负载是突发的,墙钟窗口不由epoch大小单独决定。论文未另给突发负载下的美元数。

    篡改检出(RQ3)

    据Table IV。各配置、各攻击类型的假阳性率论文写为0%。

    表格较宽,可左右滑动

    攻击BaselineSchemaChainMerkleFull
    edit0%0%90%100%100%
    delete0%0%90%100%100%
    reorder0%0%100%100%100%
    equivocation/fork0%0%0%0%100%
    • 终端事件:作者称Chain漏掉的edit与delete位置是最后一条N−1,因为没有后继去暴露prev_hash断裂;倒数第二条仍会被后继检查到。Merkle用封存时提交的叶哈希补上单日志攻击的终端位置。
    • reorder与fork:作者称交换相邻事件总会打断至少一条内部链指针。fork在各分支内部自洽,单日志核验不能发现;实验另用一个记录器记下分叉分支,再与原分支已锚定的root对照。作者称无锚定则两支都自洽。
    • 重复:论文在VIII-C写RQ3为单次确定性运行。检出率适用于论文所述的证据模型;攻破后的后缀截断需要主机外副本。

    取证查询(RQ4)

    • 场景A:向II-D的提示注入场景植入失败,做五条查询。Baseline的guardrail文本检索返回79条、1个真阳性,正文写precision 1.3%,摘要写0.013。Schema至Full用精确字段查找,五条查询的precision与recall均为1.0。
    • 委托与因果链:结构化委托查找的precision为1.0。grep命中全部13条delegation事件,precision为0.077。Baseline重建完整因果链的precision与recall为0.0;作者归因于无结构日志缺少把事件连成序列的哈希链指针。
    • 场景B与C:grep返回2条,precision为0.5;结构化环境字段返回恰好1条配置读取事件。场景C中各配置都能从日志回答争议,作者称只有Full的链上锚定能让中立第三方核验;否则须信任某一方的密钥或日志服务器。作者称结构化字段消除取证分诊中的假阳性,且不应把查询改进推广到所测配置之外。

    其他消融与分析

    • P95(Table II,N=10K,µs):Baseline 26.2,Schema 8.2,Chain 57.2,Merkle 60.8,Full 60.2。
    • 作者称Schema相对Baseline的字节多75%,Full相对Baseline增加88%。
    • Baseline到Schema的差异是事件结构与JSON到确定性CBOR的合效应,不是schema单独效应(VI-B)。
    • 作者称Full与Merkle的median处于噪声内,因为签名只占1%的事件。
    • 约15%事件并发,组大小为2至3(VI-B)。
    • 本评测不包含非区块链完整性基线;与已部署替代方案的对照被写成未来工作(VI-B)。
  5. 有什么可以进一步探索的点?

    作者列出完整性、攻破后真实性与载荷恢复等边界,并把ZK与TEE列为后续。

    作者指出的局限与后续方向

    • 完整性(VIII-A、VIII-D):绕过插桩网关的动作记录器看不到;只看日志不能发现epoch内压制。epoch链能发现缺失epoch,不能发现epoch内缺失事件。作者把远程证明的TEE网关列为未来工作,并写明证明密钥失陷或证明边界外的侧信道仍是剩余风险。
    • 攻破后与载荷(VIII-A):完全主机攻破之后写入的条目不可信。载荷库丢失且没有主机外副本时,承诺只能证明日志曾存在,内容不可恢复。
    • 侧信道与锚定(VIII-A):记录器不捕获模型内部或带外通信。链不可用时动作继续但不锚定,窗口扩大到连接恢复。运营方可故意推迟锚定;监测锚点规律能缓解,但需要watcher。
    • 擦除与合规(VIII-B):密码学擦除必须销毁或重封装epoch密钥材料,不能只删派生的每事件密钥。作者称这是否满足GDPR取决于司法辖区、元数据可链接性与保留政策,只作为操作机制,不是法律充分性主张。
    • 效度与操作(VIII-C):主负载为合成。演练用实验者定义的查询和模拟失败,不是独立响应者面对真实事故;基线是纯JSON,不是成熟审计系统。美元数字在既定假设下是示意性的。作者称规范化边角、密钥管理失败、对抗输入、拥堵延迟、重组与最终性边角可能削弱保证,但不改变所测密码学性质。
    • 后续(VIII-D、VI-B、IX):ZK的Merkle包含证明、TEE完整性、费用升高时加宽epoch、以抵押品配合欺诈证明的链上保证金、类似Certificate Transparency的跨厂商Agent Transparency Log。与已部署替代方案的实证比较留作未来工作。作者称给第三方经济激励去主动审计,是最有希望的下一步。

    实验覆盖范围

    • 被评测配置为Baseline、Schema、Chain、Merkle、Full;Table II的延迟与字节对应合成负载N=10K,论文写RQ1为30次运行(VI-B、VI-C)。
    • 篡改类为edit、delete、reorder、equivocation/fork;日志长10,000,每类10个位置;假阳性率写为0%(Table IV、VI-E)。
    • 锚定gas来自Base Sepolia的100笔交易;美元按30 Gwei、0.01 Gwei与ETH 2500美元投影。epoch为10、50、100、500、1000,负载10万事件,间隔按每秒1个事件(Table III、VI-D)。
    • 取证覆盖II-D的三个合成场景;RQ1另在五条SWE-agent的SWE-bench轨迹上复验,共38个事件(VI-C、VI-F)。
    • 论文写明RQ3与RQ4为单次确定性运行;Full的P99测本地签名准备,不含网络往返;本评测不包含签名digest或TSA基线;fork检出要对照已锚定根,论文写明篡改表覆盖单日志核验(VI-B、VI-C、VIII-C)。
  6. 总结一下论文的主要内容

    语义事件加哈希链、Merkle与链上锚定,用来在争议中核验长程智能体的动作序列。

    Agent Flight Recorder把长程工具智能体的动作收成可被第三方独立核验的审计记录,面向运营方本身可能改写历史的争议。

    • 问题:作者关心的不是单次错答,而是删库、注入传播、跨组织委托这类序列失败之后,如何回答做了什么、谁批准、谁委托,且核验方不必信任任一方的基础设施。
    • 做法:八个语义字段经确定性CBOR固定为字节序列;哈希链维持全序,Merkle树按epoch给出包含证明,公链只承诺32字节root与回指。默认只留哈希与结构元数据,调查时披露单个事件的密钥。
    • 开销:Table II在N=10K的合成负载上给出Full的绝对median 47.6 µs、P99 30020.9 µs、512字节/事件。摘要把完整栈的median延迟概括为约48 µs。五条SWE-agent轨迹(38事件)上,Full比Baseline的2.4 µs高约14 µs。
    • 检出与费用:Table IV中只有Full对edit、delete、reorder和fork都是100%,假阳性为0%;Chain对edit与delete为90%,漏的是没有后继的最后一条。Table III里,100事件epoch、10万事件的L2费用为2.295美元,作者概括为2.30美元。
    • 取证:Schema及之后的配置在提示注入场景五条查询上precision与recall为1.0。Baseline的guardrail文本检索precision为1.3%(79条命中、1个真阳性),委托关键词为0.077。作者称中立第三方核验只出现在有链上锚定的配置。
    • 作者结论:链上锚定去掉的是事先约定的信任中介,不替代链下的载荷保存与披露安排。作者把让第三方有经济激励去主动审计,写成最有希望的下一步。
阅读原文arxiv.org