تشير قاعدة بيانات PHP Security Advisories إلى الثغرات الأمنية المعروفة في العديد من مشاريع ومكتبات PHP. يجب ألا تكون قاعدة البيانات هذه بمثابة المصدر الرئيسي للمعلومات المتعلقة بالقضايا الأمنية، فهي ليست موثوقة لأي برنامج مرجعي، ولكنها تسمح بمركزية المعلومات من أجل الراحة وسهولة الاستخدام.
قاعدة بيانات PHP الاستشارية الأمنية هي برامج مجانية وغير مربوطة تم طرحها في المجال العام.
للتحقق من وجود ثغرات أمنية في تطبيقاتك إلى جانب عمليات الفحص اليدوي، يجب عليك استخدام أداة Local CLI:
local-php-security-checker --path=/path/to/composer.lock
نصيحة : إذا كنت تستخدم Github، فيمكنك استخدام PHP Security Checker Github Action للتحقق تلقائيًا من الثغرات الأمنية عند دفع التعليمات البرمجية.
تعد المساهمة بالنصائح الأمنية أمرًا سهلاً قدر الإمكان:
يمكنك المساهمة بإدخال جديد عن طريق إرسال طلب سحب أو عن طريق إنشاء ملف مباشرة عبر واجهة Github؛
قم بإنشاء دليل بناءً على اسم Composer الخاص بالبرنامج حيث توجد مشكلة الأمان (استخدم symfony/http-foundation
لمشكلة في مكون Symfony HttpFoundation على سبيل المثال)؛
يجب حفظ كل مشكلة أمنية في ملف حيث يكون الاسم هو معرف CVE (المفضل) أو تاريخ الإعلان عن المشكلة الأمنية متبوعًا بزيادة ( 2012-12-12-1
على سبيل المثال)؛
الملف بتنسيق YAML ويجب أن يحتوي على الإدخالات التالية (ألق نظرة على الإدخالات الموجودة للحصول على أمثلة):
title
: نص يصف المشكلة الأمنية في بضع كلمات؛
link
: رابط للإعلان الرسمي عن مشكلة الأمان (تُفضل روابط HTTPS على روابط HTTP)؛
reference
: مرجع فريد لتعريف البرنامج (النظام الوحيد المدعوم هو composer://
متبوعًا بمعرف الملحن)؛
branches
: تجزئة للفروع المتأثرة، حيث يكون الاسم هو اسم الفرع (مثل 2.0.x
)، والقيمة عبارة عن تجزئة مع الإدخالات التالية:
time
: التاريخ والوقت بالتوقيت العالمي المنسق عندما تم إصلاح مشكلة الأمان أو يكون فارغًا إذا لم يتم حل المشكلة بعد (في معظم الأحيان، تاريخ التزام الدمج الذي أصلح المشكلة بالتنسيق التالي 2012-08-27 19:17:44
) - يجب أن تكون هذه المعلومات دقيقة قدر الإمكان حيث يتم استخدامها لتحديد ما إذا كان المشروع متأثرًا أم لا؛
versions
: مصفوفة من القيود التي تصف الإصدارات المتأثرة لهذا الفرع (هذا هو نفس التنسيق المستخدم في Composer -- ['>=2.0.0', '<2.0.17']
).
إذا كان لديك معرف CVE، فأضفه أسفل مفتاح cve
.
تأكد من التحقق من صحة ملفك عن طريق تشغيل php -d memory_limit=-1 validator.php
من جذر هذا المشروع. يحتاج هذا البرنامج النصي إلى تثبيت بعض التبعيات عبر الملحن، لذلك تحتاج إلى تشغيل composer install
قبل ذلك.
إذا كانت بعض التعليمات البرمجية المتأثرة متاحة من خلال إدخالات Composer مختلفة (مثل عندما يكون لديك تقسيمات شجرة فرعية للقراءة فقط لمستودع رئيسي)، فقم بتكرار المعلومات في عدة ملفات.