Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
allstar — सुरक्षा नीतियों को सेट और लागू करने के लिए GitHub ऐप | Kitploit
उपकरण/GitHubGitHub/ossf/allstar
रक्षात्मक उपकरणकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षाDevSecOpsआपूर्ति श्रृंखला सुरक्षा
GitHubossf/allstar

allstar

सुरक्षा नीतियों को सेट और लागू करने के लिए GitHub ऐप

रिपॉजिटरी देखें
1.4k1470 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

OpenSSF Scorecard

Allstar

अवलोकन

  • Allstar क्या है?

Allstar के साथ नया क्या है

  • whats-new.md

अवांछित समस्याओं को अक्षम करना

  • मदद! मुझे Allstar द्वारा बनाई गई समस्याएं मिल रही हैं और मैं उन्हें नहीं चाहता!

आरंभ करना

  • पृष्ठभूमि
  • संगठन-स्तरीय विकल्प
  • स्थापना विकल्प
    • सार्वजनिक Allstar ऐप का उपयोग करना
      • त्वरित आरंभ स्थापना
      • मैन्युअल स्थापना
    • Allstar की स्व-होस्टिंग
      • Allstar को GitHub Action के रूप में चलाना
      • Allstar को सेवा डेमॉन के रूप में चलाना

नीतियां और कार्रवाइयां

  • कार्रवाइयां
  • नीतियां

उन्नत

  • कॉन्फ़िगरेशन परिभाषाएं
  • उदाहरण कॉन्फ़िगरेशन
  • Allstar का अपना उदाहरण चलाएं

योगदान दें

  • योगदान देना


अवलोकन

Allstar क्या है?

Allstar एक GitHub ऐप है जो सुरक्षा सर्वोत्तम प्रथाओं के पालन के लिए GitHub संगठनों या रिपॉजिटरी की लगातार निगरानी करता है। यदि Allstar किसी सुरक्षा नीति उल्लंघन का पता लगाता है, तो यह रिपॉजिटरी या संगठन मालिक को सचेत करने के लिए एक मुद्दा बनाता है। कुछ सुरक्षा नीतियों के लिए, Allstar स्वचालित रूप से उस प्रोजेक्ट सेटिंग को भी बदल सकता है जिसने उल्लंघन किया है, इसे अपेक्षित स्थिति में वापस लाता है।

Allstar का लक्ष्य आपको आपके प्रोजेक्ट्स की सुरक्षा को प्रभावित करने वाली फ़ाइलों और सेटिंग्स पर बारीक नियंत्रण देना है। आप चुन सकते हैं कि संगठन और रिपॉजिटरी दोनों स्तरों पर किन सुरक्षा नीतियों की निगरानी करनी है, और नीति उल्लंघनों को कैसे संभालना है। आप नई नीतियां भी विकसित या योगदान कर सकते हैं।

Allstar को OpenSSF Scorecard परियोजना के भाग के रूप में विकसित किया गया है।

Allstar के साथ नया क्या है

अवांछित समस्याओं को अक्षम करना

यदि आपको Allstar द्वारा अवांछित मुद्दे बनाए जा रहे हैं, तो ऑप्ट-आउट करने के लिए इन निर्देशों का पालन करें।

आरंभ करना

पृष्ठभूमि

Allstar अत्यधिक कॉन्फ़िगरेबल है। नियंत्रण के तीन मुख्य स्तर हैं:

  • संगठन स्तर: संगठन प्रशासक निम्न पर Allstar सक्षम करना चुन सकते हैं:
    • संगठन में सभी रिपॉजिटरी;
    • अधिकांश रिपॉजिटरी, कुछ को छोड़कर जो ऑप्ट-आउट हैं;
    • केवल कुछ रिपॉजिटरी जो ऑप्ट-इन हैं।

