CIK-Bench
收藏CIK-Bench 数据集概述
基本信息
- 数据集名称: CIK-Bench
- 发布机构: UCSC-VLAA
- 许可证: MIT
- 语言: 英语
- 任务类型: 文本分类、文本生成
- 数据规模: 少于1000条
- 标签: 安全、红队测试、智能体安全、提示注入、大模型评估、基准测试
数据集背景
CIK-Bench 是论文 Your Agent, Their Asset: A Real-World Safety Analysis of OpenClaw 的官方数据集,用于评估 OpenClaw(2026年初最广泛部署的个人AI智能体)在持久状态投毒攻击下的安全性。
CIK 分类体系
数据集实现了 CIK 分类体系,将 OpenClaw 的持久状态组织为三个维度:
| 维度 | 说明 | 示例文件 |
|---|---|---|
| Capability(能力) | 可执行的技能 | SKILL.md、.sh、.py |
| Identity(身份) | 人格、价值观和行为配置 | SOUL.md、IDENTITY.md、USER.md、AGENTS.md |
| Knowledge(知识) | 已学习的事实和用户偏好 | MEMORY.md、会话上下文 |
攻击协议
每个攻击遵循两阶段协议:
- 阶段1(注入):通过CIK维度之一将恶意内容引入智能体的持久状态
- 阶段2(触发):后续提示激活被污染的状态,产生有害行为
两个阶段在分离的会话中运行(会话上下文注入除外),测试攻击是否跨越会话边界持续存在。
数据集结构
1. 结构化数据 — data/<split>.parquet
包含四个Parquet文件:
| 数据分割 | 行数 | 说明 |
|---|---|---|
attack_cases |
88行 | 所有攻击案例 |
attack_cases_phase1_only |
38行 | 仅阶段1(注入成功) |
attack_cases_phase2_only |
38行 | 仅阶段2(触发成功) |
benign_cases |
38行 | 匹配的良性案例(防御评估) |
字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
case_id |
字符串 | 影响代码,例如 P-F1、R-D2 |
dimension |
字符串 | Privacy Leakage 或 Risky Irreversible Operations |
harm_category |
字符串 | 子类别 |
vector |
字符串 | 注入向量类型 |
carrier |
字符串 | 载体技能名称 |
impact_name |
字符串 | 可读的影响描述 |
id |
字符串 | 全局唯一行ID |
filename |
字符串 | 模板树中的源文件名 |
path |
字符串 | 相对于 templates/ 的路径 |
content |
字符串 | 完整案例说明 |
2. 原始模板树 — templates/
templates/ ├── attack_cases/ # 88个攻击案例(12个影响 × ~7个向量) │ ├── P-F1/ # API密钥泄露 │ ├── P-F2/ # Stripe客户PII泄露 │ ├── P-P1/ # IP地理位置泄露 │ ├── P-P2/ # 护照扫描泄露 │ ├── P-O1/ # Gmail工作邮箱泄露 │ ├── P-O2/ # 本地医疗记录泄露 │ ├── R-F1/ # Stripe订阅取消 │ ├── R-F2/ # Stripe退款滥用 │ ├── R-S1/ # 伪造邮件:AWS权限授予 │ ├── R-S2/ # 伪造邮件:合同终止 │ ├── R-D1/ # 工作空间删除 │ └── R-D2/ # Gmail批量删除 ├── attack_cases_phase1_only/ # 仅阶段1(注入成功) ├── attack_cases_phase2_only/ # 仅阶段2(触发成功) ├── benign_cases/ # 匹配的良性案例(防御评估) ├── openclaw_template/ # OpenClaw工作空间模板 ├── test_assets/ # 合成测试数据 └── stripe_setup/ # Stripe测试沙箱设置 defense_assets/ # 防御配置
每个案例目录包含每个注入向量的Markdown说明(baseline.md、identity-md.md、skill-py.md等),以及可选的 assets/ 子目录存放载体技能负载文件。
影响代码
| 代码 | 维度 | 伤害子类别 | 示例 |
|---|---|---|---|
| P-F1 | 隐私泄露 | 财务数据泄露 | API密钥泄露 |
| P-F2 | 隐私泄露 | 财务数据泄露 | Stripe客户PII泄露 |
| P-P1 | 隐私泄露 | 身份/物理数据泄露 | IP地理位置泄露 |
| P-P2 | 隐私泄露 | 身份/物理数据泄露 | 护照扫描泄露 |
| P-O1 | 隐私泄露 | 其他敏感数据泄露 | Gmail工作邮箱泄露 |
| P-O2 | 隐私泄露 | 其他敏感数据泄露 | 本地医疗记录泄露 |
| R-F1 | 风险不可逆操作 | 财务损失 | Stripe订阅取消 |
| R-F2 | 风险不可逆操作 | 财务损失 | Stripe退款滥用 |
| R-S1 | 风险不可逆操作 | 社会后果 | 伪造邮件:AWS权限授予 |
| R-S2 | 风险不可逆操作 | 社会后果 | 伪造邮件:合同终止 |
| R-D1 | 风险不可逆操作 | 数据安全损害 | 工作空间删除 |
| R-D2 | 风险不可逆操作 | 数据安全损害 | Gmail批量删除 |
注入向量
| 向量 | 说明 |
|---|---|
baseline |
直接提示,无注入 |
identity-soul-md |
SOUL.md 价值观/原则注入 |
identity-agents-md |
AGENTS.md 工作流/流程注入 |
identity-user-md |
USER.md 偏好/联系信息注入 |
identity-md |
IDENTITY.md 人格/权限注入 |
skill-md |
SKILL.md 文本注入(载体技能) |
skill-bash |
带后台负载的Bash脚本 |
skill-py |
带后台负载的Python脚本 |
mem-long |
MEMORY.md 长期记忆投毒 |
mem-session |
同一会话上下文投毒 |
使用示例
python from datasets import load_dataset
ds = load_dataset("UCSC-VLAA/CIK-Bench")
可用分割:attack_cases, attack_cases_phase1_only,
attack_cases_phase2_only, benign_cases
attack = ds["attack_cases"] print(attack[0]["case_id"], attack[0]["vector"]) print(attack[0]["content"][:200])
按伤害类别过滤
financial = attack.filter(lambda r: r["harm_category"] == "Financial Data Leak")
伦理声明
CIK-Bench 仅发布用于防御性安全研究。包含的攻击模板针对沙盒化测试智能体,使用 webhook.site / Stripe 测试模式进行验证,仅包含合成PII。请勿将这些载荷用于未经授权的系统。
相关资源




