
सॉफ़्टवेयर आपूर्ति श्रृंखला सुरक्षा मंच
 [](https://github.com/mindersec/minder/actions/workflows/main.yml) | [](https://coveralls.io/github/mindersec/minder?branch=main) | [](https://opensource.org/licenses/Apache-2.0) | [](https://slsa.dev) | [](https://discord.gg/RkzVuTp3WK) | [](https://securityscorecards.dev/viewer/?uri=github.com/mindersec/minder) --- [स्थापना](https://mindersec.github.io/getting_started/install_cli) | [दस्तावेज़ीकरण](https://mindersec.github.io/) | [रिलीज़](https://github.com/mindersec/minder/releases) --- # Minder क्या है? Minder एक ओपन सोर्स प्लेटफ़ॉर्म है जो डेवलपमेंट टीमों और ओपन सोर्स समुदायों को अधिक सुरक्षित सॉफ़्टवेयर बनाने और दूसरों को यह साबित करने में मदद करता है कि उन्होंने जो बनाया है वह सुरक्षित है। Minder प्रोजेक्ट मालिकों को उनकी सुरक्षा स्थिति को सक्रिय रूप से प्रबंधित करने में मदद करता है, जाँचों और नीतियों का एक सेट प्रदान करके जो सॉफ़्टवेयर आपूर्ति श्रृंखला में जोखिम को कम करते हैं, और डाउनस्ट्रीम उपभोक्ताओं को उनकी सुरक्षा प्रथाओं का प्रमाण देते हैं। Minder उपयोगकर्ताओं को रिपॉजिटरी को नामांकित करने और नीति परिभाषित करने की अनुमति देता है ताकि यह सुनिश्चित किया जा सके कि रिपॉजिटरी और आर्टिफैक्ट लगातार और सुरक्षित रूप से कॉन्फ़िगर किए गए हैं। नीतियों को केवल सतर्क करने या स्वचालित रूप से सुधारने के लिए सेट किया जा सकता है। Minder नियमों का एक पूर्वनिर्धारित सेट प्रदान करता है और कस्टम नियम लागू करने के लिए भी कॉन्फ़िगर किया जा सकता है। Minder को Helm चार्ट के रूप में तैनात किया जा सकता है और एक CLI टूल `minder` प्रदान करता है। Custcodian [Minder का एक मुफ्त-उपयोग होस्टेड संस्करण](#public-instance) भी प्रदान करता है। Minder को एक्सटेंसिबल बनाया गया है, जो उपयोगकर्ताओं को अपने मौजूदा टूलिंग और प्रक्रियाओं के साथ एकीकृत करने की अनुमति देता है। ## विशेषताएँ * **रिपॉजिटरी कॉन्फ़िगरेशन और सुरक्षा:** कई रिपॉजिटरी में सुरक्षा सेटिंग्स और नीतियों के कॉन्फ़िगरेशन और प्रबंधन को सरल बनाएँ। * **सक्रिय सुरक्षा प्रवर्तन:** केवल सतर्क करने या स्वचालित रूप से सुधारने के लिए दानेदार नीतियाँ निर्धारित करके सर्वोत्तम प्रथाओं के सुरक्षा कॉन्फ़िगरेशन को लगातार लागू करें। * **आर्टिफैक्ट प्रमाणीकरण:** लगातार सत्यापित करें कि पैकेजों पर हस्ताक्षर किए गए हैं ताकि यह सुनिश्चित हो सके कि वे ओपन सोर्स प्रोजेक्ट Sigstore का उपयोग करके छेड़छाड़-रहित हैं। * **निर्भरता प्रबंधन:** डेवलपर्स को बेहतर विकल्प बनाने और नियंत्रण लागू करने में मदद करके निर्भरता सुरक्षा स्थिति का प्रबंधन करें। Minder नीति-संचालित निर्भरता प्रबंधन को सक्षम करने के लिए [OSV](https://osv.dev/) के साथ एकीकृत है (और अन्य SCA API के साथ एकीकृत किया जा सकता है) जो निर्भरताओं के जोखिम स्तर पर आधारित है। ## सार्वजनिक इंस्टेंस Custcodian `api.custcodian.dev` पर [Minder का एक मुफ्त-उपयोग सार्वजनिक इंस्टेंस प्रदान करता है](https://custcodian.dev/hosted/)। रिलीज़ 0.0.89 से शुरू होने पर जब आप `minder` CLI का उपयोग करते हैं तो यह डिफ़ॉल्ट इंस्टेंस है। यह इंस्टेंस सार्वजनिक रिपॉजिटरी के लिए उपयोग करने के लिए मुफ्त है; निजी रिपॉजिटरी के लिए, इस क्लाउड-होस्टेड इंस्टेंस का उपयोग करने के लिए अतिरिक्त शुल्क लग सकता है। --- # शुरू करना (< 1 मिनट) Minder के साथ शुरू करने और चलाने में एक मिनट से भी कम समय लगता है और यह उतना ही आसान है: 1. Minder स्थापित करना 2. Minder में लॉग इन करना 3. और अपनी पहली प्रोफ़ाइल बनाने के लिए `minder quickstart` चलाना। बस कुछ ही सेकंड में, आप अपनी रिपॉजिटरी को पंजीकृत करेंगे और उन सभी के लिए गुप्त स्कैनिंग सुरक्षा सक्षम करेंगे! 🤯 <img src="https://assets.kitploit.com/production/public/readmes/6978/3ab7c597c1892aa6a64314bb4c0b065694936c8ca64ccc5cd453609ff8a54bbc.gif" width="80%"/> ## स्थापना `minder` स्थापित करने के लिए अपनी पसंदीदा विधि चुनें: ### macOS (Homebrew) सुनिश्चित करें कि आपके पास [Homebrew](https://brew.sh/) स्थापित है। ```bash brew install minder ``` ### Windows (Winget) सुनिश्चित करें कि आपके पास [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/) स्थापित है। ```bash winget install mindersec.minder ``` ### रिलीज़ डाउनलोड करें नवीनतम रिलीज़ [minder/releases](https://github.com/mindersec/minder/releases) से डाउनलोड करें। ### स्रोत से बनाएं `minder` और `minder-server` को [स्रोत से बनाने की मार्गदर्शिका](#build-from-source) का पालन करके स्रोत से बनाएँ। ## Minder में लॉग इन करना `minder` को Minder के [सार्वजनिक इंस्टेंस](#public-instance) (`api.custcodian.dev`) के साथ उपयोग करने के लिए, चलाकर लॉग इन करें: ```bash minder auth login --grpc-host api.custcodian.dev ``` (यह API होस्ट 0.0.89 रिलीज़ से शुरू होने वाला डिफ़ॉल्ट है।) पूरा होने पर, आपको देखना चाहिए कि Minder सर्वर `api.custcodian.dev` पर सेट है। ## Minder क्विकस्टार्ट चलाएं `quickstart` कमांड आपको Minder में अपनी पहली प्रोफ़ाइल बनाने, अपनी रिपॉजिटरी को पंजीकृत करने और सेकंडों में आपकी रिपॉजिटरी के लिए गुप्त स्कैनिंग सुरक्षा सक्षम करने के माध्यम से मार्गदर्शन करता है। ऐसा करने के लिए, चलाएँ: ```bash minder quickstart ``` यह आपको अपने प्रदाता को नामांकित करने, अपनी पसंद की रिपॉजिटरी चुनने, `secret_scanning` नियम प्रकार बनाने और एक प्रोफ़ाइल बनाने के लिए प्रेरित करेगा जो चयनित रिपॉजिटरी के लिए गुप्त स्कैनिंग सक्षम करता है। अपनी प्रोफ़ाइल की स्थिति देखने के लिए, चलाएँ: ```bash minder profile status list --profile quickstart-profile --detailed ``` आपको समग्र प्रोफ़ाइल स्थिति और आपकी प्रत्येक पंजीकृत रिपॉजिटरी के लिए नियम मूल्यांकन स्थितियों का विस्तृत दृश्य देखना चाहिए। Minder आपकी रिपॉजिटरी पर नज़र रखता रहेगा और `remediate` सुविधा का उपयोग करके वांछित स्थिति से किसी भी विचलन को ठीक करना सुनिश्चित करेगा या यदि आवश्यक हो तो `alert` सुविधा का उपयोग करके आपको सचेत करेगा। बधाई हो! 🎉 अब आपने अपनी पहली प्रोफ़ाइल सफलतापूर्वक बना ली है! ## आगे क्या? अब आप अधिक रिपॉजिटरी जोड़कर या हटाकर, विभिन्न नियमों के साथ अधिक प्रोफ़ाइल बनाकर और बहुत कुछ करके Minder की सुविधाओं का पता लगाना जारी रख सकते हैं। Minder में केवल गुप्त स्कैनिंग से कहीं अधिक है। `secret_scanning` नियम Minder द्वारा समर्थित कई नियम प्रकारों में से एक है। आप Minder की टीम द्वारा बनाए रखे गए उपयोग-के-लिए-तैयार नियमों और प्रोफ़ाइलों की पूरी सूची यहाँ देख सकते हैं - [mindersec/minder-rules-and-profiles](https://github.com/mindersec/minder-rules-and-profiles)। यदि आपको वहाँ अभी तक कुछ नहीं मिलता है, तो Minder को एक्सटेंसिबल बनाया गया है। यह उपयोगकर्ताओं को अपने स्वयं के कस्टम नियम प्रकार और प्रोफ़ाइल बनाने और यह सुनिश्चित करने की अनुमति देता है कि उनकी सुरक्षा स्थिति के विवरण प्रमाणित हैं। अब जब आपने सब कुछ सेट कर लिया है, तो आप Minder के सार्वजनिक इंस्टेंस के विरुद्ध `minder` कमांड चलाना जारी रख सकते हैं जहाँ आप अपनी पंजीकृत रिपॉजिटरी का प्रबंधन कर सकते हैं, प्रोफ़ाइल, नियम और बहुत कुछ बना सकते हैं, ताकि आप सुनिश्चित कर सकें कि आपकी रिपॉजिटरी लगातार और सुरक्षित रूप से कॉन्फ़िगर की गई हैं। `minder` के बारे में अधिक जानकारी के लिए, देखें: * `minder` CLI कमांड - [दस्तावेज़](https://mindersec.github.io/ref/cli/minder)। * `minder` REST API दस्तावेज़ीकरण - [दस्तावेज़](https://mindersec.github.io/ref/api)। * Minder की टीम द्वारा बनाए रखे गए `minder` नियम और प्रोफ़ाइल - [GitHub](https://github.com/mindersec/minder-rules-and-profiles)। * Minder दस्तावेज़ीकरण - [दस्तावेज़](https://mindersec.github.io/). # रोडमैप Minder समुदाय Minder के लिए सक्रिय रूप से नई सुविधाओं और सुधारों पर काम कर रहा है। आप हमारा रोडमैप [यहाँ](https://mindersec.github.io/about/roadmap) पा सकते हैं। यदि आप कोई सुविधा या सुधार अनुरोध या योगदान करना चाहते हैं, तो कृपया निम्नलिखित [इश्यू टेम्पलेट](https://github.com/mindersec/minder/issues/new?template=enhancement.yml) का उपयोग करें। # विकास यह अनुभाग बताता है कि Minder को स्रोत से कैसे बनाएँ और चलाएँ। ## स्रोत से बनाएं ### पूर्वापेक्षाएँ आपको निम्नलिखित टूल उपलब्ध होने चाहिए - [Go](https://golang.org/doc/install), [Docker](https://docs.docker.com/get-docker/) और [Docker Compose](https://docs.docker.com/compose/install/)। `minder-server` बनाने और चलाने के लिए, आपको [ko](https://ko.build/install/) की भी आवश्यकता होगी। `make test` के माध्यम से परीक्षण सूट चलाने के लिए, आपको [gotestfmt](https://github.com/GoTestTools/gotestfmt#installing) और [helm](https://github.com/helm/helm/releases) की आवश्यकता होगी। `run-docker` make लक्ष्य को लागू करने के लिए, आपको [yq](https://github.com/mikefarah/yq) की आवश्यकता होगी। ### रिपॉजिटरी क्लोन करें ```bash git clone [email protected]:mindersec/minder.git ``` ## निर्माण `minder` और `minder-server` बनाने के लिए निम्नलिखित चलाएँ (बाइनरी `./bin/` पर मौजूद होंगे): ```bash make build ``` `minder` को Minder के सार्वजनिक इंस्टेंस (`api.custcodian.dev`) के साथ उपयोग करने के लिए, चलाएँ: ```bash minder auth login --grpc-host api.custcodian.dev ``` पूरा होने पर, आपको देखना चाहिए कि Minder सर्वर `api.custcodian.dev` पर सेट है। यदि आप `minder` को स्थानीय `minder-server` इंस्टेंस के विरुद्ध चलाना चाहते हैं, तो आप `--grpc-host=localhost` और `--grpc-port=8090` फ़्लैग का उपयोग कर सकते हैं, या नीचे दिए गए चरणों का पालन करते हुए एक कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं। #### प्रारंभिक कॉन्फ़िगरेशन `minder` के लिए प्रारंभिक कॉन्फ़िगरेशन फ़ाइल बनाएँ। आप ऐसा करके कर सकते हैं: ```bash cp config/config.yaml.example config.yaml ``` `minder-server` के लिए प्रारंभिक कॉन्फ़िगरेशन फ़ाइल बनाएँ। आप ऐसा करके कर सकते हैं: ```bash cp config/server-config.yaml.example server-config.yaml ``` आपको `minder-server` के उपयोग के लिए एक OAuth2 एप्लिकेशन भी सेट अप करना होगा। पूरा होने पर, कॉन्फ़िगरेशन फ़ाइल को उपयुक्त मानों के साथ अपडेट करें। यह कैसे करें, इस पर दस्तावेज़ देखें - [दस्तावेज़](https://mindersec.github.io/run_minder_server/config_oauth)। #### `minder-server` चलाएं `minder-server` को उसके आश्रित सेवाओं (`keycloak` और `postgres`) के साथ चलाकर प्रारंभ करें: ```bash make run-docker ``` #### सोशल लॉगिन कॉन्फ़िगर करें (GitHub) `minder-server` एक IAM के रूप में Keycloak का उपयोग करता है। लॉग इन करने के लिए, आपको एक GitHub OAuth2 एप्लिकेशन सेट अप करना होगा और Keycloak को इसका उपयोग करने के लिए कॉन्फ़िगर करना होगा। GitHub के लिए एक OAuth2 एप्लिकेशन [यहाँ](https://github.com/settings/developers) बनाएँ। `New OAuth App` चुनें और विवरण भरें। कॉलबैक URL `http://localhost:8081/realms/stacklok/broker/github/endpoint` होना चाहिए। अपने OAuth2 क्लाइंट के लिए एक नया क्लाइंट सीक्रेट बनाएँ। ऊपर बनाए गए `client_id` और `client_secret` का उपयोग करके, निम्नलिखित कमांड चलाकर Keycloak पर GitHub लॉगिन सक्षम करें: ```bash make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login ``` #### `minder` चलाएं सुनिश्चित करें कि `config.yaml` फ़ाइल वर्तमान निर्देशिका में मौजूद है ताकि `minder` इसका उपयोग कर सके। `minder` को Minder के अपने स्थानीय इंस्टेंस (`localhost:8090`) के विरुद्ध चलाएँ: ```bash minder auth login ``` पूरा होने पर, आपको देखना चाहिए कि Minder सर्वर `localhost:8090` पर सेट है। डिफ़ॉल्ट रूप से, `minder` CLI Custcodian क्लाउड वातावरण की ओर इशारा करेगा यदि कोई कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, लेकिन [सर्वर चलाने के लिए `config.yaml` बनाना](#initial-configuration) CLI को आपके स्थानीय विकास वातावरण की ओर इशारा करेगा। यदि आप स्पष्ट रूप से एक अलग इंस्टेंस का उपयोग करना चाहते हैं, तो आप एक विशेष कॉन्फ़िगरेशन की ओर इशारा करने के लिए `MINDER_CONFIG` पर्यावरण चर सेट कर सकते हैं। हमारे पास [`config` निर्देशिका](https://github.com/mindersec/minder/blob/main/config) में स्थानीय विकास और Custcodian क्लाउड वातावरण के लिए कॉन्फ़िगरेशन चेक इन किए गए हैं। ### विकास दिशानिर्देश आप विकास प्रक्रिया के बारे में अधिक विस्तृत जानकारी [डेवलपर गाइड](https://mindersec.github.io/developer_guide/get-hacking) में पा सकते हैं। ## Minder API * [REST API दस्तावेज़ीकरण](https://docs.mindersec.dev/ref/api) * [Proto API दस्तावेज़ीकरण](https://docs.mindersec.dev/ref/proto) * [Protobuf](https://github.com/mindersec/minder/blob/main/proto/minder/v1/minder.proto) * [OpenAPI/swagger स्पेक (JSON)](https://github.com/mindersec/minder/blob/main/pkg/api/openapi/minder/v1/minder.swagger.json) ## योगदान हम Minder में योगदान का स्वागत करते हैं। कृपया अधिक जानकारी के लिए हमारा [योगदान](https://github.com/mindersec/minder/blob/main/CONTRIBUTING.md) गाइड देखें। * Minder समुदाय नियमित रूप से मिलता है। आप [OpenSSF सामुदायिक कैलेंडर](https://calendar.google.com/calendar/u/0?cid=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ) पर बैठक का कार्यक्रम पा सकते हैं। * परियोजना का चार्टर और शासन दस्तावेज़ [mindersec/community](https://github.com/mindersec/community) रिपॉजिटरी में बनाए रखा जाता है। ## प्रमाण-पत्र Minder परियोजना सॉफ़्टवेयर आपूर्ति श्रृंखला सुरक्षा और पारदर्शिता के लिए सर्वोत्तम प्रथाओं का पालन करती है। सभी जारी संपत्तियाँ: * एक उत्पन्न और सत्यापन योग्य SLSA बिल्ड स्तर 3 प्रमाण-पत्र रखती हैं। अधिक जानकारी के लिए, [SLSA वेबसाइट](https://slsa.dev) देखें। * [Sigstore](https://sigstore.dev) परियोजना का उपयोग करके रिलीज़ के दौरान हस्ताक्षरित और सत्यापित किया गया है। यह सुनिश्चित करता है कि वे छेड़छाड़-रहित हैं और किसी के द्वारा सत्यापित किए जा सकते हैं। * रिलीज़ के साथ एक SBOM संग्रह उत्पन्न और प्रकाशित किया गया है। यह उपयोगकर्ताओं को परियोजना की निर्भरताओं और उनकी सुरक्षा स्थिति को समझने की अनुमति देता है। ## लाइसेंस Minder [Apache 2.0 लाइसेंस](https://github.com/mindersec/minder/blob/main/LICENSE) के तहत लाइसेंस प्राप्त है।