ये कॉन्फ़िगरेशन संगठन के .allstar रिपॉजिटरी में किए जाते हैं।

  • रिपॉजिटरी स्तर: Allstar का उपयोग करने वाले संगठन में रिपॉजिटरी अनुरक्षक अपनी रिपॉजिटरी को संगठन-स्तरीय प्रवर्तनों में ऑप्ट-इन या ऑप्ट-आउट करना चुन सकते हैं। नोट: ये रिपॉजिटरी-स्तरीय नियंत्रण तभी कार्यात्मक होते हैं जब संगठन-स्तरीय सेटिंग्स में 'रिपॉजिटरी ओवरराइड' की अनुमति हो। ये कॉन्फ़िगरेशन रिपॉजिटरी के .allstar निर्देशिका में किए जाते हैं।

  • नीति स्तर: प्रशासक या अनुरक्षक चुन सकते हैं कि कौन सी नीतियां विशिष्ट रिपॉजिटरी पर सक्षम हैं और जब कोई नीति उल्लंघन होता है तो Allstar कौन सी कार्रवाई करता है। ये कॉन्फ़िगरेशन संगठन के .allstar रिपॉजिटरी (व्यवस्थापक) या रिपॉजिटरी के .allstar निर्देशिका (अनुरक्षक) में एक नीति yaml फ़ाइल में किए जाते हैं।

संगठन-स्तरीय विकल्प

Allstar को संगठन स्तर पर स्थापित करने से पहले, आपको लगभग यह तय कर लेना चाहिए कि आप कितनी रिपॉजिटरी पर Allstar चलाना चाहते हैं। यह आपको ऑप्ट-इन और ऑप्ट-आउट रणनीतियों के बीच चुनने में मदद करेगा।

  • ऑप्ट-इन रणनीति आपको उन रिपॉजिटरी को मैन्युअल रूप से जोड़ने की अनुमति देती है जिन पर आप Allstar चलाना चाहते हैं। यदि आप कोई रिपॉजिटरी निर्दिष्ट नहीं करते हैं, तो Allstar स्थापित होने के बावजूद नहीं चलेगा। ऑप्ट-इन रणनीति चुनें यदि आप केवल अपनी कुल रिपॉजिटरी की एक छोटी संख्या पर नीतियों को लागू करना चाहते हैं, या अधिक पर सक्षम करने से पहले एक एकल रिपॉजिटरी पर Allstar का परीक्षण करना चाहते हैं। v4.3 रिलीज़ के बाद से, समान नाम वाली कई रिपॉजिटरी को आसानी से जोड़ने के लिए ग्लॉब्स समर्थित हैं।

  • ऑप्ट-आउट रणनीति (अनुशंसित) सभी रिपॉजिटरी पर Allstar को सक्षम करती है और आपको Allstar प्रवर्तनों से बाहर निकलने के लिए रिपॉजिटरी को मैन्युअल रूप से चुनने की अनुमति देती है। आप सभी सार्वजनिक रिपॉजिटरी, या सभी निजी रिपॉजिटरी को ऑप्ट-आउट करना भी चुन सकते हैं। यह विकल्प चुनें यदि आप किसी संगठन की सभी रिपॉजिटरी पर Allstar चलाना चाहते हैं, या केवल थोड़ी संख्या में रिपॉजिटरी या विशिष्ट प्रकार (जैसे, सार्वजनिक बनाम निजी) की रिपॉजिटरी को ऑप्ट-आउट करना चाहते हैं। v4.3 रिलीज़ के बाद से, समान नाम वाली कई रिपॉजिटरी को आसानी से जोड़ने के लिए ग्लॉब्स समर्थित हैं।

स्थापना विकल्प

दोनों त्वरित आरंभ और मैन्युअल स्थापना विकल्पों में Allstar ऐप को आपके GitHub संगठन में स्थापित करना शामिल है। Allstar ऐप OpenSSF द्वारा संचालित है और अधिकांश ओपन सोर्स रिपॉजिटरी के लिए एक अच्छा विकल्प है। आप अनुरोधित अनुमतियों की समीक्षा कर सकते हैं। ऐप सुरक्षा अनुपालन का पता लगाने के लिए अधिकांश सेटिंग्स और फ़ाइल सामग्री तक पढ़ने की पहुंच मांगता है। यह मुद्दों और जांचों पर लिखने की पहुंच का अनुरोध करता है ताकि यह मुद्दे बना सके और block कार्रवाई की अनुमति दे सके।

यदि आप OpenSSF द्वारा संचालित Allstar ऐप का उपयोग नहीं करना चाहते हैं तो आप Allstar की स्व-होस्टिंग कर सकते हैं, अपना स्वयं का Allstar ऐप बना सकते हैं। यह ऐप का प्रत्यक्ष नियंत्रण प्रदान करता है जिसमें ऐप को कॉन्फ़िगर, सुरक्षित, निगरानी और बनाए रखने की आवश्यकता होती है।

