何が起きたか
Repomix の shallow-clone ヘルパーは、ユーザーが制御可能なブランチ名パラメータを git コマンドに渡す前にサニタイズしなかったため、git オプションインジェクションが可能になりました。
なぜ重要か
Repomix は開発者がリポジトリコンテンツを LLM コンテキストウィンドウ用にパッケージ化するために広く使用されています。AI ツーリングパイプラインのクローンステップ中にオプションインジェクションが発生すると、信頼されていないサードパーティリポジトリをパッキングするときにコード実行につながる可能性があります。
攻撃経路
src/core/git/gitCommand.ts の execGitShallowClone 関数は、--remote-branch 値を検証またはオプション終了セパレータなしで git fetch と git checkout に直接渡します。これにより、攻撃者が提供したブランチ名が --upload-pack などの追加 git オプションを挿入でき、クローン中のコマンド実行につながる可能性があります。
影響を受けるシステム
Repomix 1.14.1 より前のバージョン
緩和策
Repomix 1.14.1 以降にアップグレードしてください。