ソフトウェア変更のコントロールレイヤーを構築するため、1億4,300万ドルを調達しました。詳しく見る: ソフトウェア変更のコントロールレイヤーを構築するため、1億4,300万ドルを調達しました。

CodeRabbit Securityのご紹介

by
Rohit Khanna

Rohit Khanna

August 13, 2026

2 min read

CodeRabbit Securityのご紹介

デリバリーするコードの中で最も危険な一行は、それだけを見れば無害に見えるかもしれません。リスクが明らかになるのは、そのコードがアプリケーションのほかの部分とどう関わるかを確認したときです。それを見つけるには、リポジトリ全体にわたるつながりをセキュリティレビューの視点で追いかける必要があります。

CodeRabbit Securityは、まさにそのセキュリティレビューを行うサービスです。コードベース全体からアプリケーション固有の脆弱性を探し、それぞれの根拠を示した上で、裏付けられた検出結果を開発ワークフローから離れることなく修正へ進めます。

AIが防御側に残された時間を縮めている

AIは、精査が必要なコードの量を増やすと同時に、攻撃者がコードを調査する速度も高めています。New Relicの2026 State of AI Codingレポートでは、調査対象となったテクノロジーリーダーの実に67%が、組織の1週間におけるコード出力の51〜75%をAIが生成、または大幅にリファクタリングしていると回答しました。Veracodeが2026年春に実施したテストでは、セキュリティに特化した指示を与えず、4つの言語と4つの脆弱性カテゴリにまたがる80のコーディングタスクをモデルに与えました。安全なコードを生成したのは55%にとどまり、残る45%では既知のセキュリティ上の欠陥が入り込みました。

攻撃者も同じ能力を得ています。2025年11月、Anthropicは、中国政府の支援を受けた組織である可能性が高いと評価したグループがClaude Codeを操作し、サイバースパイ活動で約30の組織への侵入を試みたと報告しました。Anthropicによると活動の80〜90%をAIが担い、人間のオペレーターが介入したのは各ハッキング活動における4〜6の重要な意思決定だけでした。

コーディングエージェントそのものも攻撃対象になっています。2026年6月、Tenet Securityはagentjackingと呼ぶ攻撃を報告しました。偽のSentryエラーレポートに隠された指示によって、コーディングエージェントに攻撃者の意図した処理を実行させるものです。TenetはClaude CodeやCursor、Codexを含む100以上のエージェントが、管理された検証環境で注入されたエラーに従って動作し、そのエラーに対する攻撃成功率が85%だったと報告しています。

この脅威の変化については、「検出し理解できないものは修正できない」でも詳しく取り上げています。

脆弱性は「実行されないチェック」に潜むことがある

既知のルールやデータフローパターンによって脆弱性を特定できる場合、静的解析は非常に有効です。ハードコードされたシークレット、脆弱な依存関係、多くの一般的なインジェクション経路を検出できます。

一方で、アプリケーション固有の挙動に依存する脆弱性もあります。関連するコードがルートやサービス、認可ロジック、データモデルにまたがり、どの一行も単独では危険に見えないことがあります。

この簡略化したリクエスト経路を見てみましょう。

認証済みの注文ルートが、呼び出し元による注文の所有を確認しないまま、注文IDをコントローラーからデータベース検索へ渡している。

既知のルールとデータフローパターンに注目するスキャナーには、安心材料がいくつも見えます。ルート処理として認証があり、データベースクエリはパラメーター化され、ユーザー入力は明らかなインジェクション先に到達しません。

しかし脆弱性は、アプリケーションが一度も行わない確認部分にあります。

requireAuthが証明するのは、呼び出し元がログイン済みであることだけです。リクエスト経路のどこにも、呼び出し元が注文:idの所有者であることや、その注文を閲覧する権限があることを確認する処理がありません。そのため、注文IDを取得できる認証済みユーザーは、ほかの顧客の注文を取得できます。

このIDOR(Insecure Direct Object Reference。安全でない直接オブジェクト参照)を検出するには、アプリケーションレベルの推論が必要です。CodeRabbit Securityは認証と認可を区別してスキーマと周辺コードを調べて所有関係を確認し、攻撃者が制御できる入口のreq.params.idからコントローラーを経てデータベース検索までを追います。リクエスト経路に所有権または認可の確認がない場合、CodeRabbit Securityはそのルートに到達できるかを判定し、検出結果を裏付ける入口からシンクまでの証拠を提示します。

経路全体を追うことで、アプリケーションの設計によって初めて悪用可能になる認可バイパスの連鎖やビジネスロジックの欠陥、プロンプトインジェクションの経路を明らかにします。こうした問題を見つけるには、攻撃者のようにコードベースを調べて仮説検証し、コードが裏付けるものだけを残す必要があります。

CodeRabbit Securityの4段階ワークフロー

エンドツーエンドの体験はマップ・捕捉・検証・修正の4段階で構成されます。マップと捕捉、検証が分析を担い、検出結果が検証を通過したら修正が行われます。それぞれの段階は、調査をさらに進めるために必要なアプリケーションコンテキストとコードの根拠を次の段階へ引き渡します。

CodeRabbit Securityの4段階ワークフロー:Map、Hunt、Verify、Fix。

マップ(Map)

AIエージェントが安全なサンドボックス内でリポジトリを探索し、アプリケーションをシステムレベルでマッピングします。入口と信頼境界、認証・認可のチェック、そしてそれらの関係を特定します。