Allstar ऐप का उपयोग करना

त्वरित आरंभ या मैन्युअल स्थापना अनुशंसित है जब तक कि आपके पास विशिष्ट सुरक्षा या अनुपालन बाधाएं न हों जो आपको OpenSSF प्रबंधित Allstar ऐप का उपयोग करने से रोकती हों।

त्वरित आरंभ स्थापना

यह स्थापना विकल्प आपके संगठन की सभी रिपॉजिटरी पर ऑप्ट-आउट रणनीति का उपयोग करके Allstar को सक्षम करेगा। सभी वर्तमान नीतियां सक्षम होंगी, और Allstar एक मुद्दा दर्ज करके नीति उल्लंघनों के बारे में आपको सचेत करेगा। Allstar का उपयोग शुरू करने का यह सबसे तेज़ और आसान तरीका है, और आप बाद में भी किसी भी कॉन्फ़िगरेशन को बदल सकते हैं।

प्रयास: बहुत आसान

चरण:

  1. Allstar ऐप स्थापित करें
    1. स्थापना पृष्ठ खोलें और कॉन्फ़िगर पर क्लिक करें
    2. यदि आपके पास कई संगठन हैं, तो वह चुनें जिस पर आप Allstar स्थापित करना चाहते हैं
    3. रिपॉजिटरी एक्सेस के तहत "सभी रिपॉजिटरी" चुनें, भले ही आप बाद में कुछ रिपॉजिटरी पर Allstar को अक्षम करने की योजना बना रहे हों
  2. नमूना रिपॉजिटरी को फोर्क करें
    1. नमूना रिपॉजिटरी खोलें और "इस टेम्पलेट का उपयोग करें" बटन पर क्लिक करें
    2. रिपॉजिटरी नाम के फ़ील्ड में, .allstar टाइप करें
    3. "टेम्पलेट से रिपॉजिटरी बनाएं" पर क्लिक करें

बस इतना ही! आपकी सभी रिपॉजिटरी पर सभी वर्तमान Allstar नीतियां अब सक्षम हैं। यदि कोई नीति उल्लंघन होता है तो Allstar एक मुद्दा बनाएगा।

कोई भी कॉन्फ़िगरेशन बदलने के लिए, मैन्युअल स्थापना निर्देश देखें।

मैन्युअल स्थापना

यह स्थापना विकल्प आपको ऑप्ट-इन या ऑप्ट-आउट रणनीति के अनुसार कॉन्फ़िगरेशन फ़ाइलें बनाने के माध्यम से मार्गदर्शन करेगा। यह विकल्प शुरू से ही कॉन्फ़िगरेशन पर अधिक विस्तृत नियंत्रण प्रदान करता है।

प्रयास: मध्यम

चरण:

  1. Allstar ऐप स्थापित करें (रिपॉजिटरी एक्सेस के तहत "सभी रिपॉजिटरी" चुनें, भले ही आप अपनी सभी रिपॉजिटरी पर Allstar का उपयोग करने की योजना नहीं बना रहे हों)
  2. संगठन-स्तरीय या रिपॉजिटरी-स्तरीय Allstar कॉन्फ़िगरेशन फ़ाइलें और व्यक्तिगत नीति फ़ाइलें बनाने के लिए मैन्युअल स्थापना निर्देश का पालन करें।

Allstar की स्व-होस्टिंग

केवल तभी स्व-होस्ट करें जब आपको करना ही हो! Allstar ऐप को कॉन्फ़िगरेशन, सुरक्षा और निरंतर रखरखाव की आवश्यकता होती है। जब कोई नया Allstar संस्करण जारी होता है तो आपको अपने स्व-होस्टेड समाधान को अपग्रेड करने की आवश्यकता होगी।

दो स्व-होस्टिंग दृष्टिकोणों का वर्णन किया गया है:

  • Allstar को GitHub Action के रूप में चलाना - यह विकल्प अपेक्षाकृत हल्का है और Allstar जांच चलाने के लिए GitHub Actions का लाभ उठाता है।
  • Allstar को सेवा डेमॉन के रूप में चलाना - इस विकल्प में नियंत्रण का उच्चतम स्तर है और यह मानता है कि आप एक विश्वसनीय सर्वर या कंटेनर ऑर्केस्ट्रेटर पर एक स्थायी सेवा चलाने में सक्षम हैं।
