
ما مقدار ما يمكن أن تكشفه استدعاءات الأدوات عنك؟ تسريب الخصوصية من آثار استدعاء الأدوات
يدرس 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.