
Quanto possono rivelare su di te le chiamate agli strumenti? Perdita di privacy dalle tracce delle chiamate agli strumenti
PrivacyTrace studia l'inferenza del profilo utente a partire dalle tracce delle chiamate agli strumenti MCP, senza accesso alle conversazioni dell'utente. Il benchmark contiene 1.000 profili utente sintetici, 4.000 traiettorie di agenti e 25 server MCP nei settori viaggi, salute, acquisti e apprendimento professionale.
L'ambiente di riferimento utilizza Python 3.10 su Linux:
git clone https://github.com/AI45Lab/PrivacyTrace.git
cd PrivacyTrace
PYTHON=python3.10 bash scripts/setup_environment.sh
source .venv/bin/activate
Per le chiamate ai modelli, copia .env.example in .env e configura il tuo endpoint e
le chiavi API. Per gli strumenti MCP live, configura anche .env.mcp da .env.mcp.example
ed esegui python mcp_servers/install.py --install-dependencies.
Consulta environment setup per i dettagli sulle dipendenze.
Il dataset completo è ospitato su Hugging Face. Richiedi l'accesso nella pagina del dataset; i download richiedono approvazione manuale. Dopo l'approvazione:
hf auth login
python scripts/download_data.py
python -m eval.reproduce_results --input-root .
L'ultimo comando ricostruisce le tabelle dei risultati e le figure dai record
degli esperimenti scaricati, senza chiamate al modello. Gli output vengono scritti in
artifacts/results/. Consulta accesso ai dati per i contenuti
dell'archivio e l'articolo per i risultati riportati.
Esegui le seguenti fasi con gli endpoint del modello e i servizi MCP configurati:
# 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
La guida ai comandi copre lo scoring, gli esperimenti sui canali di osservazione e l'inferenza cross-domain. Usa --help su ciascun entry point per i suoi argomenti.
| Directory | Contenuto |
|---|---|
generate/ | Sintesi dei profili, calibrazione della popolazione e generazione degli scenari |
agent/ | Simulatore utente, agente MCP, raccolta e packaging delle traiettorie |
attack/ | Inferenza dei profili ed esperimenti su canali/ambito |
eval/ | Scoring semantico, analisi dei risultati e riproduzione |
llm/ | Provider di modelli e client di richieste |
mcp_servers/ | Catalogo dei server MCP, adapter e dipendenze upstream |
config/ | Impostazioni di dominio, policy e schemi degli strumenti |
data/ | Input di riferimento statistici e target di calibrazione |
examples/ | Piccoli record di attività di esempio |
scripts/ | Configurazione dell'ambiente e download del dataset |
docs/ | Documentazione su utilizzo e metodo |
tests/ | Test unitari |
Consulta la scheda del dataset per la documentazione dei dati. Il sito web del progetto è mantenuto nel suo repository dedicato.
Da specificare. I componenti di terze parti mantengono le loro licenze originali; vedi THIRD_PARTY_NOTICES.md.