Allstar को GitHub Action के रूप में चलाना

यह स्थापना विकल्प GitHub Actions का उपयोग करके Allstar को एक अनुसूचित कार्य के रूप में चलाता है।

प्रयास: उच्च

GitHub Actions स्थापना निर्देश का पालन करें:

  1. Allstar उपयोग के लिए एक नया GitHub ऐप बनाएं।
  2. त्वरित आरंभ स्थापना या मैन्युअल स्थापना में वर्णित अनुसार एक संगठन स्तरीय .allstar नियंत्रण रिपॉजिटरी बनाएं। (अपने संगठन में OpenSSF प्रबंधित Allstar ऐप स्थापित करने के चरणों को अनदेखा करें।)
  3. बैच मोड में Allstar चलाने के लिए .allstar में एक आवर्ती GitHub Action सेट करें।
  4. कार्य गतिविधि और परिणामों की निगरानी करें।
Allstar को सेवा डेमॉन के रूप में चलाना

यह स्थापना विकल्प Allstar को एक स्थायी प्रक्रिया के रूप में चलाता है।

प्रयास: बहुत उच्च

Allstar ऐप बनाने, रहस्यों के प्रबंधन और उपलब्ध पर्यावरण चर सहित अधिक जानकारी के लिए ऑपरेटर निर्देश देखें।

नीतियां और कार्रवाइयां

कार्रवाइयां

प्रत्येक नीति को एक कार्रवाई के साथ कॉन्फ़िगर किया जा सकता है जो Allstar तब लेगा जब वह किसी रिपॉजिटरी को अनुपालन से बाहर पाता है।

  • log: यह डिफ़ॉल्ट कार्रवाई है, और वास्तव में सभी कार्रवाइयों के लिए होती है। सभी नीति चलाने के परिणाम और विवरण लॉग किए जाते हैं। लॉग वर्तमान में केवल ऐप ऑपरेटर को दिखाई देते हैं, इन्हें उजागर करने की योजनाएं चर्चा के अधीन हैं।
  • issue: यह कार्रवाई एक GitHub मुद्दा बनाती है। प्रति नीति केवल एक मुद्दा बनाया जाता है, और पाठ नीति उल्लंघन के विवरण का वर्णन करता है। यदि मुद्दा पहले से ही खुला है, तो इसे हर 24 घंटे में बिना अपडेट के एक टिप्पणी के साथ पिंग किया जाता है (वर्तमान में उपयोगकर्ता कॉन्फ़िगरेबल नहीं)। यदि नीति परिणाम बदलता है, तो मुद्दे पर एक नई टिप्पणी छोड़ी जाएगी और मुद्दा निकाय में लिंक की जाएगी। एक बार उल्लंघन का समाधान हो जाने के बाद, मुद्दा Allstar द्वारा 5-10 मिनट के भीतर स्वचालित रूप से बंद कर दिया जाएगा।
  • fix: यह कार्रवाई नीति विशिष्ट है। नीति नीति उल्लंघन को सही करने के लिए GitHub सेटिंग्स में परिवर्तन करेगी। सभी नीतियां इसका समर्थन करने में सक्षम नहीं होंगी (नीचे देखें)।

प्रस्तावित, लेकिन अभी तक लागू नहीं की गई कार्रवाइयां। परिभाषाएं भविष्य में जोड़ी जाएंगी।

  • block: Allstar एक GitHub स्थिति जांच सेट कर सकता है और यदि जांच विफल होती है तो रिपॉजिटरी में किसी भी PR को मर्ज होने से रोक सकता है।
  • email: Allstar रिपॉजिटरी प्रशासक(ों) को एक ईमेल भेजेगा।
  • rpc: Allstar किसी संगठन-विशिष्ट सिस्टम को एक rpc भेजेगा।

कार्रवाई कॉन्फ़िगरेशन

