बाइनरी आर्टिफैक्ट स्वीप
Apothem बाइनरी-आर्टिफैक्ट स्वीप — स्रोत में ट्रैक किए गए शून्य कंपाइल/पैकेज किए गए बाइनरी। OpenSSF Scorecard Binary-Artifacts जाँच का प्रमाण।
OpenSSF Scorecard की Binary-Artifacts जाँच यह सत्यापित करती है कि स्रोत-वृक्ष में कोई भी कंपाइल/पैकेज किया गया/अपारदर्शी बाइनरी आर्टिफैक्ट न हो। स्रोत में मौजूद बाइनरी का ऑडिट नहीं किया जा सकता और वे आपूर्ति-शृंखला हमलों के लिए एक पैर जमाने की जगह देते हैं: बाइनरी ऐसा कोड समाहित कर लेता है जिसे स्रोत-वृक्ष उजागर नहीं करता, इसलिए समीक्षक मर्ज से पहले उसकी जाँच नहीं कर सकते।
बाइनरी आर्टिफैक्ट को लेकर Apothem का रुख
Apothem एक शुद्ध Python स्रोत-वृक्ष है जिसमें संस्करण-नियंत्रण में कोई भी कंपाइल, पैकेज किया गया या अपारदर्शी बाइनरी आर्टिफैक्ट ट्रैक नहीं किया जाता। रिपॉज़िटरी का स्रोत से आद्योपांत ऑडिट किया जा सकता है।
स्वीप की कार्यप्रणाली
स्वीप उन फ़ाइल-प्रकारों को सूचीबद्ध करता है जिन्हें Scorecard बाइनरी मानता है, फिर सत्यापित करता है कि प्रत्येक संस्करण-नियंत्रण से अनुपस्थित है:
| एक्सटेंशन परिवार | विवरण | Apothem स्थिति |
|---|---|---|
.exe, .dll, .so, .dylib | कंपाइल किए गए नेटिव बाइनरी | ✅ शून्य ट्रैक किए गए |
.bin, .o, .a, .lib | ऑब्जेक्ट फ़ाइलें / स्टैटिक लाइब्रेरी | ✅ शून्य ट्रैक किए गए |
.jar, .war, .ear | Java पैकेज | ✅ शून्य ट्रैक किए गए |
.whl, .egg | Python वितरण | ✅ शून्य ट्रैक किए गए (dist/ में बनते हैं; gitignore द्वारा अनदेखे) |
.tar.gz, .zip (निर्मित वितरण) | निर्मित आर्टिफैक्ट ले जाने वाले संपीड़ित आर्काइव | ✅ शून्य ट्रैक किए गए |
.class, .pyc, .pyo | कंपाइल किया गया बाइटकोड | ✅ शून्य ट्रैक किए गए (__pycache__/ gitignore द्वारा अनदेखा) |
.crt, .pem, .key, .p12, .pfx | क्रिप्टोग्राफ़िक सामग्री | ✅ शून्य ट्रैक किए गए (.gitignore में अस्वीकृत) |
अनुमत बाइनरी श्रेणियाँ
स्रोत में बाइनरी आर्टिफैक्ट की दो संकीर्ण श्रेणियाँ अनुमत हैं:
- ब्रांड एसेट —
assets/*.png,assets/*.ico,assets/favicon.*। येscripts/dev/rebuild-assets.{sh,ps1}के माध्यम सेassets/src/के SVG मास्टर से नियतात्मक रूप से पुनर्जनित किए जा सकते हैं। Scorecard इन्हें अपनीimage/pngछूट के अनुसार वैध मानता है। - फ़ॉन्ट फ़ाइलें —
assets/fonts/*.ttf,assets/fonts/*.woff2। प्रलेखित लाइसेंस वाली बंडल की गई फ़ॉन्ट फ़ाइलें; Scorecard कीfont/*छूट के अनुसार।
दोनों श्रेणियाँ site/content/docs/brand/index.mdx में प्रलेखित हैं और उनका उद्गम एसेट-पुनर्निर्माण रेसिपी में दर्ज है।
सत्यापन कमांड
# apothem रिपॉज़िटरी रूट से:
git ls-files | grep -E '\\.(exe|dll|so|dylib|bin|o|a|lib|jar|war|ear|whl|egg|class|pyc|pyo|crt|pem|key|p12|pfx)$'इस आह्वान को शून्य पंक्तियाँ लौटानी चाहिए। एक गैर-रिक्त परिणाम यह संकेत देता है कि स्रोत में कोई बाइनरी आर्टिफैक्ट ट्रैक हो गया है — यह एक HIGH-गंभीरता वाला निष्कर्ष है जो अगली रिलीज़ को रोक देता है।
ऑडिट लय
यह स्वीप निम्न का हिस्सा है:
- प्रति-PR CI —
.github/workflows/ci.ymlमें एक बाइनरी-आर्टिफैक्ट grep चरण शामिल है। - प्रति-रिलीज़ चेकपॉइंट — रिलीज़-इंजीनियरिंग रनबुक टैगिंग से पहले स्वीप सत्यापित करता है।
- साप्ताहिक Scorecard रन — OpenSSF Scorecard वर्कफ़्लो पुष्टि करता है कि जाँच उत्तीर्ण होती है।
संदर्भ
- OpenSSF Scorecard — Binary-Artifacts जाँच
- Apothem
.gitignore— वह अस्वीकृति-सूची जो आकस्मिक बाइनरी चेक-इन को रोकती है