
Salus (أتمتة الأمان كماسح ضوئي عالمي خفيف الوزن) ، سميت باسم إلهة الحماية الرومانية ، هي أداة لتنسيق تنفيذ الماسحات الضوئية الأمنية. يمكنك تشغيل Salus على مستودع عبر Docker Daemon وسيحدد الماسحات الضوئية ذات الصلة ، وتشغيلها وتقديم الإخراج. معظم الماسحات الضوئية هي مشاريع أخرى ناضجة مفتوحة المصدر والتي نقوم بتضمينها مباشرة في الحاوية.
يعد Salus مفيدًا بشكل خاص لخطوط أنابيب CI/CD لأنه يصبح مكانًا مركزيًا لتنسيق المسح عبر أسطول كبير من المستودعات. عادة ، يتم تكوين الماسحات الضوئية على مستوى المستودع لكل مشروع. هذا يعني أنه عند إجراء تغييرات واسعة على كيفية تشغيل الماسحات الضوئية ، يجب تحديث كل مستودع. بدلاً من ذلك ، يمكنك تحديث Salus وسوف ترث التغيير على الفور.
يدعم Salus التكوين القوي الذي يسمح بالتخلف عن السداد العالمي والتحديد المحلية. أخيرًا ، يمكن للسلاوس الإبلاغ عن مقاييس في كل مستودع ، مثل ما يتم تضمين الحزم أو المخاوف الموجودة. يمكن تقييم هذه التقارير مركزيًا في البنية التحتية الخاصة بك للسماح بتتبع الأمان القابل للتطوير.
# Navigate to the root directory of the project you want to run Salus on
cd /path/to/repo
# Run the following line while in the root directory (No edits necessary)
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salussemgrep 1.0.0 ، والذي يبحث عن أنماط دلالية ونحوية في الكود على مستوى AST.npm audit 6.14.8 الذي يبحث عن CVES في تبعيات وحدة العقدة.yarn audit 1.22.0 الذي يبحث عن CVES في تبعيات وحدة العقدة.sift 0.9.0 ، يبحث عن سلاسل معينة في مشروع قد يكون خطيرًا أو قد يتطلب وجود سلاسل معينة.TruffleHog 3.19.0 ، يبحث عن أوراق الاعتماد التي تم تسريبها.سالوس أيضًا يموت ملفات التبعية والتقارير التي يتم استخدام المكتبات والإصدارات. يمكن أن يكون هذا مفيدًا لتتبع التبعيات عبر أسطولك.
اللغات المدعومة حاليًا هي:
تم تصميم Salus ليكون قابلاً للتكوين للغاية بحيث يمكنه العمل في العديد من أنواع البيئات المختلفة ومع العديد من الماسحات الضوئية المختلفة. وهو يدعم عملية الاستيفاء المتغيرة للبيئة وتكوينات متتالية ، ويمكنه قراءة التكوين ونشر التقارير عبر HTTP.
في بعض الأحيان يكون من الضروري تجاهل بعض CVES أو القواعد أو الاختبارات أو المجموعات أو الدلائل أو تعديل التكوين الافتراضي للماسح الضوئي. يشرح دليل المستندات/الماسحات الضوئية كيفية القيام بذلك لكل ماسح ضوئي يدعمه Salus.
إذا كنت ترغب في إنشاء ماسحات ضوئية مخصصة أو دعم المزيد من اللغات غير المدعومة حاليًا ، فيمكنك استخدام طريقة بناء صور Salus المخصصة.
يمكن دمج السالس مع Circleci باستخدام الجرم السماوي العام. يتم دعم جميع خيارات تكوين Salus ، وتكون الإعدادات الافتراضية هي نفسها بالنسبة إلى Salus نفسها.
مثال circleci config.yml :
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]
وثائق العمل github
بالنسبة إلى CI المعطى ، قم بتحديث ملف التكوين لتشغيل Salus. في الدائرة ، سيبدو هكذا:
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salusCoinbase/Salus يسحب صورة Docker
إن المساهمة في هذا المشروع موضع ترحيب للغاية ، وآملنا الصادق في أن العمل الذي قمنا به في هذه المرحلة لا يعمل إلا كأساس للسماح لمجتمعات الأمن/التنمية ككل بالالتقاء لتحسين أمن البنية التحتية للجميع .
يمكنك قراءة المزيد حول إعداد بيئة التطوير الخاصة بك ، أو بنية السالس.
يمكنك أيضًا العثور على خطوات لإضافة ماسح ضوئي جديد إلى Salus
هذا المشروع متاح مفتوح المصدر بموجب شروط ترخيص Apache 2.0.