
أداة فحص تحليل ثابتة تعمل عبر واجهة الأوامر، تكتشف الثغرات الأمنية الحرجة في كود مصدر PHP و YAML باستخدام قواعد semgrep مخصصة، مع تكامل مع Jira و Slack لخطوط أنابيب CI/CD.
SCodeScanner اختصار لـ Source Code Scanner، حيث يمكن للمستخدم مسح الكود المصدري للعثور على الثغرات الحرجة. الهدف الرئيسي لهذا الماسح هو العثور على الثغرات داخل الكود المصدري قبل نشر الكود في بيئة الإنتاج.
الموقع الإلكتروني للإصدارات الجديدة والإعلانات الجديدة - https://scodescanner.info/
pip3 install -r requirements.txt python3 scscanner.py --help python3 scscanner.py php --helpSCodeScanner هي أداة مفتوحة المصدر بالكامل، تعمل بسطر الأوامر ومكتوبة بلغة Python، لتحديد الثغرات في الكود. صُممت لتكون سهلة الاستخدام وتوفر عددًا من الميزات التي تميزها عن الأدوات الأخرى، بما في ذلك:
عدد أقل من النتائج الإيجابية الكاذبة: يتضمن SCodeScanner أعلامًا تساعد في التخلص من النتائج الإيجابية الكاذبة والإبلاغ فقط عن الثغرات المؤكدة وجودها.
قواعد semgrep مخصصة: يعمل SCodeScanner مع semgrep ولكنه ينشئ قواعده الخاصة، مما يساعد في تجنب النتائج الإيجابية الكاذبة والمسح المستغرق للوقت.
أداة قائمة على سطر الأوامر بلغة Python: SCodeScanner هي أداة Python تعمل بسطر الأوامر وسهلة الاستخدام للأشخاص من جميع الخلفيات التقنية. في حين أن العديد من الأدوات مفتوحة المصدر لتحديد الثغرات تعتمد على واجهة المستخدم الرسومية، فإن واجهة سطر الأوامر الخاصة بـ SCodeScanner تجعل تشغيلها بسيطًا من الطرفية.
مسح سريع: صُممت قواعد SCodeScanner للتحقق من ثغرات متعددة في وقت واحد، مما يؤدي إلى معالجة ملفات أقل للقواعد وعملية مسح أسرع بشكل عام.
الرؤية: يدعم SCodeScanner التكامل مع JIRA وSLACK، مما يتيح رؤية النتائج التي تم تحديدها عن طريق إرسال الملفات إلى مجموعات Slack أو إنشاء تذكرة في Jira.
القدرة على تتبع متغيرات إدخال المستخدم: يمكن لـ SCodeScanner تحديد الحالات التي يتم فيها تعريف متغيرات إدخال المستخدم في ملف واحد ولكن استخدامها بشكل غير آمن في ملف آخر.
مخرجات JSON سهلة القراءة: يوفر SCodeScanner النتائج بصيغة JSON سهلة القراءة ويمكن استخدامها لمزيد من التحليل.
حصل SCodeScanner على 5 CVEs لاكتشاف ثغرات في إضافات متعددة لنظام إدارة المحتوى (CMS).
--folder: يأخذ هذا العلم المجلد الذي يوجد فيه الكود الفعلي. هذا علم إلزامي.
--file: إذا أردنا مسح ملف، فهذا العلم مطلوب.
--check: سيقوم هذا العلم بتشغيل إزالة النتائج الإيجابية الكاذبة بعد تحديد الثغرات. يتحقق هذا بشكل أساسي مما إذا كان إدخال المستخدم حقيقيًا أم لا. يقوم العلم أيضًا بإنشاء ملف JSON معدل جديد بعد إزالة جميع النتائج الإيجابية الكاذبة. لكن النقطة المهمة هي أن الأداة ستحتفظ بكل من النسختين الأصلية والمعدلة من الملفات.
--json: مسؤول عن إنشاء ملفات json كمخرجات
-o: سيقوم هذا العلم بإنشاء ملف نصي مع نتائج المخرجات. الغرض من هذا العلم هو إنشاء ملف قابل للقراءة البشرية وسهل القراءة. العلم اختياري.
--jira: مسؤول عن إرسال ملفات المخرجات إلى مثيل JIRA. (يلزم إضافة تكوينات داخل ملف config.json.). العلم اختياري.
--slack: مسؤول عن إرسال ملفات المخرجات إلى مثيلات SLACK. (يلزم إضافة تكوينات داخل ملف config.json). العلم اختياري.
بعض الميزات الرائعة قادمة.
أود سماع ملاحظاتك حول هذه الأداة. افتح مشكلات إذا وجدت أيًا منها. وافتح طلب سحب (PR) إذا كان لديك شيء.