لماذا أنشأت Anthropic هذه الخدمة
على مدى أكثر من ستة أشهر، عثرت نماذج Anthropic على أكثر من 29,000 ثغرة محتملة في برمجيات مهمة مفتوحة المصدر، لكن فريق الأمن لديها لم يتمكن من مراجعة سوى نحو 6,000 منها يدويًا. وقد طلب كثير من مسؤولي صيانة المشاريع الذين تلقوا التقارير الأولى المتحقق منها بشريًا أن يتلقوا كل النتائج ببساطة، حتى غير المتحقق منها، مع التصحيحات المقترحة — فأُرسلت بهذه الطريقة قرابة 5,000 تقرير.
تحوّل OSS Scanner ذلك إلى مسار سريع اختياري. وتواصل التقارير المتحقق منها بشريًا المرور عبر عملية الإفصاح المنسق عن الثغرات (CVD) لدى Anthropic؛ كما تحصل المشاريع المسجلة على مخرجات النماذج الأولية فور جهوزيتها. وتقول Anthropic إن الفكرة استُلهمت من OSS-Fuzz التابعة لـ Google.
ما الذي يتلقاه مسؤولو صيانة المشاريع
بعد التسجيل، يُفحَص المشروع ويتلقى القائمون على صيانته حزمة من التقارير عبر البريد الإلكتروني. يتضمن مسار عمل Anthropic وكلاءً يتحققون من الأخطاء مرة أخرى، ويقترحون تصحيحات، ويجرون تحليلًا للأسباب الجذرية. يحتوي كل تقرير على:
- اختبار مستقل لإعادة إنتاج المشكلة
- شرح للثغرة، بما في ذلك تقسيم ثنائي لتحديد وقت إدخال الخطأ، متى أمكن ذلك
- تصحيح مرشح، إن توفر
تُعاد عمليات فحص المشاريع بانتظام لاكتشاف الأخطاء التي أُدخلت حديثًا وتلك التي فات رصدها سابقًا. يعتمد تواتر الفحص على عدد المشاريع ضمن مسار العمل، ومدى انتشار استخدام المشروع، وعوامل أخرى.
ما مدى دقته؟
قبل الإطلاق، فحص مختبرو الاختراق لدى Anthropic 97 بلاغًا عن ثغرات محتملة حرجة وعالية الخطورة عبر 48 مشروعًا. استوفى 85 منها (88%) معايير عملية CVD لدى Anthropic؛ أما 11 من البلاغات الـ12 المتبقية فكانت صحيحة لكنها مكررة لمشكلات معروفة، ولم يكن سوى بلاغ واحد إيجابيًا كاذبًا. تتوقع Anthropic أن يتجاوز معدل الإيجابيات الصحيحة 90%، وتحذر من احتمال المبالغة في تقديرات الخطورة أو سوء فهم الماسح لنموذج تهديد المشروع.
كان انطباع المشاركين الأوائل إيجابيًا. أفادت wolfSSL بأن جميع التقارير الـ74 باستثناء اثنين كانت صحيحة، وأن خمسة منها أصبحت CVEs. وقال Daniel Stenberg إن الماسح اكتشف واحدة من أسوأ ثغرات curl منذ سنوات؛ كما أشاد القائمون على صيانة PostgreSQL وOpenSSL وHotCRP بالتقارير.
من المؤهل؟
تستخدم Anthropic معايير مشابهة لـ OSS-Fuzz: مشاريع راسخة ذات أثر حرج على البنية التحتية وأمان المستخدمين، ويُبتّ في كل حالة على حدة. ومن العوامل المهمة التعرض للهجمات عن بُعد (مثل المكتبات التي تعالج مدخلات غير موثوق بها)، وعدد المستخدمين والمشاريع التي تعتمد على المشروع. إذا لم تكن أهمية المشروع واضحة، فأضف جملة قصيرة توضّحها.
تتحقق Anthropic يدويًا من أن مقدّم الطلب من القائمين الأساسيين على صيانة المشروع، وقد تتواصل مع المشروع عبر قنوات أخرى. الخدمة مخصصة للمشاريع التي تواكب بالفعل التقارير المؤكدة ذات الخطورة العالية والحرجة؛ فإذا كان صندوق الوارد لديك مثقلًا بالتقارير أصلًا، فقد لا تكون الخدمة مناسبة لك بعد.
كيفية التقديم
يفتح القائمون الأساسيون على صيانة المشروع طلب دمج إلى github.com/anthropics/oss-scanner لإضافة projects/your-project/project.yaml، بدءًا من القالب الموجود في ذلك المستودع.
الحقول المطلوبة:
- repo — عنوان git URL لاستنساخ المشروع، ويمكن إلحاقه اختياريًا بـ #branch؛ وليس من الضروري أن يكون المشروع على GitHub
- primary_contact — عنوان البريد الإلكتروني الذي يتلقى كل تقرير
- Dockerfile — مسار نسبي إلى repo لملف Dockerfile يثبّت التبعيات ويبني المشروع؛ أو ضع ملفًا باسم Dockerfile بجانب project.yaml واترك هذا الحقل فارغًا
الحقول الاختيارية:
- auto_ccs — عناوين إضافية تُدرج في نسخة كل تقرير
- homepage — موقع المشروع الإلكتروني
- threat_model — مسار نموذج التهديد، والافتراضي هو .oss-scanner/threat_model.md
- pgp — مفتاح عام لتشفير رسائل التقارير؛ عند تعيينه، لا يُسمح بإضافة عناوين في نسخة CC
- disabled — اضبطه على true لإيقاف التقارير مؤقتًا
شغّل tools/validate.py وابنِ Dockerfile محليًا قبل فتح طلب الدمج. بعد القبول، تبني Anthropic الصورة على بنيتها التحتية وترسل إليك بريدًا إلكترونيًا إذا فشل ذلك.
Dockerfile والتدقيق دون اتصال
يُبنى Dockerfile مع إتاحة الوصول إلى الشبكة. أما كل ما يأتي بعد ذلك — أي تدقيق الوكلاء — فيُجرى مع تعطيل الوصول إلى الإنترنت بالكامل، داخل بيئات معزولة محصّنة. لذا يجب أن تثبّت الصورة جميع التبعيات مسبقًا وأن تبني المشروع. توصي Anthropic بالتأكد من نجاح الاختبارات داخل الحاوية؛ فهذا يتيح للوكلاء ترجمة الشيفرة البرمجية وتشغيلها للتحقق من الأخطاء.
ملف نموذج التهديد
ملف threat_model.md اختياري ولا يتطلب تنسيقًا محددًا. إنه فرصتك لإخبار الوكلاء بما لم يوثّق في مواضع أخرى:
- الشيفرة التي ينبغي اختبارها، والمدخلات التي قد تكون عدائية، وما يقع خارج النطاق
- مقياس لتصنيف الخطورة إلى حرجة وعالية ومتوسطة ومنخفضة
- الشكل الذي ينبغي أن تكون عليه التقارير، وما إذا كان ينبغي أن تكون التصحيحات محدودة أو جاهزة للدمج، وأي إثباتات مفهوم مفيدة
- مستوى التفصيل المطلوب عند إزالة التكرار
من دونه، يخمّن الماسح. يمكنك تغيير الملف بين عمليات الفحص لتغيير التقارير. تنشئ أداة بناء نموذج التهديد لدينا ملفًا جاهزًا.
الإفصاح والإيقاف المؤقت والإسناد
لا توجد مهلة 90 يومًا لهذه البلاغات التي لم يُتحقق منها. إذا تحققت Anthropic لاحقًا من تقرير عبر برنامج CVD لديها، فقد تفصح عنه بعد 90 يومًا من إبلاغك بأن شخصًا قد تحقق منه. وتقول Anthropic إنها قد تفرض مهلًا على بعض التقارير عالية الخطورة مستقبلًا، مع إشعار مسبق وإمكانية الانسحاب.
للإيقاف المؤقت، أضف disabled: true إلى project.yaml في طلب دمج؛ وللانسحاب، احذف مجلد projects/ الخاص بك. أرسل ملاحظاتك ردًا على رسائل التقارير الإلكترونية؛ وإذا لم تكن مسجلًا، فاكتب إلى oss-scanner-questions@anthropic.com.
الإشارة إلى المساهم اختيارية. تقترح Anthropic إضافة سطر إلى رسالة الالتزام مثل: «اكتشفه Anthropic OSS Scanner، بوصفه ثغرة ANT-2026-ABCD1234».
أمن البيانات
تُعالج التقارير مثل بلاغات CVD القياسية لدى Anthropic: وتُخزّن في مشروع سحابي معزول ومقيّد الوصول، ولا يمكن الوصول إليه إلا لموظفي الأمن الذين يديرون البرنامج.
OSS Scanner مقارنةً بـ Claude Security
Claude Security هو منتج Anthropic التجاري للمؤسسات، لمساعدتها على اكتشاف الثغرات في شيفرتها الخاصة وإصلاحها. أما OSS Scanner فهو مخصص للقائمين على صيانة المشاريع مفتوحة المصدر: إذ يضيف أدوات تجريبية تستهلك قدرًا كبيرًا من الرموز للعثور على أخطاء أعمق، وتغطي Anthropic التكلفة كاملة. ويمكن للقائمين على الصيانة أيضًا الحصول مجانًا على Claude Max 20x عبر Claude for OSS، كما يمكن لمتخصصي الأمن التقديم إلى Cyber Verification Program.
مولّد project.yaml
املأ الحقول لإنشاء project.yaml بالتنسيق الموضح في الأسئلة الشائعة لدى Anthropic، إلى جانب الأوامر اللازمة لفتح طلب الدمج. تحقّق دائمًا من القالب الحالي في المستودع قبل التقديم.
أي مضيف git عام. يُضاف الفرع بصيغة #branch.
اسم المجلد ضمن projects/ في مستودع Anthropic.
عادةً ما يكون بريدك الإلكتروني الشخصي. تصلك جميع التقارير.
مسار نسبي إلى repo. أفرغه إذا وضعت Dockerfile بجوار project.yaml بدلًا من ذلك.
اختياري، افصل بين العناوين بفواصل.
اترك القيمة الافتراضية ما لم يكن ملفك في مكان آخر.
اختياري. ستُشفّر التقارير، ولن يُسمح عندئذٍ بإضافة مستلمين بالنسخة.
projects/my-project/project.yaml
repo: https://github.com/owner/project primary_contact: you@example.org Dockerfile: Dockerfile
افتح طلب السحب
gh repo fork anthropics/oss-scanner --clone cd oss-scanner mkdir -p projects/my-project cp ~/Downloads/project.yaml projects/my-project/project.yaml python3 tools/validate.py git checkout -b enroll-my-project git add projects/my-project git commit -m "Enroll my-project in OSS Scanner" git push -u origin enroll-my-project gh pr create --repo anthropics/oss-scanner --fill
يتطلب واجهة سطر أوامر GitHub (gh) وPython 3. تتحقق Anthropic يدويًا من أنك مشرف أساسي على المشروع قبل القبول.
نموذج Dockerfile
نقطة بداية لمشروع C/C++ مبني باستخدام CMake. عدّل الحزم وأوامر البناء لتناسب مشروعك؛ المهم تثبيت كل شيء وبناؤه داخل الصورة، لأن التدقيق يجري دون اتصال بالإنترنت.
FROM debian:bookworm
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential cmake git ca-certificates pkg-config \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
# Build everything and fetch all dependencies now:
# the audit itself runs with no network access.
RUN cmake -B build -DCMAKE_BUILD_TYPE=Debug && cmake --build build -j"$(nproc)"
# Optional, but recommended: make sure tests pass inside the image.
RUN ctest --test-dir build --output-on-failureأسئلة حول Anthropic OSS Scanner
هل Anthropic OSS Scanner مجاني؟
نعم. تتحمل Anthropic التكلفة الكاملة لعمليات الفحص للمشاريع المسجّلة.
هل يجب أن يكون مشروعي على GitHub؟
لا. يمكن أن يشير حقل repo إلى أي مضيف git. طلب السحب الخاص بالتسجيل وحده يُقدَّم على GitHub.
هل يراجع شخص التقارير؟
لا. تُنشأ تقارير المسار السريع بالكامل بواسطة النماذج. أما التقارير التي يتحقق منها البشر فتصل بشكل منفصل عبر عملية CVD لدى Anthropic.
ماذا لو لم يُقبل مشروعي؟
يمكنك فحصه على ossscanner.org في أي وقت، والتسجيل هنا لإجراء فحوصات معمّقة أسبوعية — أي مستودع عام مؤهل.
كيف يمكنني التوقف عن تلقي التقارير؟
افتح PR لإضافة disabled: true إلى project.yaml، أو احذف مجلد مشروعك. ستعود إلى تلقي تقارير CVD التي تحقق منها أشخاص فقط.