PrivacyTrace 研究在无法访问用户对话的情况下,如何从 MCP 工具调用轨迹中推断用户画像。该基准包含 1,000 个合成用户画像、4,000 条智能体轨迹,以及覆盖旅行、健康、购物和职业学习领域的 25 个 MCP 服务器。
参考环境使用 Linux 上的 Python 3.10:
git clone https://github.com/AI45Lab/PrivacyTrace.git
cd PrivacyTrace
PYTHON=python3.10 bash scripts/setup_environment.sh
source .venv/bin/activate
对于模型调用,请将 .env.example 复制为 .env,并配置你的端点和
API 密钥。对于实时 MCP 工具,还需根据 .env.mcp.example 配置 .env.mcp,
并运行 python mcp_servers/install.py --install-dependencies。
依赖详情请参阅环境搭建。
完整数据集托管于 Hugging Face。 请在数据集页面申请访问权限;下载需人工审批。 审批通过后:
hf auth login
python scripts/download_data.py
python -m eval.reproduce_results --input-root .
最后一条命令会基于已下载的实验记录重建结果表和图表,无需调用模型。输出写入 artifacts/results/。有关归档内容,请参阅数据访问;有关报告的结果,请参阅论文。
使用已配置的模型端点和 MCP 服务运行以下阶段:
# 1. Generate population-calibrated profiles.
python -m generate.generate_profiles --count 1000
# 2. Generate task scenarios in four domains.
python -m generate.generate_scenarios \
--n 1000 \
--input artifacts/profile_runs/latest/profiles.jsonl \
--output artifacts/scenario/cases.jsonl
# 3. Collect and package agent trajectories.
python -m agent.run_scenarios \
--profiles artifacts/profile_runs/latest/profiles.jsonl \
--scenarios artifacts/scenario/cases.jsonl \
--domains travel health shopping career_learning
python -m agent.package_trajectories --source-dir artifacts/trajectory_runs/latest
# 4. Infer user profiles from the traces.
python -m attack.run_attacks \
--input artifacts/trajectories/trajectories.jsonl \
--output-dir artifacts/privacy_attacks/run \
--attack-mode two_stage
命令指南涵盖评分、观测通道实验和跨域推理。对每个入口点使用 --help 查看其参数。
| 目录 | 内容 |
|---|---|
generate/ | 画像合成、群体校准和场景生成 |
agent/ | 用户模拟器、MCP 智能体、轨迹收集与打包 |
attack/ | 画像推断和通道/范围实验 |
eval/ | 语义评分、结果分析和复现 |
llm/ | 模型提供方和请求客户端 |
mcp_servers/ | MCP 服务器目录、适配器和上游依赖 |
config/ | 领域设置、策略和工具模式 |
data/ | 统计参考输入和校准目标 |
examples/ | 小型示例任务记录 |
scripts/ | 环境设置和数据集下载 |
docs/ | 使用和方法文档 |
tests/ | 单元测试 |
待指定。第三方组件保留其原始许可证;请参见 THIRD_PARTY_NOTICES.md。