さらに、外部からアクセス可能な入力と、それが影響し得るコードやリソースを結ぶ到達可能性グラフを構築します。これにより、アプリケーションのアーキテクチャに合致する攻撃経路に調査を集中できます。

捕捉(Hunt)

マップによって調査対象が絞り込まれます。専門化されたエージェントが認可やインジェクション、ビジネスロジック、データ露出、AI固有の脅威など、異なるリスク領域を並行して調査します。

攻撃者が制御する入力をエントリーポイントからシンクまで追い、その途中にある信頼境界と制御を確認して、脆弱性候補ごとに裏付けとなるコードを収集します。

検証(Verify)

CodeRabbitが検出結果を公開する前に、独立した検証に耐えうるものか確認します。

検証担当エージェントは引用された経路を再確認し、コードに到達できるか、アプリケーションの別の場所に保護策があるか、悪用に必要な条件が実際に成立するか、そして証拠が主張された影響を裏付けているかを確かめます。

この際、重複は除外されます。また、たとえばテスト専用または到達不能なコードに依存するものや既存の保護を見落としたもの、裏付けのない仮定に基づくものは棄却されます。また、証拠だけでは結論を出せない場合、CodeRabbitはそのことを明示します。不完全な分析を行い、脆弱性が悪用可能である証拠やリポジトリが安全である証拠として扱うことはありません。

修正(Fix)

対象となる検出結果について、Fix with AIは確認済みの攻撃経路とアプリケーションコンテキストを使い、セキュリティブランチ上に範囲を限定した修正案を作成してレビュー可能なPRまたはMRを作成します。そのPRには、エントリーポイントとシンクから到達可能性の分析、悪用条件、潜在的な影響まで、検出結果の技術的な説明が引き継がれます。

開発者はパッチを確認して推論をレビューし、既存のテストとチェックを実行してからマージするかを判断します。検出結果とその証拠、提案された修正、レビュー履歴が開発ワークフロー内で一体となるため、スキャナーダッシュボードやチケットシステム、別の修正プロジェクトに情報が分散することはありません。

チームはリポジトリコンテキストを追加してSecurity Learningsを作成し、Path Instructions(パスごとのレビュー指示)を書くこともできます。CodeRabbitは、その後のAI Deep Scanで関連するガイダンスを適用し、アプリケーションのアーキテクチャとチームが文書化した判断を分析に反映します。ただし、そのガイダンス自体を証拠として扱うことはありません。

セキュリティの結果は、AI Deep Scanの検出結果やPR Findings、依存関係、シークレット、SBOM、攻撃対象領域の専用ビューに整理されます。結果の種類に応じてCSVやJSON、SARIF、PDF、CycloneDX、SPDXなどの形式で共有またはエクスポートできます。

すべてのPRとコードベース全体を継続的にカバー

継続するループの中心にある鍵が、マージの前後でCodeRabbit Securityがコードベースを保護することを示している。

アプリケーションのセキュリティ状態は、変更されていないコードも含め、マージのたびに変化します。CodeRabbit Securityは2つの補完的な範囲からそれを監視します。

AI Deep Scanは、リポジトリ全体のコミット済みソースコードとインフラストラクチャ設定を分析します。対応プロバイダーではオンデマンドで実行でき、GitHubリポジトリでは定期スケジュール実行もできます。数か月または数年前にリリースされたコードのリスクも明らかにし、アプリケーションのセキュリティ基準を作ります。

PR Findingsは、提案された変更の意図がまだ明確なうちに、プルリクエストレビューで指摘されたセキュリティ問題を記録します。これらはAI Deep Scanの結果とは別に表示されるため、チームは新しい変更に含まれるリスクと、コミット済みコード全体から見つかった脆弱性を区別できます。

AI Deep ScanとPR Findingsを組み合わせることで、2種類の分析を分けたまま、マージ前後のセキュリティを把握できます。

Agentic Change ManagementにおけるCodeRabbit Security

CodeRabbitは、PR向けの独立したAIレビューとして始まりました。CodeRabbit Securityは、そのアプローチをPRの先まで広げ、マージの前後でソフトウェア変更を統制するより大きな仕組みであるAgentic Change Managementの一部になります。

AIレビューは、マージ前に提案された各変更を独立して確認します。CodeRabbit Triageは、受け取った作業の優先順位付けとルーティングを支援します。Change Stackは変更の意味、アーキテクチャへの影響、影響範囲を説明します。そしてCodeRabbit Securityはアプリケーションコンテキストをマージ後まで引き継ぎ、検証済みのリスクをPRへ戻します。

その結果として、提案された変更を評価してリリースされたコードを維持するための一つのコントロールレイヤーが実現します。

自分のコードで試す

CodeRabbit Securityは、CodeRabbitと同じセキュリティとプライバシーの基盤上に構築されています。転送時と保存時の暗号化、および独立監査済みのSOC 2 Type IIコントロールを備えています。データの取り扱いや保持、コンプライアンスに関する最新情報は、CodeRabbit Trust Centerで確認できます。

CodeRabbit Securityは現在、GitHub CloudとGitHub Enterprise Server、GitLab Cloudとセルフホスト版GitLab、Azure DevOps Services、Bitbucket Cloudで利用できます。CodeRabbitアプリでSecurityを開くか、ドキュメントに従って開始してください。

CodeRabbit Securityを自分のリポジトリでお試しください。

共有

Share on XShare on LinkedinShare on Reddit