
GitHub रिपॉजिटरी स्कैन करने, असुरक्षित Next.js वर्ज़न (CVE-2025-66478) का पता लगाने, और विशिष्ट सुरक्षा पैच के साथ स्वचालित रूप से पुल रिक्वेस्ट बनाने के लिए Go में लिखा गया ऑटोमेशन टूल।
सुनिश्चित करें कि आपके वातावरण में निम्नलिखित इंस्टॉल और कॉन्फ़िगर हैं:
gh)टूल चलाने से पहले, आपको GitHub CLI में प्रमाणित होना चाहिए:
gh auth login
# git प्रोटोकॉल के रूप में "SSH" और "GitHub.com" चुनें
इस रिपॉजिटरी को क्लोन करें (जहाँ आपने main.go स्क्रिप्ट सेव की है):
git clone <your-tools-repo-url>
cd auto-patcher
Go निर्भरताएँ इंस्टॉल करें:
बुद्धिमान वर्ज़न तुलना के लिए हमें semver लाइब्रेरी चाहिए।
go get github.com/Masterminds/semver/v3
go mod tidy
वर्तमान में, कॉन्फ़िगरेशन सीधे main.go फ़ाइल के कॉन्स्टेंट में किया जाता है। चलाने से पहले इन पंक्तियों की समीक्षा करें:
main फ़ंक्शन में, यदि आप खोज को किसी विशिष्ट संगठन या उपयोगकर्ता तक सीमित करना चाहते हैं तो gh कमांड को संपादित करें:
// main.go
cmd := exec.Command("gh", "repo", "list", "YOUR_ORG_OR_USER", "--limit", "100", ...)
const (
TargetBranch = "fix/security-nextjs-cve"
PRTitle = "fix(deps): upgrade next.js to patch CVE-2025-66478"
)
बस मुख्य स्क्रिप्ट चलाएँ:
go run main.go
gh repo list का उपयोग करके रिपॉजिटरी की सूची बनाता है।/tmp/repo-fixer-*) में क्लोन करता है।package.json फ़ाइलों के लिए पुनरावर्ती रूप से खोजता है।next वर्ज़न की तुलना सुरक्षा नियम तालिका (SemVer) से करता है।package.json को आवश्यक न्यूनतम सुरक्षित वर्ज़न के साथ संपादित करता है।स्क्रिप्ट संगतता तोड़ने से बचने के लिए सख्त नियम लागू करती है (नवीनतम में अपडेट नहीं करती, बल्कि आपके माइनर वर्ज़न के सुरक्षित पैच में करती है):
| पता लगाया गया वर्ज़न | लागू किया गया पैच |
|---|---|
पूरी सूची के लिए main.go में nextJsRules देखें।
15.0.x^15.0.5 |
15.1.x | ^15.1.9 |
15.2.x | ^15.2.6 |
| ... | ... |