
Go で記述された自動化ツール。GitHub リポジトリをスキャンし、脆弱な Next.js バージョン(CVE-2025-66478)を検出し、特定のセキュリティパッチを含むプルリクエストを自動的に作成します。
環境に以下のものがインストールおよび設定されていることを確認してください。
gh)ツールを実行する前に、GitHub CLI で認証を行う必要があります。
gh auth login
# git プロトコルとして "SSH" を選択し、"GitHub.com" を選択
このリポジトリをクローン(main.go スクリプトを保存した場所)
git clone <あなたのツールリポジトリ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 |
| ... | ... |
完全なリストは main.go の nextJsRules を確認してください。