
Инструмент автоматизации на Go, который сканирует репозитории GitHub на наличие уязвимых версий Next.js (CVE-2025-66478) и автоматически создаёт pull requests с соответствующим патчем безопасности.
Инструмент автоматизации, написанный на Go, для сканирования репозиториев GitHub, обнаружения уязвимых версий Next.js (CVE-2025-66478) и автоматического создания Pull Request с соответствующим исправлением безопасности.
Убедитесь, что у вас установлено и настроено следующее:
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, устанавливая минимальную требуемую безопасную версию.Скрипт применяет строгие правила, чтобы избежать нарушения совместимости (не обновляется до последней версии, а только до безопасного патча вашей минорной версии):
| Обнаруженная версия | Применённый патч |
|---|---|
Полный список см. в nextJsRules в main.go.
15.0.x^15.0.5 |
15.1.x | ^15.1.9 |
15.2.x | ^15.2.6 |
| ... | ... |