
معيار ومكتبة لتقييم هجمات استخراج النماذج ودفاعات الملكية (العلامات المائية، اضطراب المخرجات، كشف الاستعلامات) على الشبكات العصبية البيانية ضمن بروتوكول واحد للصندوق الأسود.
معيار تقييم ومكتبة موحّدة لتقييم هجمات استخراج النماذج ودفاعات الملكية على الشبكات العصبية البيانية ضمن بروتوكول صندوق أسود واحد قابل لإعادة الإنتاج.
لماذا GraphIP-Bench · أبرز الميزات · البدء السريع · أسئلة البحث · بنية المستودع · الاستشهاد
يمكن سرقة الشبكات العصبية البيانية المنشورة كخدمات سحابية عبر هجمات استخراج النماذج: حيث يرسل الخصم استعلامات مختارة بعناية، ويسجّل التصنيفات أو درجات الثقة التي تُعيدها نقطة النهاية، ثم يدرّب نموذجًا بديلًا محليًا يحاكي سلوك النموذج الهدف. تؤدي السرقة الناجحة إلى تسريب الملكية الفكرية للمالك، وتقوّض إيرادات الدفع مقابل كل استعلام، وتمكّن المنافسين من إعادة إنشاء وظائف محتكرة بتكلفة منخفضة.
يحاول خط متنامٍ من دفاعات الملكية — العلامات المائية، والبصمات، وتشويش المخرجات، وكشف أنماط الاستعلامات — منع هذه السرقة أو تتبّعها. لكن الممارسة التجريبية في هذا المجال مجزّأة: إذ تستخدم الدراسات تقسيمات خاصة، وميزانيات غير متوافقة، ومقاييس غير متسقة؛ كما أن بيئات الاختبار القليلة الموجودة تركّز على المتانة أو الخصوصية وتستبعد استخراج النماذج إلى جانب التحقق من الملكية.
يعالج GraphIP-Bench هذه الفجوة. فهو يوحّد تقييم مسارين متكاملين — مسار الاستخراج (يدرّب فيه الخصم نموذجًا بديلًا يقلّد شبكة GNN منشورة) ومسار الملكية (يتحقق فيه مالك النموذج من علامة مائية أو بصمة بعد الاستخراج) — ضمن بروتوكول صندوق أسود واحد بتقسيمات واستعلامات وميزانيات مشتركة. ثم نضيف مسارًا مشتركًا للهجوم والدفاع يشغّل كل هجوم استخراج على كل هدف محمي ويقيس بقاء العلامة المائية على النموذج البديل المستخرج — وهو الإعداد الذي يحدد فعليًا ما إذا كان الدفاع مفيدًا.
| المكوّن | ما يوفّره لك |
|---|---|
| 12 هجومًا | ستة خطوط أساس بنمط MEA (MEA0–MEA5)، والهجوم العدائي (AdvMEA)، والهجوم المدفوع بالمركزية (CEGA)، والهجوم المدرك للبنية (Realistic)، وثلاثة متغيّرات بلا بيانات (DFEA_I/II/III) |
| 12 دفاعًا | 5 لتتبّع الملكية (BackdoorWM، RandomWM، SurviveWM، ImperceptibleWM، Integrity) + 7 لتقييد المعلومات (OP_low، OP_high، PR_2bit، PR_top1، PRADA، AdaptMisinfo، GradRedir) |
| 10 مجموعات بيانات | استشهادية متجانسة (Cora، CiteSeer، PubMed)، ومؤلفون مشاركون/منتجات (CoauthorCS، CoauthorPhysics، Computers، Photo)، وواسعة النطاق (OGBN-Arxiv)، وغير متجانسة (RomanEmpire، AmazonRatings) |
| 3 أعمدة أساسية × 3 مهام | GCN وGAT وGraphSAGE على تصنيف العُقد، والتنبؤ بالروابط، وتصنيف الرسوم البيانية |
| المسار المشترك | دقة النموذج البديل و بقاء العلامة المائية على النموذج البديل المستخرج، وكل ذلك ضمن بروتوكول واحد |
| قابلية إعادة الإنتاج | تقسيمات عامة، ومجموعات استعلامات مشتركة، وبذور ثابتة، ومخرجات بصيغة JSON-Lines، وسكربتات تجميع جاهزة |
بروتوكول واحد، جانبانيُقيَّم كل هجوم مقابل كل دفاع ضمن التقسيمات نفسها والميزانيات نفسها وافتراضات نقاط النهاية نفسها. وتُبلَّغ الدقة والتحقق من الملكية والمنفعة وتكلفة الحوسبة عبر مجموعة مقاييس مشتركة. |
بقاء العلامة المائية، وليس مجرد تضمينهايقيس المسار المشترك ما إذا كانت العلامة المائية لا تزال قابلة للتحقق بعد استخراج النموذج فعليًا — مما يكشف الفجوة التي تفوتها تقييمات النموذج الواحد. |
رسوم بيانية غير متجانسة وواسعة النطاقإلى جانب الرسوم البيانية المتجانسة السبعة في البروتوكول الأساسي، نضيف OGBN-Arxiv (169 ألف عقدة، 40 صنفًا) والرسوم غير المتجانسة RomanEmpire / AmazonRatings لاختبار سلوك الهجوم والدفاع تحت ضغط. |
قابلية إعادة الإنتاج بحكم التصميمبذور ثابتة، ومجموعات استعلامات مشتركة، وسجلات مخرجات بصيغة JSON-Lines لكل خلية (مجموعة بيانات، هجوم، دفاع، نظام، ميزانية، بذرة). وتشغيل ببذرة واحدة قابل للمقارنة مباشرةً بالخلية المقابلة في الورقة البحثية. |
| المؤشر | الحجم في المعيار |
|---|---|
| هجمات الاستخراج | 12 |
| دفاعات الملكية / تقييد المعلومات | 12 |
| مجموعات البيانات الرسومية | 10 |
| أعمدة GNN الأساسية | 3 (GCN، GAT، GraphSAGE) |
| مهام تعلّم الرسوم البيانية | 3 (العُقد / الروابط / الرسوم البيانية) |
| أنظمة توفّر البيانات | 4 (كلاهما، الميزات فقط، البنية فقط، بلا بيانات) |
| ميزانيات الاستعلامات الموحّدة | 5 (0.05× — 1.00× من حجم الاختبار) |
| البذور لكل خلية | 3 |
| مسارات التقييم | 3 (الاستخراج، الملكية، المشترك) |
git clone https://github.com/LabRAI/GraphIP-Bench.git
cd GraphIP-Bench
conda create -n graphip python=3.11 -y
conda activate graphip
pip install -r requirements.txt
شغّل خلية واحدة من مسار الاستخراج:
python scripts/run_rq1_single.py \
--dataset Cora \
--attack MEA0 \
--regime both \
--budget 0.25 \
--seed 0 \
--gpu \
--output-dir outputs/RQ1
شغّل مسار الهجوم والدفاع المشترك على مجموعة بيانات واحدة:
python examples/run_joint_evaluation.py \
--dataset Cora \
--seed 0 \
--gpu
تُكتب في كل تشغيل سجلة JSON-Lines واحدة لكل مجموعة (attack, defense, regime, budget, seed) في outputs/. يمكن دمج السجلات وتحليلها باستخدام الأدوات المساعدة في scripts/ (مثل merge_rq1_rq5_faithful_results.py).
يدعم GraphIP-Bench نظام Linux (موصى به) مع Python 3.10+. نُثبّت إصدارات PyTorch / DGL / PyG لأن نوى graphbolt في DGL 2.1.0 تُشحن كمكتبات مشتركة مبنية مسبقًا فقط لـ PyTorch 2.0–2.2 على CUDA 12.1.
conda create -n graphip python=3.11 -y
conda activate graphip
pip install -r requirements.txt
python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
| المكتبة | الإصدار | سبب التثبيت |
|---|---|---|
| PyTorch | 2.2.1 + cu121 | حزم DGL 2.1.0 graphbolt wheels تدعم فقط PT 2.0–2.2 / CUDA 12.1 |
| DGL | 2.1.0 + cu121 | نوى Graphbolt المستخدمة بواسطة المحمّلات |
| PyTorch Geometric | 2.7.0 | محوّلات التنبؤ بالروابط وتصنيف الرسوم البيانية |
| OGB | 1.3.6 | محمّل OGBN-Arxiv |
| NumPy | < 2.0 | واجهة ABI لنواة DGL |
يُنظَّم GraphIP-Bench حول خمسة أسئلة بحثية؛ كل سؤال يقابل سكربت إعادة إنتاج على المستوى الأعلى.