
Strumento di automazione scritto in Go per scansionare i repository GitHub, rilevare le versioni vulnerabili di Next.js (CVE-2025-66478) e creare automaticamente Pull Request con la specifica patch di sicurezza.
Assicurati di avere installato e configurato quanto segue nel tuo ambiente:
gh)Prima di eseguire lo strumento, devi essere autenticato nella GitHub CLI:
gh auth login
# Select "SSH" as git protocol and "GitHub.com"
Clona questo repository (dove hai salvato lo script main.go):
git clone <your-tools-repo-url>
cd auto-patcher
Installa le dipendenze Go:
È necessaria la libreria semver per un confronto intelligente delle versioni.
go get github.com/Masterminds/semver/v3
go mod tidy
Attualmente, la configurazione è fatta direttamente nelle costanti del file main.go. Controlla queste righe prima di eseguire:
main, modifica il comando gh se vuoi limitare la ricerca a una specifica organizzazione o utente:
// 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"
)
Basta eseguire lo script principale:
go run main.go
gh repo list./tmp/repo-fixer-*).package.json.next con la tabella delle regole di sicurezza (SemVer).package.json con la versione sicura minima richiesta.Lo script applica regole rigorose per evitare di rompere la compatibilità (non aggiorna all'ultima versione, ma alla patch sicura della tua versione minore):
| Versione rilevata | Patch applicata |
|---|---|
Controlla nextJsRules in main.go per l'elenco completo.
15.0.x^15.0.5 |
15.1.x | ^15.1.9 |
15.2.x | ^15.2.6 |
| ... | ... |