
हम सभी योगदानकर्ताओं से अनुरोध करना चाहते हैं कि कृपया 21 सितंबर के रखरखाव के बाद से इस रिपॉजिटरी की *एक नई प्रतिलिपि* क्लोन करें।
Salus (Security Automation as a Lightweight Universal Scanner), जिसका नाम सुरक्षा की रोमन देवी के नाम पर रखा गया है, सुरक्षा स्कैनर्स के निष्पादन को समन्वित करने का एक उपकरण है। आप Docker डेमॉन के माध्यम से एक रिपॉजिटरी पर Salus चला सकते हैं और यह निर्धारित करेगा कि कौन से स्कैनर प्रासंगिक हैं, उन्हें चलाएगा और आउटपुट प्रदान करेगा। अधिकांश स्कैनर अन्य परिपक्व ओपन सोर्स प्रोजेक्ट हैं जिन्हें हम सीधे कंटेनर में शामिल करते हैं।
Salus विशेष रूप से CI/CD पाइपलाइनों के लिए उपयोगी है क्योंकि यह बड़ी संख्या में रिपॉजिटरी में स्कैनिंग को समन्वित करने के लिए एक केंद्रीकृत स्थान बन जाता है। आमतौर पर, स्कैनर्स को प्रत्येक प्रोजेक्ट के लिए रिपॉजिटरी स्तर पर कॉन्फ़िगर किया जाता है। इसका मतलब है कि स्कैनर्स को चलाने के तरीके में संगठन-व्यापी परिवर्तन करते समय, प्रत्येक रिपॉजिटरी को अपडेट करना होगा। इसके बजाय, आप Salus को अपडेट कर सकते हैं और सभी बिल्ड तुरंत परिवर्तन प्राप्त कर लेंगे।
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/salus
semgrep 1.0.0 का निष्पादन, जो कोड में AST स्तर पर शब्दार्थ और वाक्यात्मक पैटर्न की तलाश करता है।npm audit 6.14.8 का निष्पादन, node module निर्भरताओं में CVEs की तलाश करता है।yarn audit 1.22.0 का निष्पादन, node module निर्भरताओं में CVEs की तलाश करता है।sift 0.9.0 का निष्पादन, किसी प्रोजेक्ट में कुछ स्ट्रिंग्स की तलाश करता है जो खतरनाक हो सकती हैं या जिनकी उपस्थिति आवश्यक हो सकती है।Salus निर्भरता फ़ाइलों को पार्स करता है और रिपोर्ट करता है कि कौन सी लाइब्रेरी और संस्करण उपयोग किए जा रहे हैं। यह आपके फ्लीट में निर्भरताओं को ट्रैक करने के लिए उपयोगी हो सकता है।
वर्तमान में समर्थित भाषाएँ हैं:
Salus को अत्यधिक कॉन्फ़िगरेबल बनाया गया है ताकि यह कई अलग-अलग प्रकार के वातावरणों और कई अलग-अलग स्कैनर्स के साथ काम कर सके। यह एन्वायरमेंट वेरिएबल इंटरपोलेशन और कैस्केडिंग कॉन्फ़िगरेशन का समर्थन करता है, और HTTP पर कॉन्फ़िगरेशन पढ़ सकता है और रिपोर्ट पोस्ट कर सकता है।
कभी-कभी कुछ CVEs, नियमों, परीक्षणों, समूहों, निर्देशिकाओं को अनदेखा करना या अन्यथा किसी स्कैनर के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन को संशोधित करना आवश्यक होता है। docs/scanners निर्देशिका बताती है कि Salus द्वारा समर्थित प्रत्येक स्कैनर के लिए ऐसा कैसे करें।
यदि आप कस्टम स्कैनर्स बनाना चाहते हैं या अधिक भाषाओं का समर्थन करना चाहते हैं जो वर्तमान में समर्थित नहीं हैं, तो आप कस्टम Salus छवियों के निर्माण की इस विधि का उपयोग कर सकते हैं।
Salus को एक सार्वजनिक Orb का उपयोग करके CircleCI के साथ एकीकृत किया जा सकता है। सभी Salus कॉन्फ़िगरेशन विकल्प समर्थित हैं, और डिफ़ॉल्ट Salus के समान ही हैं।
Example CircleCI config.yml:
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
Salus का उपयोग Github Actions के साथ भी किया जा सकता है।
Example .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 के लिए, कॉन्फ़िग फ़ाइल को अपडेट करें ताकि salus चल सके। Circle में, यह इस प्रकार दिखेगा:
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
coinbase/salus Docker छवि को खींचता है
इस प्रोजेक्ट में योगदान अत्यंत स्वागत योग्य है और हमें सच्ची उम्मीद है कि हमने अब तक जो काम किया है, वह केवल एक नींव के रूप में कार्य करता है ताकि सुरक्षा/विकास समुदाय एक साथ आकर सभी के बुनियादी ढांचे की सुरक्षा में सुधार कर सकें।
आप अपना विकास वातावरण सेट करने या Salus की आर्किटेक्चर के बारे में अधिक पढ़ सकते हैं।
आप Salus में एक नया स्कैनर जोड़ने के चरण भी पा सकते हैं।
यह प्रोजेक्ट Apache 2.0 लाइसेंस की शर्तों के तहत ओपन सोर्स उपलब्ध है।
TruffleHog 3.19.0 का निष्पादन, लीक हुए क्रेडेंशियल्स की तलाश करता है।