मुद्दा कार्रवाई को कॉन्फ़िगर करने के लिए दो सेटिंग्स उपलब्ध हैं:

  • issueLabel संगठन और रिपॉजिटरी स्तर पर उपलब्ध है। इसे सेट करने से Allstar द्वारा अपने मुद्दों की पहचान करने के लिए उपयोग किए जाने वाले डिफ़ॉल्ट allstar लेबल को ओवरराइड कर दिया जाएगा।

  • issueRepo संगठन स्तर पर उपलब्ध है। इसे सेट करने से संगठन में बनाए गए सभी मुद्दों को निर्दिष्ट रिपॉजिटरी में बनाने के लिए मजबूर किया जाएगा।

नीतियां

Allstar ऐप सक्षम कॉन्फ़िगरेशन के समान, सभी नीतियां संगठन के .allstar रिपॉजिटरी या रिपॉजिटरी के .allstar निर्देशिका में एक yaml फ़ाइल के साथ सक्षम और कॉन्फ़िगर की जाती हैं। ऐप की तरह, नीतियां डिफ़ॉल्ट रूप से ऑप्ट-इन होती हैं, साथ ही डिफ़ॉल्ट log कार्रवाई दृश्यमान परिणाम उत्पन्न नहीं करेगी। सभी नीतियों को सक्षम करने का एक सरल तरीका प्रत्येक नीति के लिए निम्नलिखित सामग्री के साथ एक yaml फ़ाइल बनाना है:```yaml optConfig: optOutStrategy: true action: issue

root@kitploit:~
प्रत्येक नीति के लिए `fix` क्रिया कैसे काम करती है, इसके विवरण नीचे दिए गए हैं। यदि नीचे छोड़ दिया गया है, तो `fix` क्रिया लागू नहीं होती है।

### Branch Protection

इस नीति की कॉन्फिग फ़ाइल का नाम `branch_protection.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/branch#OrgConfig)।

Branch Protection नीति जाँचती है कि GitHub की [शाखा सुरक्षा सेटिंग्स](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) निर्दिष्ट कॉन्फिगरेशन के अनुसार सही ढंग से सेट हैं या नहीं। मुद्दा पाठ बताएगा कि कौन सी सेटिंग गलत है। सेटिंग्स को सही करने के लिए [GitHub का दस्तावेज़ीकरण](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) देखें।

`fix` क्रिया शाखा सुरक्षा सेटिंग्स को निर्दिष्ट नीति कॉन्फिगरेशन के अनुपालन में बदल देगी।

### Binary Artifacts

इस नीति की कॉन्फिग फ़ाइल का नाम `binary_artifacts.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/binary#OrgConfig)।

यह नीति [scorecard से जाँच](https://github.com/ossf/scorecard/#scorecard-checks) शामिल करती है। अनुपालन प्राप्त करने के लिए रिपॉजिटरी से बाइनरी आर्टिफैक्ट हटाएँ। चूंकि scorecard के परिणाम विस्तृत हो सकते हैं, आपको सभी विस्तृत जानकारी देखने के लिए [scorecard स्वयं](https://github.com/ossf/scorecard) चलाने की आवश्यकता हो सकती है।

### CODEOWNERS

इस नीति की कॉन्फिग फ़ाइल का नाम `codeowners.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/codeowners#OrgConfig)।

यह नीति आपके रिपॉजिटरी पर [`CODEOWNERS` फ़ाइल](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) की उपस्थिति की जाँच करती है।

### Outside Collaborators

इस नीति की कॉन्फिग फ़ाइल का नाम `outside.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/outside#OrgConfig)।

यह नीति जाँचती है कि क्या किसी [बाहरी सहयोगी](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization) के पास रिपॉजिटरी तक व्यवस्थापक (डिफ़ॉल्ट) या पुश (वैकल्पिक) पहुँच है। केवल संगठन के सदस्यों के पास यह पहुँच होनी चाहिए, अन्यथा अविश्वसनीय सदस्य व्यवस्थापक स्तर की सेटिंग्स बदल सकते हैं और दुर्भावनापूर्ण कोड कमिट कर सकते हैं।

### SECURITY.md

इस नीति की कॉन्फिग फ़ाइल का नाम `security.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/security#OrgConfig)।

यह नीति जाँचती है कि रिपॉजिटरी में `SECURITY.md` में सुरक्षा नीति फ़ाइल मौजूद है और वह खाली नहीं है। बनाया गया मुद्दा [GitHub टैब](https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository) का लिंक देगा जो आपकी रिपॉजिटरी में सुरक्षा नीति कमिट करने में मदद करता है।

