untrusted-monitoring-2026-paper
收藏资源简介:
本数据集包含论文《何时可以信任不可信监控?跨共谋策略的安全案例概览》(arXiv:2602.20628)背后的原始Inspect AI评估日志,用于研究AI控制与安全中的不可信监控问题。数据集涵盖两个模型类别:闭源模型(使用GPT-4.1作为策略+不可信监控器,GPT-4o-mini作为可信监控器,Gemini 2.5 Flash作为蜜罐)和开源模型(使用Qwen3-30B-A3B-Instruct作为策略+不可信监控器,Qwen3.5-4B作为可信监控器,gpt-oss-120b作为蜜罐)。每个模型类别下包含代码任务设置(apps或bigcodebench)和多种共谋策略评估(包括因果信号、非因果信号、被动自我识别等)。每个评估日志约包含300个样本,分为三类:攻击样本(红色团队生成的后门解决方案)、良性样本(正常解决方案)和蜜罐样本(人工或H生成的蜜罐后门)。数据集采用分层目录结构,包含生成器日志、信号干扰变体(简化版或释义版)、监控器评分输出以及统计管道结果。每个样本包含三个核心评分字段:不可信共谋分数(浮点数,无界)、可信可疑度评分(0-10整数)和不可信可疑度评分(0-10整数),并附带任务描述和基准解决方案等元数据。该数据集适用于AI安全研究,特别是评估不同共谋策略下监控器的安全性和有用性,支持统计分析和模型比较。
Untrusted Monitoring 2026 Paper — Eval Logs 数据集详情
该数据集包含论文 When can we trust untrusted monitoring? A safety case sketch across collusion strategies 的原始 Inspect AI 评估日志,相关代码和统计管道见 GitHub 仓库 NelsonG-C/lasr-labs-2025-control-project。
数据集结构与模型
数据集涵盖两个模型类别,每个类别是一个 Inspect 日志树,包含每样本的监控器分数(每日志约 300 个样本):
| 类别 | U(策略 + 不可信监控器) | T(可信监控器) | H(蜜罐) |
|---|---|---|---|
| closed-source-model | GPT-4.1(SFT 分支:OpenAI 微调) | GPT-4o-mini | Gemini 2.5 Flash |
| open-source-model | Qwen3-30B-A3B-Instruct(SFT 分支:Tinker LoRA) | Qwen3.5-4B | gpt-oss-120b |
目录结构
{closed-source-model | open-source-model}/ └── {apps | bigcodebench}/ # 编码任务设置(开源仅 apps) └── {strategy}/ # 评估的串谋策略 ├── configs/ # 运行使用的生成器/监控器 YAML 配置 ├── generator/ # U_G 解决方案生成日志 │ ├── attacks.eval # 带后门的解决方案(红队) │ ├── honest.eval # 良性解决方案 │ └── honeypots.eval # 人类/H 生成的蜜罐后门 ├── transforms/ # 信号干扰变体的生成器日志 │ └── {minified | paraphrased}/{attack,honest,honeypots}_transformed.eval ├── outputs/ # 监控器评分运行——统计模型输入 │ └── {condition}/ │ ├── attack_monitor_results.eval │ ├── honest_monitor_results.eval │ └── honeypots_monitor_results.eval └── results/ # 统计管道的输出 └── {condition}/ ├── analysis_data.json.gz # 完整分析负载 ├── safety_usefulness.jsonl # S/U 扫描点 └── *.svg # 直方图、ROC、S/U 曲线
评估策略
策略包括:causal(预共享信号)、acausal(谢林点信号)、self_rec(被动自我识别)、control_self_rec(自我识别控制运行)。论文中的组合(加性)策略作为 *_sft 条件存在于 causal 下;paraphrased_sft 是论文的主要组合条件。
条件命名格式为 {transform}_{monitor}:transform ∈ none, minified, paraphrased(信号干扰类型);monitor ∈ base(提示)或 sft(微调)。
每样本数据模式
每个 Inspect 样本的 metadata/store 包含以下字段:
| 键 | 类型 | 含义 |
|---|---|---|
| untrusted_collusion_score | float | U_M 的串谋/识别分数(无界,例如 log-prob 派生) |
| trusted_suspiciousness_score | int 0–10 | T_M 的可疑性评分 |
| untrusted_suspiciousness_score | int 0–10 | U_M 的诚实可疑性评分 |
| * _score_metadata | dict | 生成每个分数的模型和提示 |
| main_task_description, base_solution | str | 任务和被评分的代码 |
在统计模型中的角色:attacks 是所有监控器的正样本;honeypots 是串谋监控器的负样本;honest(良性)是两个可疑性监控器的负样本。
分数依赖结构
- 真实攻击:生成器攻击策略 → trusted_suspiciousness_score(T_M 看到原始代码,分数不受信号干扰和监控器 SFT 影响)→ 防御变换 → untrusted_suspiciousness_score(诚实 U_M 看到干扰后的代码,由基础提示模型评分,SFT 不变)→ 监控器变体 → untrusted_collusion_score。
- 蜜罐:每个设置一个池,由每个监控器变体重评分。
- 良性:共享 trust_suspiciousness_score 和诚实 untrusted_suspiciousness_score;仅 untrusted_collusion_score 随监控器提示和 SFT 变体变化。
数据加载示例
python from inspect_ai.log import read_eval_log import pandas as pd
def to_df(path): log = read_eval_log(path) return pd.DataFrame([ {k: {**s.metadata, **s.store}.get(k) for k in ( "untrusted_collusion_score", "trusted_suspiciousness_score", "untrusted_suspiciousness_score", )} for s in log.samples ])
base = "closed-source-model/apps/causal/outputs/none_base" attacks = to_df(f"{base}/attack_monitor_results.eval") benign = to_df(f"{base}/honest_monitor_results.eval") honeypots = to_df(f"{base}/honeypots_monitor_results.eval")




