
एक सुरक्षा उपकरण जो मूल स्रोत कोड के विरुद्ध go.sum में चेकसम सत्यापित करके दुर्भावनापूर्ण Go पैकेजों का पता लगाता है।
मूल स्रोत कोड के विरुद्ध go.sum में चेकसम सत्यापित करके दुर्भावनापूर्ण Go पैकेजों का पता लगाने के लिए एक सुरक्षा उपकरण, जो Go Module Proxy कैश को बायपास करता है।
यह उपकरण सप्लाई चेन हमलों से सुरक्षा में मदद करता है जो Go Module Proxy कैश का शोषण करते हैं, जैसा कि हाल ही में दुर्भावनापूर्ण github.com/boltdb-go/bolt पैकेज द्वारा प्रदर्शित किया गया था।
ये हमले Go Module Proxy के अनिश्चितकालीन कैशिंग तंत्र का लाभ उठाकर स्रोत रिपॉजिटरी के साफ हो जाने के बाद भी दुर्भावनापूर्ण कोड प्रदान करते हैं।
इस प्रकार के हमले के बारे में अधिक जानकारी के लिए देखें:
यह उपकरण निम्न प्रकार से कार्य करता है:
go install github.com/knqyf263/go-mal-pkgs@latest
मूल उपयोग:
go-mal-pkgs /path/to/your/go/project
यह उपकरण आपके प्रोजेक्ट की go.sum फ़ाइल का विश्लेषण करेगा और प्रत्येक मॉड्यूल की अखंडता को सत्यापित करेगा।
सफल सत्यापन:
$ go-mal-pkgs /path/to/project
Checking golang.org/x/[email protected]...
✅ Verified golang.org/x/[email protected]
Checking github.com/stretchr/[email protected]...
✅ Verified github.com/stretchr/[email protected]
संभावित दुर्भावनापूर्ण पैकेज का पता लगाना:
$ go-mal-pkgs /path/to/compromised-project
Checking github.com/boltdb-go/[email protected]...
⚠️ WARNING: checksum mismatch for github.com/boltdb-go/[email protected]:
expected: h1:abc123def456...
actual: h1:xyz789uvw012...
यह उपकरण golang.org/x/mod/sumdb/dirhash पैकेज का उपयोग करके Go के चेकसम सत्यापन एल्गोरिदम को लागू करता है। जब यह आपके go.sum में मौजूद चेकसम और स्रोत रिपॉजिटरी से गणना किए गए चेकसम के बीच बेमेल का पता लगाता है, तो यह संकेत दे सकता है:
यह एक प्रयोगात्मक उपकरण है जिसे हाल ही में Go module proxy कैश शोषण के जवाब में एक प्रूफ ऑफ कॉन्सेप्ट के रूप में बनाया गया था। संपूर्ण कोडबेस Claude 3.5 Sonnet AI सहायक का उपयोग करके उत्पन्न किया गया था।