### Dangerous Workflow

इस नीति की कॉन्फिग फ़ाइल का नाम `dangerous_workflow.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/workflow#OrgConfig)।

यह नीति **सभी** शाखाओं के विरुद्ध चलेगी, तर्क [यहाँ](https://github.com/ossf/allstar/issues/569) देखें।

यह नीति GitHub Actions वर्कफ़्लो कॉन्फिगरेशन फ़ाइलों (`.github/workflows`) की जाँच करती है, किसी भी पैटर्न के लिए जो ज्ञात खतरनाक व्यवहार से मेल खाता हो। इस जाँच के बारे में अधिक जानकारी के लिए [OpenSSF Scorecard दस्तावेज़ीकरण](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dangerous-workflow) देखें।

### Generic Scorecard Check

इस नीति की कॉन्फिग फ़ाइल का नाम `scorecard.yaml` है, और [कॉन्फिग
परिभाषाएँ यहाँ
हैं](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/scorecard#OrgConfig)।

यह नीति `checks` कॉन्फिगरेशन में सूचीबद्ध किसी भी scorecard जाँच को चलाती है। चलाई गई सभी जाँचों का स्कोर `threshold` सेटिंग के बराबर या उससे ऊपर होना चाहिए। कृपया प्रत्येक जाँच के बारे में अधिक जानकारी के लिए [OpenSSF Scorecard दस्तावेज़ीकरण](https://github.com/ossf/scorecard/blob/main/docs/checks.md) देखें।

#### SARIF Upload

Scorecard नीति वैकल्पिक रूप से परिणामों को [SARIF](https://sarifweb.azurewebsites.net/) के रूप में प्रत्येक रिपॉजिटरी के **Security > Code Scanning** टैब पर अपलोड कर सकती है। यह संगठन प्रशासकों को प्रति-रिपॉजिटरी वर्कफ़्लो सेटअप की आवश्यकता के बिना Scorecard निष्कर्षों को अन्य सुरक्षा उपकरणों (CodeQL, Dependabot, आदि) के साथ दृश्यता प्रदान करता है।

SARIF अपलोड सक्षम करने के लिए, अपने `scorecard.yaml` में `upload` फ़ील्ड जोड़ें:```yaml
optConfig:
  optOutStrategy: true
action: issue
checks:
  - Binary-Artifacts
  - Signed-Releases
threshold: 8
upload:
  sarif: true

आवश्यकताएँ:

  • Allstar GitHub ऐप में Code scanning alerts रिपॉजिटरी अनुमति Read & write (API स्कोप: security_events) पर सेट होनी चाहिए। स्व-होस्टेड ऑपरेटरों को यह अनुमति अपने GitHub ऐप में जोड़नी होगी। OpenSSF द्वारा संचालित सार्वजनिक Allstar ऐप में अभी तक यह अनुमति शामिल नहीं है।
  • SARIF अपलोड नॉन-ब्लॉकिंग है: यदि अपलोड विफल होता है (उदा., अनुमति की कमी के कारण), तो नीति जाँच सामान्य रूप से जारी रहती है।
  • परिवर्तन का पता लगाने से रिपॉजिटरी HEAD कमिट SHA की तुलना होती है और जब रिपॉजिटरी में पिछले अपलोड के बाद से कोई पुश नहीं हुआ है तो स्कैन और अपलोड छोड़ दिया जाता है।

SARIF अपलोड दोनों स्व-होस्टेड परिनियोजन मोड के साथ काम करता है: सेवा डेमॉन के रूप में या GitHub Action के रूप में चलाना।

GitHub Actions

इस नीति का कॉन्फ़िग फ़ाइल actions.yaml नाम से है, और कॉन्फ़िग परिभाषाएँ यहाँ हैं।

यह नीति प्रत्येक रिपॉजिटरी में GitHub Actions वर्कफ़्लो कॉन्फ़िगरेशन फ़ाइलों (.github/workflows) (और कुछ मामलों में वर्कफ़्लो रन) की जाँच करती है ताकि यह सुनिश्चित किया जा सके कि वे नीति के लिए संगठन-स्तरीय कॉन्फ़िग में परिभाषित नियमों (जैसे, require, deny) के अनुरूप हैं।

