Automatisierung von Sicherheits-PRs für React Server Components
Dieses Repository enthält ein Skript, um automatisch Pull Requests (PRs) für Repositories zu erstellen, die von CVE-2025-55182 betroffen sind, das verwundbare Versionen von react-server-dom-* und verwandten React-Paketen betrifft.
Was macht dieses Tool?
Scannt nach betroffenen Versionen von react-server-dom-*, react, react-dom und next in der package.json eines Repositories.
Aktualisiert diese auf sichere, korrigierte Versionen, falls erforderlich.
Erstellt einen PR im Ziel-Repository mit den aktualisierten Abhängigkeiten.
Unterstützt sowohl direkte Repositories als auch Forks.
Warum wird dies benötigt?
Eine kritische Sicherheitslücke (CVE-2025-55182) wurde in React Server Components und verwandten Paketen offengelegt. Damit OSS-Maintainer und Teams ihre Projekte schnell und sicher patchen können, automatisiert dieses Skript den Upgrade- und PR-Erstellungsprozess.
Unterstützte Pakete und Korrekturen
react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack → Aktualisiert auf 19.2.1
react, react-dom → Aktualisiert auf 19.2.1
next:
Bei Verwendung von Canary 14.3.0-canary.77 oder höher wird auf 14.1.4 aktualisiert
15.x/16.x werden auf die neueste gepatchte Version (16.0.7) aktualisiert
Verwendung
1. Voraussetzungen
Node.js >= 18
Ein GitHub-Personaltoken (klassisch oder feingranular) mit repo-Berechtigungen.
Setzen Sie Ihr GITHUB_TOKEN als Umgebungsvariable:
root@kitploit:~
export GITHUB_TOKEN=ihr_token_hier
Bearbeiten Sie das Array repoUrls in index.ts, um die GitHub-Repositories aufzulisten, die Sie patchen möchten.
Führen Sie den Hauptworkflow aus:
root@kitploit:~
npm run dev
3. Was passiert als Nächstes?
Das Skript scannt jedes aufgeführte Repository nach verwundbaren React-bezogenen Abhängigkeiten.
Falls Upgrades erforderlich sind, führt es folgende Schritte aus:
Erstellt einen neuen Branch.
Committet die korrigierte package.json.
Öffnet einen Pull Request mit einer beschreibenden Nachricht und einem Link zur CVE-Veröffentlichung.
Beispiel
Siehe die Funktion main() in index.ts für die Konfiguration der Repository-Liste und die Ausführung des Prozesses.
⚠️ Haftungsausschluss
Überprüfen und testen Sie die resultierenden PRs immer vor dem Mergen, insbesondere wenn Sie benutzerdefinierte Konfigurationen oder nicht standardmäßige Abhängigkeitsnutzung haben.
Dieses Skript aktualisiert nur festgelegte Versionen in der root-package.json (Monorepos erfordern möglicherweise Anpassungen).
Falls Sie auf Ratenlimits oder Berechtigungsprobleme stoßen, überprüfen Sie die Berechtigungen Ihres GitHub-Tokens.