
सभी GitHub और GitLab संपत्तियों में गलत कॉन्फ़िगरेशन और सुरक्षा जोखिमों का पता लगाएँ और उन्हें ठीक करें।
अपने सोर्स-कोड प्रबंधन की सुरक्षा स्थिति को मजबूत करें!
अपने सभी GitHub और GitLab संपत्तियों में गलत कॉन्फ़िगरेशन, सुरक्षा और अनुपालन मुद्दों का पता लगाएं और उन्हें ठीक करें 🔥
Legit Security द्वारा।
Legit Security एक एप्लिकेशन सुरक्षा मुद्रा प्रबंधन (ASPM) और सॉफ़्टवेयर आपूर्ति श्रृंखला सुरक्षा समाधान है। अधिक जानकारी के लिए देखें।
स्थापना कई तरीकों से संभव है:
brew install legitify
आप https://github.com/Legit-Labs/legitify/releases से नवीनतम legitify रिलीज़ डाउनलोड कर सकते हैं, प्रत्येक संग्रह में शामिल है:
निम्नलिखित चरणों के साथ स्रोत से:
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
आप legitify कस्टम GitHub क्रियाओं के साथ एक CI प्रक्रिया के भाग के रूप में legitify चला सकते हैं:
name: Legitify Analyze
on:
workflow_dispatch:
schedule:
- cron: '0 11 * * 1-5'
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Legitify Action
uses: Legit-Labs/legitify@main
with:
github_token: ${{ secrets.PAT_FOR_LEGITIFY }}
ignore-policies: |
non_admins_can_create_public_repositories
requires_status_checks
अतिरिक्त पैरामीटर और कॉन्फ़िगरेशन के लिए क्रिया फ़ाइल देखें।
legitify के उपयोगकर्ताओं की सॉफ़्टवेयर आपूर्ति श्रृंखला सुरक्षा बढ़ाने के लिए, v0.1.6 के अनुसार, प्रत्येक legitify रिलीज़ में एक SLSA स्तर 3 प्रमाणिकता दस्तावेज़ शामिल है।
प्रमाणिकता दस्तावेज़ रिलीज़ में सभी आर्टिफैक्ट्स के साथ-साथ उत्पन्न डॉकर इमेज को भी संदर्भित करता है।
आप प्रमाणिकता सत्यापित करने के लिए SLSA फ्रेमवर्क के आधिकारिक सत्यापक का उपयोग कर सकते हैं।
v0.1.6 रिलीज़ के लिए darwin_arm64 आर्किटेक्चर के लिए उपयोग का उदाहरण:
VERSION=0.1.6
ARCH=darwin_arm64
./slsa-verifier verify-artifact --source-branch main --builder-id 'https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.2.2' --source-uri "git+https://github.com/Legit-Labs/legitify" --provenance-path multiple.intoto.jsonl ./legitify_${VERSION}_${ARCH}.tar.gz
SCM_TOKEN=<आपका_टोकन> legitify analyze
डिफ़ॉल्ट रूप से, legitify आपके सभी संसाधनों (संगठनों, रिपॉजिटरी, सदस्यों, क्रियाओं) के विरुद्ध नीतियों की जाँच करेगा। संग्रहित रिपॉजिटरी को छोड़ दिया जाता है।
आप कमांड-लाइन फ़्लैग namespace और org के साथ यह नियंत्रित कर सकते हैं कि किन संसाधनों का विश्लेषण किया जाएगा:
--namespace (-n): निर्दिष्ट संसाधनों से संबंधित नीतियों का विश्लेषण करेगा--org: विश्लेषण को निर्दिष्ट GitHub संगठनों या GitLab समूह तक सीमित करेगा, संग्रहित रिपॉजिटरी को छोड़कर--repo: विश्लेषण को निर्दिष्ट GitHub रिपॉजिटरी या GitLab प्रोजेक्ट तक सीमित करेगा--scm: स्रोत कोड प्रबंधन प्लेटफ़ॉर्म निर्दिष्ट करें। संभावित मान: github या gitlab। डिफ़ॉल्ट github है। कृपया ध्यान दें: GitLab पर चलाते समय, --scm gitlab आवश्यक है।--enterprise: निर्दिष्ट करेगा कि किन उद्यमों का विश्लेषण किया जाना चाहिए। कृपया ध्यान दें: एक उद्यम का विश्लेषण करने के लिए, एक उद्यम स्लग प्रदान किया जाना चाहिए।SCM_TOKEN=<आपका_टोकन> legitify analyze --org org1,org2 --namespace organization,member
उपरोक्त कमांड org1 और org2 के विरुद्ध संगठन और सदस्य नीतियों का परीक्षण करेगा।
SCM_TOKEN=<आपका_टोकन> OPENAI_TOKEN=<टोकन> ./legitify gpt-analysis --repo org1/repo1 --org org1
प्रदान की गई रिपॉजिटरी या संगठन की सुरक्षा स्थिति का GPT-3 आधारित विश्लेषण।
नोट: रिपॉजिटरी/संगठन मेटाडेटा openai सर्वर पर भेजा जाता है।
फ़्लैग:
--org: विश्लेषण को निर्दिष्ट GitHub संगठनों या GitLab समूह तक सीमित करेगा--repo: विश्लेषण को निर्दिष्ट GitHub रिपॉजिटरी या GitLab प्रोजेक्ट तक सीमित करेगा--scm: स्रोत कोड प्रबंधन प्लेटफ़ॉर्म निर्दिष्ट करें। संभावित मान: github या gitlab। डिफ़ॉल्ट github है।--token: SCM के लिए टोकन (या SCM_TOKEN पर्यावरण चर सेट करें)--openai-token: openai API के लिए टोकन (या OPENAI_TOKEN पर्यावरण चर सेट करें)--org या --repo या दोनों प्रदान करना अनिवार्य है।
openai टोकन उत्पन्न करना:
आप अपने वर्कफ़्लो में legitify को GitHub क्रिया के रूप में भी चला सकते हैं, ठोस उदाहरणों के लिए action_examples निर्देशिका देखें।
-t) के रूप में या एक पर्यावरण चर (SCM_TOKEN) के रूप में प्रदान किया जा सकता है।
पूर्ण विश्लेषण के लिए PAT को निम्नलिखित स्कोप की आवश्यकता है:admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
अधिक जानकारी के लिए पर्सनल एक्सेस टोकन बनाना देखें।
फ़ाइन-ग्रेन्ड पर्सनल एक्सेस टोकन वर्तमान में समर्थित नहीं हैं।
यदि आप SERVER_URL पर्यावरण चर में एंडपॉइंट URL सेट करते हैं, तो आप GitHub एंटरप्राइज़ सर्वर इंस्टेंस के विरुद्ध legitify चला सकते हैं:
export SERVER_URL="https://github.example.com/"
SCM_TOKEN=<आपका_टोकन> legitify analyze --org org1,org2 --namespace organization,member
-t) के रूप में या एक पर्यावरण चर (SCM_TOKEN) के रूप में प्रदान किया जा सकता है।
पूर्ण विश्लेषण के लिए PAT को निम्नलिखित स्कोप की आवश्यकता है:
read_api, read_user, read_repository, read_registry
अधिक जानकारी के लिए पर्सनल एक्सेस टोकन बनाना देखें।--scm gitlab; GitLab सर्वर के विरुद्ध चलाने के लिए आपको SERVER_URL भी प्रदान करना होगा:export SERVER_URL="https://gitlab.example.com/"
SCM_TOKEN=<आपका_टोकन> legitify analyze --namespace organization --scm gitlab
नोट 1: अमान्य सर्वर प्रमाणपत्र को अनदेखा करने के लिए, कृपया
ignore-invalid-certificateफ़्लैग पास करें
नोट 2: गैर-प्रीमियम GitLab खातों के लिए कुछ नीतियाँ (जैसे शाखा सुरक्षा नीतियाँ) छोड़ दी जाएंगी
legitify में नेमस्पेस वे संसाधन हैं जो एकत्र किए जाते हैं और नीतियों के विरुद्ध चलाए जाते हैं। वर्तमान में, निम्नलिखित नेमस्पेस समर्थित हैं:
organization - GitHub संगठन (या GitLab समूह) स्तर की नीतियाँ (जैसे, "संगठन के लिए दो-कारक प्रमाणीकरण लागू नहीं है")actions - संगठन GitHub क्रियाएँ नीतियाँ (जैसे, "GitHub क्रियाएँ सत्यापित क्रियाओं तक सीमित नहीं हैं")member - योगदानकर्ता स्तर की नीतियाँ (जैसे, "स्टेल प्रशासक मिला")repository - GitHub रिपॉजिटरी (या GitLab प्रोजेक्ट) स्तर की नीतियाँ (जैसे, "कम से कम दो समीक्षकों द्वारा कोड समीक्षा लागू नहीं है")। नोट: संग्रहित रिपॉजिटरी को अनदेखा किया जाता है जब तक कि --repo तर्क के माध्यम से सीधे निर्दिष्ट न किया जाए।runner_group - धावक समूह नीतियाँ (जैसे, "धावक का उपयोग सार्वजनिक रिपॉजिटरी द्वारा किया जा सकता है")डिफ़ॉल्ट रूप से, legitify सभी नेमस्पेस का विश्लेषण करेगा। आप --namespace फ़्लैग के साथ केवल चयनित नेमस्पेस तक सीमित कर सकते हैं, और फिर चयनित नेमस्पेस की अल्पविराम से अलग की गई सूची।
डिफ़ॉल्ट रूप से, legitify परिणामों को मानव-पठनीय प्रारूप में आउटपुट करेगा। इसमें गंभीरता के अनुसार सूचीबद्ध नीति उल्लंघनों की सूची शामिल है, साथ ही एक सारांश तालिका जो नेमस्पेस के अनुसार क्रमबद्ध है।
--output-format (-f) फ़्लैग का उपयोग करके, legitify निम्नलिखित प्रारूपों में परिणाम आउटपुट करने का समर्थन करता है:
human-readable - मानव-पठनीय पाठ (डिफ़ॉल्ट)।json - मानक JSON।sarif - SARIF प्रारूप (जानकारी).--output-scheme फ़्लैग का उपयोग करके, legitify विभिन्न समूहीकरण योजनाओं में परिणाम आउटपुट करने का समर्थन करता है।
नोट: गैर-डिफ़ॉल्ट योजनाओं को आउटपुट करने के लिए --output-format=json निर्दिष्ट होना चाहिए।
flattened - कोई समूहीकरण नहीं; प्रत्येक नीति की सपाट सूची, उनके उल्लंघनों के साथ (डिफ़ॉल्ट)।group-by-namespace - नीतियों को उनके नेमस्पेस के अनुसार समूहित करें।group-by-resource - नीतियों को उनके संसाधन के अनुसार समूहित करें, जैसे विशिष्ट संगठन/रिपॉजिटरी।group-by-severity - नीतियों को उनकी गंभीरता के अनुसार समूहित करें।--output-file - आउटपुट फ़ाइल का पूर्ण पथ (डिफ़ॉल्ट: कोई आउटपुट फ़ाइल नहीं, stdout पर प्रिंट)।--error-file - त्रुटि लॉग का पूर्ण पथ (डिफ़ॉल्ट: ./error.log)।मानव-पठनीय प्रारूप में आउटपुट करते समय, legitify पारंपरिक --color[=when] फ़्लैग का समर्थन करता है, जिसमें निम्नलिखित विकल्प हैं:
auto - यदि stdout एक टर्मिनल है तो रंगीन आउटपुट, अन्यथा बिना रंग का (डिफ़ॉल्ट)।always - आउटपुट गंतव्य की परवाह किए बिना रंगीन आउटपुट।none - आउटपुट गंतव्य की परवाह किए बिना बिना रंग का आउटपुट।--failed-only फ़्लैग का उपयोग करें।--ignore-policies-path $PATH का उपयोग करें और जिन नीतियों को आप अनदेखा करना चाहते हैं, उनके साथ एक फ़ाइल प्रदान करें।
प्रति पंक्ति एक नीति, उदा.
no_conversation_resolution requires_status_checks ─╯Scorecard OSSF का एक ओपन-सोर्स प्रोजेक्ट है:
Scorecards एक स्वचालित उपकरण है जो सॉफ़्टवेयर सुरक्षा से जुड़े कई महत्वपूर्ण अनुमानों ("चेक") का मूल्यांकन करता है और प्रत्येक चेक को 0-10 का स्कोर प्रदान करता है। आप इन स्कोर का उपयोग अपने प्रोजेक्ट की सुरक्षा स्थिति को मजबूत करने के लिए सुधार के विशिष्ट क्षेत्रों को समझने के लिए कर सकते हैं। आप निर्भरताओं द्वारा उत्पन्न जोखिमों का आकलन भी कर सकते हैं, और इन जोखिमों को स्वीकार करने, वैकल्पिक समाधानों का मूल्यांकन करने, या सुधार करने के लिए अनुरक्षकों के साथ काम करने के बारे में सूचित निर्णय ले सकते हैं।
legitify --scorecard फ़्लैग का उपयोग करके संगठन की सभी रिपॉजिटरी के लिए स्कोरकार्ड चलाने, स्कोर नीतियों को लागू करने और परिणाम दिखाने का समर्थन करता है:
no - स्कोरकार्ड न चलाएं (डिफ़ॉल्ट)।yes - स्कोरकार्ड चलाएं और एक ऐसी नीति लागू करें जो 7.0 से नीचे प्रत्येक रिपो स्कोर पर सतर्क करती है।verbose - स्कोरकार्ड चलाएं, एक ऐसी नीति लागू करें जो 7.0 से नीचे प्रत्येक रिपो स्कोर पर सतर्क करती है, और इसके आउटपुट को legitify के आउटपुट में एम्बेड करें।legitify निम्नलिखित स्कोरकार्ड चेक चलाता है:
| चेक | सार्वजनिक रिपॉजिटरी | निजी रिपॉजिटरी |
|---|---|---|
| Security-Policy | V | |
| CII-Best-Practices | V | |
| Fuzzing | V | |
| License | V | |
| Signed-Releases | V | |
| Branch-Protection | V | V |
| Code-Review | V | V |
| Contributors | V | V |
| Dangerous-Workflow | V | V |
| Dependency-Update-Tool | V | V |
| Maintained | V | V |
| Pinned-Dependencies | V | V |
| SAST | V | V |
| Token-Permissions | V | V |
| Vulnerabilities | V | V |
| Webhooks | V | V |
legitify प्रत्येक SCM के लिए policies/ निर्देशिका में नीतियों का एक सेट लेकर आता है।
ये नीतियाँ यहाँ प्रलेखित हैं।
Legitify में योगदान पर विचार करने के लिए धन्यवाद! हम किसी भी प्रकार के योगदान को प्रोत्साहित और सराहना करते हैं। आरंभ करने में आपकी सहायता के लिए यहां कुछ संसाधन दिए गए हैं:
यदि आपके पास legitify के बारे में प्रश्न हैं या इसके संचालन में किसी सहायता की आवश्यकता है, तो संपर्क करने में संकोच न करें। हमारी टीम सहायता प्रदान करने और एक सहज अनुभव सुनिश्चित करने के लिए प्रतिबद्ध है।
यदि आपको Legitify पसंद आया, तो आप Legit सुरक्षा प्लेटफ़ॉर्म को और भी अधिक पसंद करेंगे!
नीचे Legitify और Legit के बीच एक तुलना है:
| क्षमता | Legitify | Legit सुरक्षा प्लेटफ़ॉर्म |
|---|---|---|
| समर्थित प्लेटफ़ॉर्म | GitHub GitLab | सभी प्रमुख SCM (Azure DevOps, Bitbucket और अधिक सहित) CI/CD सिस्टम (जैसे Jenkins) पैकेज रजिस्ट्री (जैसे JFrog Artifactory) क्लाउड प्रदाता (जैसे AWS) |
| जोखिम का पता लगाना | केवल SCM मिसकॉन्फ़िगरेशन | SCM मिसकॉन्फ़िगरेशन CI मिसकॉन्फ़िगरेशन CD मिसकॉन्फ़िगरेशन पैकेज रजिस्ट्री मिसकॉन्फ़िगरेशन पाइपलाइन जोखिम रहस्य IaC सुरक्षा घटनाएँ और अधिक... |
| अनुपालन रिपोर्ट | OSSF SCM सर्वोत्तम अभ्यास | SSDF SLSA SOC2 ISO 27001 FedRAMP और अधिक... |
| नीति बहाव का पता लगाना | Legitify के GitHub क्रिया के माध्यम से समय-समय पर पता लगाया जा सकता है | जब कोई मिसकॉन्फ़िगरेशन पेश किया जाता है तो रीयल-टाइम अलर्ट प्राप्त करें |
| SDLC संपत्ति प्रबंधन | - | हाँ |
| मुद्दा और नीति प्रबंधन | - | हाँ |
| कोड से क्लाउड संदर्भ | - | हाँ (संदर्भित जानकारी बेहतर प्राथमिकता सक्षम बनाती है) |
| कार्यस्थान और उत्पाद समूह | - | हाँ |
| टिकटिंग और अलर्टिंग | - | Jira, Slack, और अधिक |
| जोखिम अंतर्ग्रहण | - | SAST, SCA और अन्य परीक्षण समाधानों के साथ आयात API और एकीकरण |
| REST API | - | हाँ |
Legit की जाँच करने के लिए, हमारी वेबसाइट पर जाएँ या सीधे डेमो बुक करें