रिपॉजिटरी प्रशासक

इस नीति का कॉन्फ़िग फ़ाइल admin.yaml नाम से है, और कॉन्फ़िग परिभाषाएँ यहाँ हैं।

यह नीति जाँचती है कि डिफ़ॉल्ट रूप से सभी रिपॉजिटरी में एक उपयोगकर्ता या समूह को प्रशासक के रूप में नियुक्त किया गया हो। यह आपको वैकल्पिक रूप से कॉन्फ़िगर करने की अनुमति देता है कि क्या उपयोगकर्ताओं को प्रशासक होने की अनुमति है (टीमों के विपरीत)।

भविष्य की नीतियाँ

  • सुनिश्चित करें कि Dependabot सक्षम है।
  • जाँच करें कि निर्भरताएँ पिन या फ़्रीज़ की गई हैं।

उदाहरण कॉन्फ़िग रिपॉजिटरी

Allstar कॉन्फ़िग के उपयोग का उदाहरण यह रिपॉजिटरी देखें। संगठन प्रशासक के रूप में, अपने संगठन में Allstar के उपयोग के बारे में कुछ जानकारी के साथ एक README.md पर विचार करें।

उन्नत

कॉन्फ़िगरेशन परिभाषाएँ

  • संगठन स्तर सक्षम कॉन्फ़िगरेशन
  • रिपॉजिटरी ओवरराइड सक्षम कॉन्फ़िगरेशन

द्वितीयक संगठन-स्तर कॉन्फ़िगरेशन स्थान

डिफ़ॉल्ट रूप से, संगठन-स्तरीय कॉन्फ़िगरेशन फ़ाइलें, जैसे कि ऊपर allstar.yaml फ़ाइल, .allstar रिपॉजिटरी में होने की अपेक्षा की जाती है। यदि यह रिपॉजिटरी मौजूद नहीं है, तो .github रिपॉजिटरी का allstar निर्देशिका द्वितीयक स्थान के रूप में उपयोग किया जाता है। स्पष्ट करने के लिए, allstar.yaml के लिए:

प्राथमिकतारिपॉजिटरीपथ
प्राथमिक.allstarallstar.yaml
द्वितीयक.githuballstar/allstar.yaml

यह व्यक्तिगत नीतियों के लिए संगठन-स्तरीय कॉन्फ़िगरेशन फ़ाइलों पर भी लागू होता है, जैसा कि नीचे वर्णित है।

संगठन रिपॉजिटरी में रिपॉजिटरी नीति कॉन्फ़िगरेशन

Allstar संगठन की .allstar रिपॉजिटरी में, रिपॉजिटरी के समान नाम वाली निर्देशिका के अंतर्गत, रिपॉजिटरी-स्तरीय नीति कॉन्फ़िगरेशन भी खोजेगा। यह कॉन्फ़िगरेशन का उपयोग इस बात की परवाह किए बिना किया जाता है कि "repo override" अक्षम है या नहीं।

उदाहरण के लिए, Allstar किसी दी गई रिपॉजिटरी myapp के लिए नीति कॉन्फ़िगरेशन को निम्नलिखित क्रम में खोजेगा:

संगठन-स्तरीय आधार और मर्ज कॉन्फ़िगरेशन स्थान

संगठन-स्तरीय Allstar और नीति कॉन्फ़िगरेशन फ़ाइलों के लिए, आप baseConfig फ़ील्ड निर्दिष्ट कर सकते हैं ताकि एक और रिपॉजिटरी निर्दिष्ट की जा सके जिसमें आधार Allstar कॉन्फ़िगरेशन हो। यह एक उदाहरण के साथ सबसे अच्छी तरह समझाया गया है।

