
نود أن نطلب من جميع المساهمين استنساخ *نسخة جديدة* من هذا المستودع بعد صيانة 21 سبتمبر.
سالوس (الأتمتة الأمنية كمسح ضوئي عالمي خفيف)، سُمي على اسم إلهة الحماية الرومانية، هو أداة لتنسيق تنفيذ الماسحات الأمنية. يمكنك تشغيل سالوس على مستودع عبر خفيضة Docker وسيحدد أي الماسحات ذات صلة، ويشغلها ويوفر الإخراج. معظم الماسحات هي مشاريع مفتوحة المصدر ناضجة أخرى نضمنها مباشرة داخل الحاوية.
سالوس مفيد بشكل خاص لسير عمل CI/CD لأنه يصبح مكانًا مركزيًا لتنسيق المسح عبر أسطول كبير من المستودعات. عادةً، يتم تكوين الماسحات على مستوى المستودع لكل مشروع. هذا يعني أنه عند إجراء تغييرات على مستوى المؤسسة في كيفية تشغيل الماسحات، يجب تحديث كل مستودع. بدلاً من ذلك، يمكنك تحديث سالوس وسترث جميع البنيات التغيير فورًا.
يدعم سالوس تكوينًا قويًا يسمح بالقيم الافتراضية العامة والتعديلات المحلية. أخيرًا، يمكن لسالوس الإبلاغ عن مقاييس لكل مستودع، مثل الحزم المضمنة أو المخاوف الموجودة. يمكن تقييم هذه التقارير مركزيًا في بنيتك الأساسية للسماح بالتتبع الأمني القابل للتوسع.
# انتقل إلى الدليل الجذر للمشروع الذي تريد تشغيل سالوس عليه
cd /path/to/repo
# قم بتشغيل السطر التالي أثناء وجودك في الدليل الجذر (لا حاجة للتعديل)
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
semgrep 1.0.0، الذي يبحث عن أنماط دلالية ونحوية في الكود على مستوى AST.npm audit 6.14.8 الذي يبحث عن CVEs في تبعيات وحدة العقدة.yarn audit 1.22.0 الذي يبحث عن CVEs في تبعيات وحدة العقدة.sift 0.9.0، يبحث عن سلاسل معينة في مشروع قد تكون خطيرة أو قد تتطلب وجود سلاسل معينة.يقوم سالوس أيضًا بتحليل ملفات التبعية والإبلاغ عن المكتبات والإصدارات المستخدمة. يمكن أن يكون هذا مفيدًا لتتبع التبعيات عبر أسطولك.
اللغات المدعومة حاليًا هي:
تم تصميم سالوس ليكون قابلًا للتكوين بدرجة كبيرة بحيث يمكنه العمل في العديد من أنواع البيئات المختلفة ومع العديد من الماسحات المختلفة. يدعم استيفاء متغيرات البيئة والتكوينات المتتالية، ويمكنه قراءة التكوين ونشر التقارير عبر HTTP.
أحيانًا يكون من الضروري تجاهل بعض CVEs، القواعد، الاختبارات، المجموعات، الدلائل، أو تعديل التكوين الافتراضي لماسح ضوئي. يشرح دليل docs/scanners كيفية القيام بذلك لكل ماسح ضوئي يدعمه سالوس.
إذا كنت ترغب في بناء ماسحات ضوئية مخصصة أو دعم لغات أكثر غير مدعومة حاليًا، يمكنك استخدام هذه الطريقة لبناء صور سالوس مخصصة.
يمكن دمج سالوس مع CircleCI باستخدام Orb عام. جميع خيارات تكوين سالوس مدعومة، والقيم الافتراضية هي نفسها لسالوس نفسه.
مثال على config.yml في CircleCI:
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
يمكن أيضًا استخدام سالوس مع إجراءات Github.
مثال على .github/workflows/main.yml:
on: [push]
jobs:
salus_scan_job:
runs-on: ubuntu-latest
name: Salus Security Scan Example
steps:
- uses: actions/checkout@v1
- name: Salus Scan
id: salus_scan
uses: federacy/[email protected]
بالنسبة لـ CI الخاص بك، قم بتحديث ملف التكوين لتشغيل سالوس. في Circle، سيكون على هذا النحو:
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
coinbase/salus يسحب صورة docker
المساهمة في هذا المشروع مرحب بها للغاية، ونأمل بصدق أن يكون العمل الذي قمنا به حتى هذه النقطة مجرد أساس يسمح لمجتمعات الأمن/التطوير ككل بالالتقاء معًا لتحسين أمان الجميع.
يمكنك قراءة المزيد حول إعداد بيئة التطوير الخاصة بك، أو هندسة سالوس.
يمكنك أيضًا العثور على خطوات إضافة ماسح ضوئي جديد إلى سالوس
هذا المشروع متاح كمصدر مفتوح بموجب شروط ترخيص Apache 2.0.
TruffleHog 3.19.0، يبحث عن بيانات اعتماد مسربة.