拡張機能研究所

おすすめのブラウザ拡張機能をマンガ形式で紹介!

2025/08/24 01:00

たった1つのPRから始まった!CodeRabbitの脆弱性で100万リポジトリに書き込み権限をゲットした話

CodeRabbitの仕組みの穴を利用して、シンプルなプルリクエストからリモートコード実行(RCE)や100万以上のリポジトリへの書き込み権限を得ることができた脆弱性の詳細と、その裏側をわかりやすく紹介します。
たった1つのPRから始まった!CodeRabbitの脆弱性で100万リポジトリに書き込み権限をゲットした話

なんとなく思ってたけど、オープンソースの世界って意外とシェアや連携が複雑で、ちょっとしたミスが大きな穴になっちゃうんだなあって気づいたよ💭

今回のお話は、CodeRabbitっていうGitHubとかのリポジトリ管理を便利にするツールの脆弱性について。たった1つのプルリクエスト(PR)を作るだけで、リモートコード実行(RCE)できて、100万以上のリポジトリに書き込み権限を持てるようになっちゃったって話なんだ😳


CodeRabbitって何?🤔

CodeRabbitは、GitHubとかGitLabみたいなリポジトリをまとめて管理したり、何か変更があったときに自動で処理を走らせたりできるツール。
なんか便利そうだけど、実は裏でいろんな自動処理が動いてるから、その仕組みのセキュリティが超大事なんだよね💡


どうやって攻撃が始まったの?🧐

今回の研究チームは、まずは普通にPRを送ってみた
でもただのPRじゃなくて、そこに仕込んだ「悪意あるコード」を通じさせる仕掛けがあったんだ。

そのPRがマージされるときにCodeRabbitの自動処理が走るんだけど、これが思いのほかザルで…
中に書いたコードがそのまま実行されちゃうっていうやばい状態に😱


何が起きたの?💥

このリモートコード実行(RCE)ができると、CodeRabbitの権限で好き勝手できちゃう。
そこからさらに、約100万ものリポジトリに対して書き込み権限を手に入れられたらしいんだよね🥺

つまり、たった1つのPRで、めちゃくちゃ大量のプロジェクトに影響を及ぼせるようになったってわけ。


気をつけたいポイント📌

  • 自動処理の中で外部から入れたコードを安易に実行しちゃダメってことがわかった✨
  • 便利なツールほどチェックが甘いと危険度が跳ね上がる💭
  • 特にオープンソースや大規模連携の場では、1つの小さなミスが大きなリスクに繋がる👀

こういうのを見ると、技術の便利さの裏には必ずリスクがあるんだなあって改めて思わされるよね💗
でも、ちゃんと脆弱性を見つけて報告するチームがいるから、みんなが安心して使えるようになるんだろうなって感じたかも🥺✨

ひとことアニメーション表示ON
びっくりしすぎて声出たよ😳


関連記事