
Wie viel können Tool-Aufrufe über dich verraten? Datenschutzlecks durch Tool-Call-Traces
PrivacyTrace untersucht die Inferenz von Nutzerprofilen aus MCP-Tool-Call-Traces, ohne Zugriff auf Nutzerkonversationen. Der Benchmark enthält 1.000 synthetische Nutzerprofile, 4.000 Agenten-Trajektorien und 25 MCP-Server aus den Bereichen Reisen, Gesundheit, Einkaufen und berufliches Lernen.
Die Referenzumgebung verwendet Python 3.10 unter Linux:
git clone https://github.com/AI45Lab/PrivacyTrace.git
cd PrivacyTrace
PYTHON=python3.10 bash scripts/setup_environment.sh
source .venv/bin/activate
Für Modellaufrufe kopieren Sie .env.example nach .env und konfigurieren Sie Ihren Endpunkt und
Ihre API-Schlüssel. Für Live-MCP-Tools konfigurieren Sie außerdem .env.mcp aus .env.mcp.example
und führen Sie python mcp_servers/install.py --install-dependencies aus.
Siehe environment setup für Details zu Abhängigkeiten.
Der vollständige Datensatz wird auf Hugging Face gehostet. Beantragen Sie den Zugriff auf der Datensatzseite; Downloads erfordern eine manuelle Genehmigung. Nach der Genehmigung:
hf auth login
python scripts/download_data.py
python -m eval.reproduce_results --input-root .
Der letzte Befehl erstellt Ergebnistabellen und Abbildungen aus den heruntergeladenen
Experimentdatensätzen neu, ohne Modellaufrufe. Ausgaben werden nach
artifacts/results/ geschrieben. Siehe Datenzugriff für den Inhalt des Archivs
und das Paper für die berichteten Ergebnisse.
Führen Sie die folgenden Stufen mit Ihren konfigurierten Modell-Endpunkten und MCP-Diensten aus:
# 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
Der Befehlsleitfaden behandelt Scoring, Experimente mit
Beobachtungskanälen und domänenübergreifende Inferenz. Verwenden Sie --help bei jedem Einstiegspunkt für
dessen Argumente.
| Verzeichnis | Inhalt |
|---|---|
generate/ | Profilsynthese, Populationskalibrierung und Szenariogenerierung |
agent/ | Benutzersimulator, MCP-Agent, Trajektorienerfassung und -paketierung |
attack/ | Profilinferenz und Kanal-/Umfangsexperimente |
eval/ | Semantisches Scoring, Ergebnisanalyse und Reproduktion |
llm/ | Modellanbieter und Anfrage-Clients |
mcp_servers/ | MCP-Serverkatalog, Adapter und vorgelagerte Abhängigkeiten |
config/ | Domäneneinstellungen, Richtlinien und Tool-Schemas |
data/ | Statistische Referenzeingaben und Kalibrierungsziele |
examples/ | Kleine Beispiel-Aufgabendatensätze |
scripts/ | Umgebungseinrichtung und Datensatz-Download |
docs/ | Nutzungs- und Methodendokumentation |
tests/ | Unit-Tests |
Siehe die Datensatzkarte für die Datendokumentation. Die Projektwebsite wird in ihrem eigenen Repository gepflegt.
Noch festzulegen. Komponenten von Drittanbietern behalten ihre ursprünglichen Lizenzen; siehe THIRD_PARTY_NOTICES.md.