عن المشروع
يصف Antiserum نفسه بأنه مضاد فيروسات لبيانات التدريب: ماسح ضوئي محلي يحدد السموم المحتملة في مجموعات بيانات النصوص، بالإضافة إلى تغذية مشتركة من التواقيع المؤكدة. المستودع هو المنتج بحد ذاته؛ حيث لا يوجد تسجيل دخول ولا خدمة مسح مستضافة. يتم تقديم الوثائق العامة عبر GitHub Pages، ولكن الموقع يوثق واجهة سطر الأوامر (CLI) ولا يقوم بمسح أو تقييم أو استضافة مجموعات البيانات.
يستهدف المشروع سؤالاً واحداً يتعلق بالتدريب المسبق: هل مجموعة البيانات آمنة للتعلم منها؟ في هذا السياق، تعني كلمة "آمنة" أن المزيج لا يحتوي على محفزات مخفية، أو عمليات قلب تسميات منسقة، أو تفريغات مكررة، أو صفوف مزروعة أخرى قد تبدو نظيفة حتى يحفظها النموذج. الأداة تعتمد على Python 3.10+ ويتم تثبيتها من PyPI عبر الأمر pip install antiserum، والذي يفعّل أمر antiserum. لا يستخدم المسح المحلي الشبكة، ولا يتطلب مفاتيح API، ولا يقوم بتنزيل مجموعات البيانات. يمكنه مسح مجلدات بتنسيقات JSONL وCSV وJSON والنصوص العادية، والنسخ المضغوطة بصيغة gzip، ومسارات ذاكرة التخزين المؤقت المحلية لـ Hugging Face أو مسارات مجموعات البيانات التي تم تنزيلها. أما أجزاء Arrow وParquet فتتطلب إضافة اختيارية.
يتكون الماسح من ثلاث طبقات. الطبقة الفطرية (innate layer) تعمل على الجهاز المحلي وتشمل فحوصات لـ n-grams النادرة، وقلب التسميات، وتفريغات النسخ المتطابقة تقريباً، وعائلات إعادة الصياغة التي تتجاوز Jaccard، وقفزات الطول والإنتروبيا، ومطابقات تغذية التواقيع، وعناصر تحكم Unicode المخفية، والرموز مختلطة النصوص. الطبقة التكيفية (adaptive layer) هي دليل منشور حيث يمكن لإنسان أو وكيل تحديد العلامة كسم، أو نفايات، أو إنذار كاذب. أما طبقة الذاكرة (memory layer) فهي تغذية محلية من التواقيع بالإضافة إلى مجموعة بيانات مرجعية. يتم تتبع إصدارات الحزم المؤرخة في سجل التغييرات، ويكتب المسح إيصالاً يحتوي على هاش مجموعة البيانات، وإصدار الماسح، وهوية الحزمة، والعلامات، والمطابقات المؤكدة.
تشمل الفحوصات الموثقة: n-grams المحفزة، وقلب التسميات، والحقن المكرر، وزيادة وزن إعادة الصياغة، والقيم الإحصائية الشاذة، ومطابقة التواقيع، وتجاوز التعليمات، وUnicode المخفي، والنصوص المختلطة. تتطلب بعض الفحوصات دائماً تأكيداً بشرياً، بينما قد يكون لبعضها الآخر تصنيف أولي كنفايات أو إنذار كاذب. يمكن للمستخدمين تشغيل فحوصات مختارة فقط أو تخطي بعضها، ويسجل الإيصال الفحوصات التي تم تشغيلها بحيث يظل أي حذف مرئياً.
سلوك المسح محلي ومحدود عمداً. السقف الافتراضي هو 25,000 صف أو 128 ميجابايت من الملفات المصدرية. يتوقف التفريغ الأكبر عند السقف، ويسجل الاقتطاع في الإيصال، ويخرج بالرمز 3 بدلاً من استهلاك الذاكرة بالكامل. يمكن لخيار allow-truncated الحفاظ على رمز الخروج 0 لعينة متعمدة، بينما يظل الإيصال يشير إلى حدوث اقتطاع. تميز رموز الخروج بين المسح المكتمل بدون علامات فشل، والعلامات التي تصل أو تتجاوز عتبة الفشل (fail-on)، وأخطاء الاستخدام أو الإدخال/الإخراج، والاقتطاع. يمكن أن تكون قيمة fail-on هي any أو high أو never. الإيصالات حتمية لنفس بايتات المجلد والعلامات، ويمكن لأمر diff مقارنة إيصال أساسي محفوظ مع إيصال جديد دون إعادة المسح. يمكن للأداة إخراج تقارير بتنسيقات JSON وSARIF وHTML وCSV وMarkdown، وكل ذلك محلياً.
يمكن وضع التكوين في ملف antiserum.toml محلي، مع إمكانية تجاوز إعدادات الملف عبر العلامات. يمكن لملف allowlist.jsonl كتم الإنذارات الكاذبة المعروفة، ويظل الإيصال يسجل مسار الهاش الخاص بقائمة السماح حتى لا يكون الكتم صامتاً. تستخدم سير عمل التأكيد أوامر للحكم على العلامات، وتسوية المتبقيات، وإضافة الإنذارات الكاذبة إلى قائمة السماح المحلية، واقتراح سطر توقيع وجسم طلب سحب (pull-request). تصبح السموم المؤكدة توقيعاً عاماً يمكن للمسحات المستقبلية مطابقته.
يتضمن المستودع مجموعة بيانات تجريبية لعرض توضيحي لمدة دقيقتين ومجموعة بيانات مرجعية تحتوي على بضع مئات من النباتات وأغلبية نظيفة. يقوم أمر make reproduce بمسح المزيج المرجعي ويخرج برمز غير صفري إذا تم تفويت صف مزروع. تشمل الاختبارات التدقيق (linting)، وتغطية pytest، وتجهيزات البحث عن الحقول، والتقييم لكل فحص مقابل العتبات. يمكن لـ GitHub Action تشغيل CLI على مشغل مستدعي، وإنتاج إيصالات ومخرجات SARIF، وتحميل SARIF اختيارياً لمسح الكود. توضح أمثلة CI كيفية إفشال المهمة بناءً على علامات الإيصال أو الخطورة.
ملف README صريح بشأن النطاق. Antiserum ليس جدار حماية للمطالبات في وقت التشغيل، ولا ماسحاً لبرمجيات model-file أو pickle الخبيثة، ولا أداة لجودة البيانات أو أخطاء التسمية، ولا عاكساً للأبواب الخلفية على مستوى الأوزان، ولا مولداً لسموم الصور. هو مخصص لمسح مجموعات بيانات النصوص فقط في الإصدار الحالي. التغطية الصادقة، ونموذج التهديد، وملاحظات البحث الميداني، والتموضع موثقة في المستودع. المشروع مرخص بموجب MIT ويُقدم كحالة للأسبوع 11-12 مع CLI يعمل، وفحوصات، وحلقة تأكيد، وعرض تجريبي، ومجموعة بيانات مرجعية، وتغذية، وإيصالات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.