
أداة أتمتة مبنية على Go تفحص مستودعات GitHub بحثًا عن إصدارات Next.js الضعيفة (CVE-2025-66478) وتنشئ تلقائيًا طلبات سحب مع التصحيح الأمني المحدد.
أداة أتمتة مكتوبة بلغة Go لفحص مستودعات GitHub، واكتشاف إصدارات Next.js الضعيفة (CVE-2025-66478)، وإنشاء طلبات السحب (Pull Requests) تلقائيًا مع التصحيح الأمني المحدد.
تأكد من تثبيت وتهيئة ما يلي في بيئتك:
gh)قبل تشغيل الأداة، يجب أن تكون مصادقًا في GitHub CLI:
gh auth login
# Select "SSH" as git protocol and "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 باستخدام الحد الأدنى من الإصدار الآمن المطلوب.يطبّق النص البرمجي قواعد صارمة لتجنّب كسر التوافق (لا يحدّث إلى الأحدث، بل إلى التصحيح الآمن لإصدارك الثانوي):
| الإصدار المكتشف | التصحيح المطبَّق |
|---|---|
15.0.x | ^15.0.5 |
15.1.x | ^15.1.9 |
15.2.x | ^15.2.6 |
| ... | ... |
راجع nextJsRules في main.go للقائمة الكاملة.