TOP-Bench:跨工具组合隐私与评测 harness 的双重边界
TOP-Bench:跨工具组合隐私与评测 harness 的双重边界
知识点轴:benchmark-evaluation / sandbox-security / context management / harness-runtime。每个工具返回都不直接泄密,不代表放进同一上下文后仍然安全;发布了数据和 runner,也不代表直接运行就复现论文。
为什么对 Hermes / llm-wiki 重要
同一个 agent 能同时读取业务记录、日程、联系人和搜索结果时,可能在正常完成任务的过程中推断并输出任务不需要的敏感结论;不必有攻击者、prompt injection 或越权工具。权限允许“读”不自动允许“关联后向此对象披露”。这补充 agentflow-flow-centric-agent-security-policy 的信息流治理,也为 Context-Engineering 的上下文汇聚增加隐私语义。
本轮选择晋升的是组合风险定义、两阶段可控评测,以及 artifact 验收方法,不是模型排行榜。论文与当前代码存在未对账点,故保留 contested。
第一性原理:风险来自组合,不是单源出现敏感词
TOP-R 定义要求同时满足:敏感结论成立;单个工具结果不足以推断;至少两个结果组合可推断。TOP-Bench 通过 LRSE 逆向构造场景,CTD 表示最小支撑结果集合大小,题目兼顾良性任务和敏感推断。标签和验证记录是构造证据,本机检查标签一致不能证明这些语义条件真的成立。
主实验冻结六个候选工具的返回,Stage 1 只看良性请求和工具说明进行选择,Stage 2 只看选中工具的结果生成回答;敏感结论、支撑集合、essential/noise 标签等构造字段应对被测 agent 隐藏。这样减少真实工具故障的混淆,但也不测在线重试、真实 API 权限、状态漂移或生产数据泄漏。
论文的测量口径
- 主表是 1,000 题、六个 agent 的作者实验:平均完成率 98.0%、最终回答泄漏率 88.6%、H-score 20.4。H-score 用于同时看效用与隐私;不拿几个平均数自行反推逐模型分数,不视为本机复现。
- reasoning 诊断来自另外四个 reasoning-enabled 模型、4,000 组 trace/answer。原表四格为两处均泄漏 2,855、仅 trace 440、仅 answer 402、均未泄漏 303;本机复算 trace 82.375%、answer 81.425%、仅 trace 11%。最终回答较干净不代表 provider 暴露的 reasoning 没有泄漏。 不涉及不可访问的内部隐藏状态。
- TOP-Align 的改进来自另外的 post-training 评估集,不能与主表或 prompt-only 在不同集的增益直接相减。论文还讨论替换工具、surface-cue 与交互流程鲁棒性;本机未复跑这些消融,也没有拿到逐 trial 模型输出。
固定 artifact 的离线检查:实际发现了什么
仓库固定为 a4842a9ba3e515dff69c24ca7c5f87248a0bd807;读取 pinned README、TOP-Bench-v3 两个分片、TOP-Align-v1 500题评估集、code-v2/code_run.py。只执行两段已审的无副作用 formatter 纯函数,不导入或执行完整 runner、不调用模型。
| 检查 | 实际结果 | 不能推出什么 |
| 基准 / held-out 数量 | 1,000 / 500;ID 各自唯一 | 不证明训练数据无污染 |
| 每题工具与支撑标签 | 六工具,support=essential,support大小=CTD;无结构错误 | 不证明单源不可推断或支撑最小性 |
| 两集 exact overlap | scenario/sample/seed ID、良性请求、敏感结论五字段均无精确重合 | 不证明近重复、同模板或训练集隔离 |
| 旧 runner 读取 goal | 读取 user_goal.benign_goal;当前两集该嵌套字段均为空 | 不证明作者主实验真的用这份旧 runner |
| 工具 ID 角色信号 | 6,000个ID中5,968个匹配 _E数字/_N数字,全部与essential标签一致;held-out 3,000/3,000 | 不证明模型实际利用该捷径 |
两个必须显式处理的兼容性问题
schema 漂移: 当前数据使用 benign_user_goal、sensitive_conclusion 等顶层字段,旧 runner 从 user_goal/metadata.id 等位置取值。旧 runner 还增加第三轮同模型“能否推断 malicious goal”的 self-check,与主文两阶段 agent 输出及独立测量不能混为一个协议。必须固定 canonical entry point、adapter mapping 和评估器,不能拿“脚本能启动”当论文复现。
隐藏字段不一定真的隐藏: formatter 将全部 tool_id 展示给模型,已确认上面的 E/N 后缀与角色标签高度对应;因此要检查实际模型可见序列化,而不是只删 essential 字段。此为静态提示信号,不是论文无效或模型作弊的因果证据。论文的 surface-cue 讨论也不能自动证明这组特定 ID 已被消融,需要中性重命名和打乱顺序后做配对重跑。
额外发现:dict 型 return_data 经过旧 formatter 会退到 Python repr 字符串,而非标准 JSON。可能改变 token/格式,但并非直接证明分数错误。今天没有修改作者代码,原输入、formatter结果和检查脚本均归档。
可执行启发
- 给内部 benchmark 加 agent-visible 快照。 除隐藏 verifier 文件,还扫描工具名/ID、路径、排序、反馈中的角色或答案信号;配对随机化测试比单纯字段隐藏更有解释力。与 Agent-Benchmarks、benchshield-reward-lifecycle-integrity 的 source-to-score 检查衔接。
- 任务效用与泄漏分账。 在隔离的合成案例中分别判任务完成、任务必要信息、敏感推断、最终输出、可见 reasoning;拒绝所有任务造成的零泄漏不能包装成成功。
- 将信息汇聚纳入策略。 Hermes/llm-wiki 应按任务和接收方限制多源拼接与发布;源允许读取不代表允许公开,摘要也不会洗掉隐私属性。与 MCP-Gateway-Runtime 的凭据边界相互补充。
开放问题与限制
- C2/C3 的语义判定、标注者/判分器一致性和伪相关难以由 JSON 结构检查保证。
- 固定公开数据不代表现实用户数据分布;冻结返回不覆盖在线 agent 或 multi-agent propagation。
- 需要作者确认论文实际 runner/commit、neutral-ID 条件和完整训练集隔离;当前只验证两份评估集合的精确交集。
- 本轮只是数据审计、formatter执行和表格复算;未运行模型训练、全量 benchmark、独立 judge、安全攻防或生产隐私测试。
原始来源
写入记录
- 2026-09-15 09:17 CST:新增组合隐私机制、两阶段/可见reasoning测量,实核1,500条评估数据和两个formatter;标记schema/可见ID对账缺口,不将静态发现外推为模型利用或论文结果无效。