
Сколько могут рассказать о вас вызовы инструментов? Утечка конфиденциальности из трассировок вызовов инструментов
PrivacyTrace исследует вывод профиля пользователя по трассировкам вызовов инструментов MCP без доступа к диалогам пользователя. Бенчмарк содержит 1 000 синтетических профилей пользователей, 4 000 траекторий агентов и 25 серверов MCP в сферах путешествий, здоровья, покупок и карьерного обучения.
Эталонное окружение использует Python 3.10 на Linux:
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 из .env.mcp.example
и выполните 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.