
قائمة منسّقة من سلاسل الإدخال الخبيثة والحالات الحدّية (blns.txt/blns.json) لاختبار ضمان الجودة والأمان للتحقق من إدخال المستخدم، والحقن، ومعالجة يونيكود.
القائمة الكبيرة للسلاسل المشاغبة (Big List of Naughty Strings) هي قائمة متطورة من السلاسل التي لها احتمالية عالية للتسبب في مشكلات عند استخدامها كبيانات إدخال من المستخدم. هذا مخصص للاستخدام في المساعدة في اختبار ضمان الجودة (QA) الآلي واليدوي على حد سواء؛ وهو مفيد كلما دخل مهندس ضمان الجودة لديك إلى حانة.
حتى الشركات التي تبلغ قيمتها مليارات الدولارات والتي تمتلك كميات هائلة من الاختبار الآلي لا تستطيع العثور على كل إدخال سيئ. على سبيل المثال، انظر إلى ما يحدث عندما تحاول نشر مسافة صفرية العرض (U+200B) على تويتر:
على الرغم من أن هذا ليس خطأً خبيثًا، والمستخدمون العاديون لا ينشرون يونيكود غريبًا على تويتر، فإن "خطأ الخادم الداخلي" الناتج عن إدخال غير متوقع ليس أبدًا تجربة إيجابية للمستخدم، وقد يكون في الواقع عرضًا لمشكلات أعمق في التحقق من صحة السلاسل. تهدف القائمة الكبيرة للسلاسل المشاغبة إلى المساعدة في كشف مثل هذه المشكلات.
تتكون blns.txt من سلاسل مفصولة بأسطر جديدة وتعليقات تسبقها علامة #. تقسم التعليقات السلاسل إلى أقسام لتسهيل القراءة اليدوية والنسخ/اللصق في نماذج الإدخال. لمن يرغب في الوصول إلى السلاسل برمجيًا، يتم توفير ملف blns.json يحتوي على مصفوفة مع إزالة جميع التعليقات (يحتوي مجلد scripts على سكربت Python يُستخدم لإنشاء blns.json).
لا تتردد في إرسال طلب سحب (pull request) لإضافة المزيد من السلاسل، أو أقسام إضافية. ومع ذلك، يُرجى عدم إرسال طلبات سحب تحتوي على سلاسل طويلة جدًا (255 حرفًا أو أكثر)، لأن ذلك يجعل عرض القائمة أكثر صعوبة بكثير.
وبالمثل، يُرجى عدم إرسال طلبات سحب تضر بقابلية استخدام الملف يدويًا. يشمل ذلك سلسلة اختبار EICAR، التي يمكن أن تتسبب في وضع علامة على الملف بواسطة ماسحات الفيروسات، والملفات التي تغيّر ترميز blns.txt. أيضًا، لا ترسل سلسلة تحتوي على حرف فارغ (U+0000)، لأنه يغيّر تنسيق الملف على GitHub إلى ثنائي ويجعله غير قابل للقراءة في طلبات السحب. أخيرًا، عند إضافة أو إزالة سلسلة، يُرجى تحديث جميع الملفات عند تنفيذ طلب السحب.
القائمة الكبيرة للسلاسل المشاغبة مخصصة للاستخدام مع البرامج التي تملكها وتديرها. بعض السلاسل المشاغبة قد تشير إلى ثغرات أمنية، ونتيجة لذلك فإن استخدام مثل هذه السلاسل مع برامج طرف ثالث قد يُعد جريمة. القائم على الصيانة ليس مسؤولًا عن أي إجراءات سلبية تنتج عن استخدام القائمة.
بالإضافة إلى ذلك، فإن القائمة الكبيرة للسلاسل المشاغبة ليست بديلًا شاملًا تمامًا عن اختبار الأمان/اختبار الاختراق الرسمي لخدمتك.
وصلت تطبيقات متنوعة للقائمة الكبيرة للسلاسل المشاغبة إلى مديري حزم متعددين. تتم صيانة تلك بواسطة أطراف خارجية، ولكن يمكن العثور عليها هنا:
يُرجى فتح طلب سحب (PR) لإدراج أخرى.
Max Woolf (@minimaxir)
MIT