मान लीजिए कि आपके पास कई GitHub संगठन हैं, लेकिन एक ही Allstar कॉन्फ़िगरेशन बनाए रखना चाहते हैं। आपका मुख्य संगठन "acme" है, और रिपॉजिटरी acme/.allstar में allstar.yaml है:```yaml optConfig: optOutStrategy: true issueLabel: allstar-acme issueFooter: Issue created by Acme security team.

root@kitploit:~
आपके पास "acme-sat" नामक एक उपग्रह GitHub संगठन भी है। आप मुख्य कॉन्फ़िगरेशन का पुन: उपयोग करना चाहते हैं, लेकिन कुछ रिपॉजिटरी पर Allstar को अक्षम करके कुछ बदलाव लागू करना चाहते हैं। रिपॉजिटरी `acme-sat/.allstar` में `allstar.yaml` है:```yaml
baseConfig: acme/.allstar
optConfig:
  optOutRepos:
  - acmesat-one
  - acmesat-two

यह acme/.allstar से सभी कॉन्फ़िग को आधार कॉन्फ़िग के रूप में उपयोग करेगा, लेकिन फिर वर्तमान फ़ाइल में किसी भी परिवर्तन को आधार कॉन्फ़िगरेशन के ऊपर लागू करेगा। जिस विधि से इसे लागू किया जाता है, उसे JSON Merge Patch के रूप में वर्णित किया गया है। baseConfig एक GitHub <org>/<repository> होना चाहिए।

योगदान

देखें CONTRIBUTING.md

टूल डाउनलोड करें
ऑप्ट-आउट (अनुशंसित)
optOutStrategy = true
ऑप्ट-इन
optOutStrategy = false
डिफ़ॉल्ट व्यवहार सभी रिपॉजिटरी सक्षम हैंकोई रिपॉजिटरी सक्षम नहीं है
मैन्युअल रूप से रिपॉजिटरी जोड़नामैन्युअल रूप से रिपॉजिटरी जोड़ना उन रिपॉजिटरी पर Allstar को अक्षम करता हैमैन्युअल रूप से रिपॉजिटरी जोड़ना उन रिपॉजिटरी पर Allstar को सक्षम करता है
अतिरिक्त कॉन्फ़िगरेशनoptOutRepos: सूचीबद्ध रिपॉजिटरी पर Allstar अक्षम हो जाएगा

optOutPrivateRepos: यदि सत्य है, तो सभी निजी रिपॉजिटरी पर Allstar अक्षम हो जाएगा

optOutPublicRepos: यदि सत्य है, तो सभी सार्वजनिक रिपॉजिटरी पर Allstar अक्षम हो जाएगा

(optInRepos: यह सेटिंग अनदेखा कर दी जाएगी)
optInRepos: सूचीबद्ध रिपॉजिटरी पर Allstar सक्षम हो जाएगा

(optOutRepos: यह सेटिंग अनदेखा कर दी जाएगी)
रिपॉजिटरी ओवरराइड यदि सत्य है: रिपॉजिटरी अपने संगठन के Allstar प्रवर्तनों से ऑप्ट-आउट कर सकते हैं अपनी स्वयं की रिपॉजिटरी फ़ाइल में सेटिंग्स का उपयोग करके। उस रिपॉजिटरी पर लागू होने वाली संगठन स्तरीय ऑप्ट-इन सेटिंग्स को अनदेखा कर दिया जाता है।

यदि असत्य है: रिपॉजिटरी संगठन स्तर पर कॉन्फ़िगर किए गए Allstar प्रवर्तनों से ऑप्ट-आउट नहीं कर सकते।
यदि सत्य है: रिपॉजिटरी अपने संगठन के Allstar प्रवर्तनों में ऑप्ट-इन कर सकते हैं भले ही वे संगठन स्तर पर रिपॉजिटरी के लिए कॉन्फ़िगर न किए गए हों। उस रिपॉजिटरी पर लागू होने वाली संगठन स्तरीय ऑप्ट-आउट सेटिंग्स को अनदेखा कर दिया जाता है।

यदि असत्य है: रिपॉजिटरी Allstar प्रवर्तनों में ऑप्ट-इन नहीं कर सकते यदि वे संगठन स्तर पर कॉन्फ़िगर नहीं हैं।
रिपॉजिटरीपथशर्त
myapp.allstar/branch_protection.yamlजब "repo override" की अनुमति है।
.allstarmyapp/branch_protection.yamlहर बार।
.allstarbranch_protection.yamlहर बार।
.githuballstar/myapp/branch_protection.yamlयदि .allstar रिपॉजिटरी मौजूद नहीं है।
.githuballstar/branch_protection.yamlयदि .allstar रिपॉजिटरी मौजूद नहीं है।