
Gryffin هي منصة فحص أمن الويب واسعة النطاق.
Gryffin هي منصة فحص أمني واسعة النطاق لتطبيقات الويب. إنها ليست مجرد ماسح ضوئي آخر. لقد كُتبت لحل مشكلتين محددتين في الماسحات الضوئية الحالية: التغطية والنطاق.
التغطية الأفضل تعني نتائج سلبية خاطئة أقل. قابلية التوسع المتأصلة تعني القدرة على الفحص ودعم بنية تحتية كبيرة ومرنة للتطبيقات. ببساطة، القدرة على فحص 1000 تطبيق اليوم و100,000 تطبيق غداً من خلال التوسع الأفقي المباشر.
للتغطية بُعدان - أحدهما أثناء الزحف والآخر أثناء اختبار الاختراق (fuzzing). في مرحلة الزحف، تعني التغطية القدرة على إيجاد أكبر قدر ممكن من بصمة التطبيق. في مرحلة الفحص، أو أثناء اختبار الاختراق، تعني القدرة على اختبار كل جزء من التطبيق لمجموعة مطبقة من الثغرات بشكل عميق.
اليوم، عدد كبير من تطبيقات الويب تعتمد على القوالب، مما يعني أن نفس الكود أو المسار يولد ملايين عناوين URL. بالنسبة للماسح الأمني، يحتاج فقط إلى واحد من ملايين عناوين URL المولدة من نفس الكود أو المسار. ماسح Gryffin يقوم بذلك بالضبط.
في قلب Gryffin يوجد محرك إزالة تكرار يقارن صفحة جديدة بالصفحات التي شوهدت بالفعل. إذا كان هيكل HTML للصفحة الجديدة مشابهاً لتلك التي شوهدت بالفعل، يتم تصنيفها كمكررة ولا يتم الزحف إليها أكثر.
عدد كبير من التطبيقات اليوم هي تطبيقات غنية. تعتمد بشكل كبير على JavaScript من جانب العميل. من أجل اكتشاف الروابط ومسارات الكود في مثل هذه التطبيقات، يستخدم ماسح Gryffin's PhantomJS لعرض DOM والتنقل.
بما أن Gryffin هي منصة فحص وليست ماسحاً ضوئياً، فليس لديها وحدات اختبار اختراق خاصة بها، حتى لاختبار الثغرات الشائعة مثل XSS وحقن SQL.
ليس من الحكمة إعادة اختراع العجلة حيث لا داعي لذلك. يستخدم Gryffin في الإنتاج على نطاق Yahoo أدوات اختراق مفتوحة المصدر ومخصصة. بعض هذه الأدوات المخصصة قد تُفتح المصدر في المستقبل، وقد تكون أو لا تكون جزءاً من مستودع Gryffin.
لأغراض العرض التوضيحي، يأتي Gryffin متكاملاً مع sqlmap و arachni. لا يؤيدهم أو أي ماسح ضوئي آخر بشكل خاص.
الفلسفة هي تحسين تغطية الفحص من خلال القدرة على اختبار الاختراق فقط لما تحتاجه.
بينما يتوفر Gryffin كحزمة مستقلة، إلا أنه مبني بشكل أساسي للنطاق الواسع.
Gryffin مبني على نموذج الناشر-المشترك. كل مكون هو إما ناشر، أو مشترك، أو كلاهما. هذا يسمح لـ Gryffin بالتوسع أفقياً ببساطة عن طريق إضافة المزيد من عُقد المشتركين أو الناشرين.
go1.13 أو أحدث--max-msg-size=5000000go get -u github.com/yahoo/gryffin/...
(قيد العمل)
المرخص بموجب أسلوب ترخيص BSD. راجع ملف LICENSE للشروط.