
Quanto as Chamadas de Ferramentas Podem Revelar Sobre Você? Vazamento de Privacidade a Partir de Rastros de Chamadas de Ferramentas
O PrivacyTrace estuda a inferência de perfis de usuário a partir de rastros de chamadas de ferramentas MCP, sem acesso às conversas do usuário. O benchmark contém 1.000 perfis de usuário sintéticos, 4.000 trajetórias de agentes e 25 servidores MCP nas áreas de viagens, saúde, compras e aprendizado profissional.
O ambiente de referência usa Python 3.10 no Linux:
git clone https://github.com/AI45Lab/PrivacyTrace.git
cd PrivacyTrace
PYTHON=python3.10 bash scripts/setup_environment.sh
source .venv/bin/activate
Para chamadas de modelo, copie .env.example para .env e configure seu endpoint e
chaves de API. Para ferramentas MCP ao vivo, configure também .env.mcp a partir de .env.mcp.example
e execute python mcp_servers/install.py --install-dependencies.
Consulte configuração do ambiente para detalhes das dependências.
O conjunto de dados completo está hospedado no Hugging Face. Solicite acesso na página do conjunto de dados; os downloads exigem aprovação manual. Após a aprovação:
hf auth login
python scripts/download_data.py
python -m eval.reproduce_results --input-root .
O último comando reconstrói as tabelas de resultados e as figuras a partir dos registros de experimentos baixados, sem chamadas ao modelo. As saídas são gravadas em
artifacts/results/. Consulte acesso aos dados para o conteúdo do arquivo
e o artigo para os resultados reportados.
Execute os seguintes estágios com seus endpoints de modelo e serviços MCP configurados:
# 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
O guia de comandos cobre pontuação, experimentos de canal de observação e inferência entre domínios. Use --help em cada ponto de entrada para consultar seus argumentos.
| Diretório | Conteúdo |
|---|---|
generate/ | Síntese de perfis, calibração populacional e geração de cenários |
agent/ | Simulador de usuário, agente MCP, coleta e empacotamento de trajetórias |
attack/ | Inferência de perfis e experimentos de canal/escopo |
eval/ | Pontuação semântica, análise de resultados e reprodução |
llm/ | Provedores de modelos e clientes de requisição |
mcp_servers/ | Catálogo de servidores MCP, adaptadores e dependências upstream |
config/ | Configurações de domínio, políticas e esquemas de ferramentas |
data/ | Entradas de referência estatística e alvos de calibração |
examples/ | Pequenos registros de tarefas de exemplo |
scripts/ | Configuração de ambiente e download de conjuntos de dados |
docs/ | Documentação de uso e método |
tests/ | Testes unitários |
Consulte o cartão do conjunto de dados para a documentação dos dados. O site do projeto é mantido em seu próprio repositório.
A ser especificada. Componentes de terceiros mantêm suas licenças originais; consulte THIRD_PARTY_NOTICES.md.