
सॉफ़्टवेयर आपूर्ति श्रृंखला सुरक्षा मेटाडेटा (SBOMs, प्रमाणपत्र, कमजोरियाँ) को ऑडिट, नीति और जोखिम प्रबंधन के लिए एक क्वेरी योग्य ग्राफ डेटाबेस में एकत्र करता है।
नोट: GUAC सक्रिय विकास के अधीन है - यदि आप योगदान देने में रुचि रखते हैं, तो कृपया योगदानकर्ता गाइड देखें। GUAC एक OpenSSF इनक्यूबेटिंग प्रोजेक्ट है जो सप्लाई चेन इंटीग्रिटी WG के अंतर्गत आता है।
ग्राफ फॉर अंडरस्टैंडिंग आर्टिफैक्ट कम्पोज़ीशन (GUAC) सॉफ्टवेयर सुरक्षा मेटाडेटा को एक उच्च निष्ठा वाले ग्राफ़ डेटाबेस में एकत्रित करता है—एंटिटी पहचान को सामान्यीकृत करता है और उनके बीच मानक संबंधों को मैप करता है। इस ग्राफ़ को क्वेरी करने से उच्च-स्तरीय संगठनात्मक परिणाम जैसे ऑडिट, नीति, जोखिम प्रबंधन, और यहाँ तक कि डेवलपर सहायता प्राप्त की जा सकती है।
अवधारणात्मक रूप से, GUAC सॉफ्टवेयर आपूर्ति श्रृंखला पारदर्शिता तार्किक मॉडल की "एकत्रीकरण और संश्लेषण" परत पर कब्जा करता है:

GUAC द्वारा उत्तर दिए जाने वाले प्रश्नों के कुछ उदाहरणों में शामिल हैं:

हमारा दस्तावेज़ीकरण शुरू करने के लिए एक अच्छी जगह है।
हमारे पास विभिन्न डेमो उपयोग मामले हैं जिन्हें आप देख सकते हैं।
हमारे डॉकर कम्पोज़ त्वरित आरंभ के साथ GUAC सेवाएँ शुरू करना।
रिपॉजिटरी में एक .devcontainer कॉन्फ़िगरेशन शामिल है जो स्थानीय रूप से Docker पर पूरा GUAC स्टैक (GraphQL, REST, collectsub, ingestor, NATS, और deps_dev / osv / ClearlyDefined कलेक्टर) लाता है, जो प्रकाशित GUAC रिलीज़ इमेज द्वारा समर्थित है। VS Code में डेव कंटेनर्स एक्सटेंशन के साथ रिपॉजिटरी खोलें और "कंटेनर में फिर से खोलें" चुनें — GraphQL प्लेग्राउंड पोर्ट 8080 और REST API पोर्ट 8081 पर अग्रेषित करता है। JetBrains Gateway और DevPod के साथ भी काम करता है।
GUAC के सभी दस्तावेज़ docs.guac.sh पर रहते हैं, जो निम्नलिखित docs github रिपॉजिटरी द्वारा समर्थित है।
यहाँ GUAC के आर्किटेक्चर का एक अवलोकन है:

GUAC बीटा के घटकों की गहन दृष्टि और स्पष्टीकरण के लिए, कृपया GUAC कैसे काम करता है देखें।
ध्यान दें कि GUAC मेटाडेटा को एक साथ जोड़ने में मदद करने के लिए सॉफ्टवेयर पहचानकर्ता मानकों का उपयोग करता है। हालांकि, ये पहचानकर्ता हमेशा उपलब्ध नहीं होते हैं और उन्हें लिंक करने के लिए अनुमानित विधियों का उपयोग करने की आवश्यकता होती है। इसलिए, डेटा इंजेस्ट करते समय अनहैंडल एज केस और त्रुटियाँ हो सकती हैं। यदि आप इंजेस्ट करने के दौरान किसी भी त्रुटि या बग का सामना करते हैं तो हम सराहना करेंगे यदि आप एक डेटा गुणवत्ता समस्या बना सकते हैं।
GUAC एक सॉफ्टवेयर एब्स्ट्रैक्शन लेयर के पीछे कई बैकएंड का समर्थन करता है। GraphQL API हमेशा समान होता है और ग्राहकों पर कोई प्रभाव नहीं पड़ना चाहिए कि कौन सा बैकएंड उपयोग में है। बैकएंड को निम्नलिखित में वर्गीकृत किया गया है:
समर्थित/असमर्थित: समर्थित बैकएंड वे हैं जिन्हें GUAC प्रोजेक्ट सक्रिय रूप से बनाए रखने के लिए प्रतिबद्ध है। असमर्थित बैकएंड को सक्रिय रूप से बनाए नहीं रखा जाता है लेकिन सामुदायिक योगदान स्वीकार करेंगे।
पूर्ण/अपूर्ण: पूर्ण बैकएंड सभी अनिवार्य GraphQL APIs का समर्थन करते हैं। अपूर्ण बैकएंड उन APIs के एक उपसमूह का समर्थन करते हैं और सुविधा में पूर्ण नहीं हो सकते हैं।
अनुकूलित: बैकएंड ने प्रदर्शन में सुधार करने के लिए अनुकूलन के एक स्तर को पार किया है।
दो बैकएंड जो समर्थित, पूर्ण और अनुकूलित हैं:
keyvalue (समर्थित, पूर्ण, अनुकूलित): एक गैर-स्थायी इन-मेमोरी बैकएंड जिसे किसी अतिरिक्त बुनियादी ढाँचे की आवश्यकता नहीं है। यह API कार्यान्वयन के लिए एक अनुरूप बैकएंड के रूप में भी कार्य करता है। यदि आप अभी GUAC के साथ शुरुआत कर रहे हैं तो हम इसके साथ शुरुआत करने की सलाह देते हैं!
ent (समर्थित, पूर्ण, अनुकूलित) PostgreSQL के साथ: गो के लिए एंटिटी फ्रेमवर्क पर आधारित एक स्थायी बैकएंड जो विभिन्न SQL बैकएंड पर चल सकता है। GUAC केवल PostgreSQL के साथ ent का समर्थन करता है। MySQL और SQLite जैसे अन्य ent बैकएंड असमर्थित हैं।
अन्य बैकएंड:
arangoDB (असमर्थित, अपूर्ण, अनुकूलित): ArangoDB पर आधारित एक स्थायी बैकएंड
neo4j/openCypher (असमर्थित, अपूर्ण): neo4j और openCypher पर आधारित एक स्थायी बैकएंड। यह बैकएंड किसी भी डेटाबेस के साथ काम करना चाहिए जो openCypher क्वेरी का समर्थन करता है।
keyvalue: Redis (प्रायोगिक, पूर्ण): डिफ़ॉल्ट keyvalue बैकएंड, लेकिन भंडारण के रूप में Redis का उपयोग करता है।
keyvalue: TiKV (प्रायोगिक, पूर्ण): डिफ़ॉल्ट keyvalue बैकएंड, लेकिन भंडारण के रूप में TiKV का उपयोग करता है।
समुदाय में कैसे शामिल हों, मेलिंग सूचियों और बैठकों के बारे में अधिक जानकारी के लिए, कृपया हमारे समुदाय पृष्ठ देखें।
सुरक्षा मुद्दों या आचार संहिता संबंधी चिंताओं के लिए, एक ई-मेल [email protected] पर भेजा जाना चाहिए।
शासन के बारे में जानकारी, जिसमें प्रोजेक्ट चार्टर शामिल है, guacsec/governance repo में पाई जा सकती है।