सुरक्षा
Apothem की सुरक्षा मुद्रा — OpenSSF Scorecard लक्ष्य, भेद्यता रिपोर्टिंग, हार्डनिंग सतहें।
Apothem की सुरक्षा मुद्रा पाँच स्तंभों पर टिकी है: आपूर्ति-श्रृंखला हार्डनिंग, भेद्यता प्रतिक्रिया, ब्रांच सुरक्षा, रिलीज़ हस्ताक्षर, और निरंतर सुरक्षा विश्लेषण। यह अनुभाग प्रत्येक सतह का दस्तावेज़ीकरण करता है।
ख़तरा मॉडल
Apothem एक कॉन्फ़िगरेशन मटीरियलाइज़र है। यह एक साझा प्रोफ़ाइल पढ़ता है और उन डायरेक्टरियों में हार्नेस-नेटिव कॉन्फ़िगरेशन फ़ाइलें लिखता है जिन्हें प्रत्येक हार्नेस पढ़ता है। वह एकल कार्य सीमित करता है कि वह किस पर भरोसा करता है और किस पर नहीं।
- Apothem किस पर भरोसा करता है। वह साझा प्रोफ़ाइल जिसे आप लिखते हैं और इंस्टॉलर द्वारा रखी गई बंडल्ड स्रोत ट्री। प्रोफ़ाइल आपका घोषित अभिप्राय है; स्कीमा सत्यापन के बाद इंजन इसे प्रामाणिक इनपुट के रूप में मानता है।
- Apothem किस पर भरोसा नहीं करता। प्रोफ़ाइल की सामग्री सत्यापन के बाद ही
फ़ाइल सिस्टम तक पहुँचती है: स्कीमा विफलताएँ, अज्ञात हार्नेस ID, असुरक्षित
प्रोजेक्ट पथ, अनुपस्थित मैनिफ़ेस्ट स्रोत, टारगेट ट्रैवर्सल, और सिमलिंक क्रॉसिंग
सभी किसी भी लेखन से पहले रुक जाते हैं और
files_written: []के साथ संरचित निदान लौटाते हैं। - मटीरियलाइज़ किया गया आउटपुट कभी क्या नहीं ले जाता। कोई रहस्य नहीं। प्रोफ़ाइल निदान, सादे आउटपुट, JSON, लॉग, दस्तावेज़ स्निपेट, या परीक्षणों तक पहुँचने से पहले रहस्य-जैसी कुंजियों और टोकन-आकार के मानों को संपादित कर छिपा देते हैं, और सार्वजनिक उदाहरण नकली प्लेसहोल्डर पहचानों और डोमेन का उपयोग करते हैं। मटीरियलाइज़ किया गया कॉन्फ़िगरेशन कमिट और साझा किए जाने के लिए अभिप्रेत है; यह कोई प्रमाणपत्र नहीं ले जाता।
- सार्वभौमिक अस्वीकार तल। Apothem जो नियम मटीरियलाइज़ करता है वे किसी भी
प्रति-हार्नेस अनुमति-सूची की परवाह किए बिना एक गैर-परक्राम्य अस्वीकार तल ले जाते
हैं — रहस्य पथ (
.env*,~/.ssh/**, क्रेडेंशियल स्टोर), विनाशकारी शेल ऑपरेशन (rm -rf,sudo, संरक्षित ब्रांचों पर फ़ोर्स-पुश), और अविश्वसनीय इनपुट का निष्पादन। कोई भी अनुमति-सूची इस तल को चुपचाप विस्तृत नहीं करती। - प्रभाव त्रिज्या। लेखन हार्नेस डायरेक्टरियों और Apothem के स्वामित्व वाले सहायक उप-वृक्षों तक सीमित होते हैं। मौजूदा प्रबंधित टारगेट प्रतिस्थापन से पहले बैकअप किए जाते हैं और साझा डिस्कवरी डायरेक्टरियाँ संतान-दर-संतान मर्ज की जाती हैं, ताकि असंबंधित संचालक-लिखित फ़ाइलें अपनी जगह बनी रहें।
रनटाइम सुरक्षा मुद्रा
हार्नेस जीवनचक्र और प्रोफ़ाइल-लेखन कमांड लिखने से पहले सत्यापित करते हैं।
प्रोफ़ाइल स्कीमा विफलताएँ, अज्ञात हार्नेस ID, असुरक्षित प्रोजेक्ट पथ, अनुपस्थित
मैनिफ़ेस्ट स्रोत, टारगेट ट्रैवर्सल, और सिमलिंक क्रॉसिंग फ़ाइल सिस्टम लेखन से पहले
रुक जाते हैं और files_written: [] के साथ संरचित निदान लौटाते हैं।
इंस्टॉल और अपडेट ऑपरेशन मौजूदा प्रबंधित टारगेट को प्रतिस्थापन से पहले बैकअप करके
संरक्षित करते हैं। साझा डिस्कवरी डायरेक्टरियाँ संतान-दर-संतान मर्ज की जाती हैं
ताकि असंबंधित संचालक-लिखित फ़ाइलें अपनी जगह बनी रहें। --dry-run वही सत्यापन
करता है और बिना कोई डायरेक्टरी या फ़ाइल बनाए नियोजित परिणामों की रिपोर्ट करता है।
प्रोफ़ाइल निदान, सादे आउटपुट, JSON आउटपुट, लॉग, दस्तावेज़ स्निपेट, या परीक्षणों तक पहुँचने से पहले रहस्य-जैसी कुंजियों और टोकन-आकार के मानों को संपादित कर छिपा देते हैं। सार्वजनिक उदाहरण नकली प्लेसहोल्डर पहचानों और डोमेन का उपयोग करते हैं।
त्वरित लिंक
- OpenSSF Scorecard मुद्रा — प्रति-जाँच साक्ष्य और ज्ञात प्लेटफ़ॉर्म सीमाएँ
- Webhooks ऑडिट — webhook-रहस्य स्वच्छता का साक्ष्य
- ब्रांच सुरक्षा — समीक्षा गेट, स्थिति जाँच, और पुश प्रतिबंध
- बाइनरी आर्टिफ़ैक्ट स्वीप — स्रोत में शून्य-बाइनरी रिलीज़ का प्रमाण
- सुरक्षा नीति — भेद्यता रिपोर्टिंग और समर्थित संस्करण
- OpenSSF Scorecard बैज — लाइव स्कोर
भेद्यता की रिपोर्ट करना
रिपॉज़िटरी के Security टैब पर निजी भेद्यता रिपोर्टिंग का उपयोग करें। पूर्ण नीति, समर्थित-संस्करण मैट्रिक्स, और प्रतिक्रिया समयरेखाएँ SECURITY.md पर हैं।
आपूर्ति-श्रृंखला रिलीज़ प्रमाण
प्रत्येक रिलीज़ आर्टिफ़ैक्ट के साथ आता है:
- SLSA-3 बिल्ड उद्गम,
slsa-framework/slsa-github-generatorके माध्यम से - Sigstore हस्ताक्षर,
sigstore/cosign-installerके माध्यम से - CycloneDX SBOM,
anchore/sbom-actionके माध्यम से - npm उद्गम कथन,
@ahmed-g-gad/apothemपर Trusted Publishing OIDC के माध्यम से - GPG-हस्ताक्षरित git टैग (EDDSA कुंजी
70396FED9C634163)
सत्यापन विधियाँ रिलीज़ चक्र और रिलीज़ रिकवरी में इनलाइन प्रलेखित हैं; एक समर्पित रिलीज़-सत्यापन रनबुक आगामी है।