AIコーディング最大の課題がついに解決

AAI LABS
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00AIによって誰もがコーディングできるようになり、
00:00:04開発のスピードは格段に上がりました。
00:00:05しかし、それ以上の速さでアプリ内のセキュリティ問題が積み上がっています。
00:00:09ここ数ヶ月で、状況はさらに悪化しています。
00:00:12エージェントがプロジェクト全体を削除してしまった例も少なくありません。
00:00:16開発者が全く無関係な作業をしている間に、別のエージェントが
00:00:20本番データベースを丸ごと削除したこともありました。
00:00:22Appleの社内用「Clod.md」が流出するなど、同様のトラブルが多発しています。
00:00:26そのため、こうした問題を検知するツールの重要性がかつてないほど高まっています。
00:00:30こうした状況を受け、VercelはAI生成アプリの脆弱性を検知する
00:00:35「DeepSec」というセキュリティハーネスをリリースしました。
00:00:37「Claude Codeならエージェント自身でレビューできるのでは?」と思うかもしれません。
00:00:42では、なぜわざわざDeepSecが必要なのでしょうか?
00:00:44それは、DeepSecがより体系的にレビューを処理する構造化ツールだからです。
00:00:49内部では、Claude CodeやCodexなどのコーディングエージェントを使用しています。
00:00:52このツールは、並列設計によってワークフローを高速化し、
00:00:57コードを複数のグループにバッチ処理するため、
00:01:01大規模なリポジトリのスキャンに最適です。
00:01:03ただし、コスト効率を重視して設計されているわけではありません。
00:01:06最強のモデルであるClaude Code Opus 4.7(max effort)や
00:01:10GPT 5.5(x-high reasoning)を使用するため、大量のトークンを消費します。
00:01:16これらを並列実行すると、トークン使用量が急速に積み上がり、コストが増大します。
00:01:20すでにいくつかの有名アプリが導入しており、良好な結果が報告されています。
00:01:25テストでの偽陽性率は、およそ10~20%でした。
00:01:30LLMの一般的な精度を考えると、この数字は非常に優秀です。
00:01:33つまり、エージェントはほとんどの場合で正しく、
00:01:37真陽性の確率が高いことを意味します。
00:01:38他と一線を画すのは、その背後にあるアーキテクチャです。
00:01:40通常のエージェントにレビューを依頼すると、直接コード全体をスキャンし、
00:01:45フルレポートを作成しようとします。
00:01:48これでは時間がかかるだけでなく、トークンを大量に消費し、
00:01:52見落としが発生する可能性もあります。
00:01:53そこで最初のステップとして、まずRegEx(正規表現)のみで全ファイルをスキャンし、
00:01:58セキュリティ上重要な箇所を特定して、後の工程で重点的に調査します。
00:02:01RegExによる検知は、数千ものファイルが存在しうる
00:02:06大規模なコードベースにおいて非常に重要です。
00:02:08脆弱性の可能性が高い既知のコードパターンをRegExで照合し、
00:02:13膨大なファイル群から対象を絞り込みます。
00:02:16絞り込みが完了したら、次にエージェントによる詳細な調査を行います。
00:02:21エージェントはトークンを多く消費し、コストも時間もかかる
00:02:25最もリソースを必要とする部分です。
00:02:28そのため、全ファイルをバッチに分割して並列化し、
00:02:32同時に処理できるようにしています。
00:02:34調査が終わると、次は「再検証」のステップです。
00:02:37調査結果をダブルチェックして、偽陽性を排除します。
00:02:40見落としを防ぎ、分類が正しく行われていることを
00:02:45確実に保証します。
00:02:46なお、この再検証ステップは任意です。
00:02:47その後、エージェントはGitのメタデータなどを利用して、
00:02:51どの問題に誰が責任を負うべきかを特定します。
00:02:53全工程が完了すると、結果はMarkdownまたはJSONで保存され、
00:02:57人間やコーディングエージェント向けのチケットとして発行されます。
00:03:01前述の通り、ファイルはバッチ化され、
00:03:051回につき約5ファイルずつ処理されます。
00:03:06各バッチでは、使用されているフレームワークやプロジェクト情報に基づき、
00:03:11最新のプロンプトが作成されます。
00:03:12設定されたClaudeまたはCodexのAgent SDKがそれらを分析し、
00:03:17読み取り専用ツールを使ってコードベースの内容を理解します。
00:03:22最終的な分析結果は1つのファイルにマージされ、
00:03:26重複の排除と正規化が行われます。
00:03:27最後に、分析がすべてを網羅しているかを確認するフォローアップステップがあります。
00:03:31この体系的かつ構造化されたプロセスにより、
00:03:36ハーネスなしの状態よりもはるかに高い精度で問題を特定できます。
00:03:41実際に試すため、学習用に意図的に脆弱性が組み込まれた
00:03:45オープンソースのWebアプリプロジェクトを使用しました。
00:03:47このツールが、リポジトリ内のすべての問題を
00:03:52自力で検出できるかを確認したかったのです。
00:03:53このプロジェクトには10個のセキュリティ問題が含まれており、
00:03:56修正方法を含めた詳細はすべてコード内に記載されています。
00:03:58DeepSecを実行するには、まず「deepsec init」コマンドで
00:04:03依存関係をインストールし、.deepsecフォルダを作成します。
00:04:08また、エージェントに入力するためのプロンプトも提供されます。
00:04:12今回はClaude Codeを使用したため、そのプロンプトをClaudeで実行し、
00:04:16プロジェクト情報をまとめたテンプレート形式の
00:04:21「info.md」ファイルを作成させました。
00:04:23このコマンドはプロジェクトのルートではなく、.deepsecフォルダ内で実行します。
00:04:27上の階層(プロジェクトルート)にあるすべての情報を読み取るよう
00:04:31エージェントに指示するためです。
00:04:32info.mdには、コードベースの概要、認証フロー、
00:04:37脅威モデル、プロジェクト固有のパターン、
00:04:42既知の偽陽性などが含まれます。
00:04:44このファイルができたら、次は「deepsec scan」コマンドを実行します。
00:04:48これは先ほど説明したRegEx照合を行い、
00:04:52潜在的な問題があるファイルをリストアップします。
00:04:57単なるパターンマッチングなので、この工程は非常に高速です。
00:05:00次に「deepsec process」コマンドを実行します。
00:05:02Vercel API Gateway、Codex、Claudeなど、
00:05:07.env.localに使用したいモデルのAPIキーを指定できます。
00:05:11指定しない場合は、デフォルトでClaude Codeのサブスクリプションを使い、
00:05:16個別のAPIキーなしで認証が行われます。
00:05:19プロジェクトをバッチに分割し、それぞれに複数のツールを適用します。
00:05:23各バッチの終了後には、消費されたトークン数と
00:05:27推定コストのサマリーが表示されます。
00:05:28サブスクリプション利用中なら追加費用はかかりませんが、
00:05:32APIコストの目安として役立ちます。
00:05:35大規模プロジェクト向けに設計されているため、信頼性も考慮されています。
00:05:39レビュー中にエラーが発生しても、最初からやり直すのではなく、
00:05:43中断した箇所から再開することができます。
00:05:46スキャン完了後に「deepsec report」コマンドを叩くと、
00:05:50重要度別に分類されたJSONおよびMarkdown形式の
00:05:55レポートが生成されます。
00:05:56レポート生成後は、必要に応じて「再検証」を行うことができます。
00:06:00このステップは完全にオプションです。
00:06:02実行するか、そのままスキップするかを選べます。
00:06:04実行すると、報告された内容が本当に脆弱性なのか、
00:06:08それとも偽陽性なのかを検証します。
00:06:09最後に「export」コマンドで、すべての結果を
00:06:13findingsフォルダに書き出します。
00:06:15このフォルダには、優先度順にフォルダ分けされた
00:06:20各問題のファイルが作成されます。
00:06:22そこには、該当するファイル名と行数、
00:06:26深刻度、そしてモデルの確信度が記載されています。
00:06:30さらに、どのコミットで混入したか、誰の仕業かも特定されます。
00:06:34推奨される修正方法、再検証結果、
00:06:39対処済みの問題一覧なども含まれています。
00:06:41バグを再現するための手順までレポートに含まれます。
00:06:44しかし、今回のテストでは、コード内にヒントがあったにもかかわらず、
00:06:48すべての問題を特定することはできませんでした。
00:06:52意図的に組み込まれた脆弱性がなぜ見逃されたのか、
00:06:56Claudeと一緒に原因を分析しました。
00:06:59その結果、3件しか報告されなかった理由は、
00:07:03info.mdファイル内の記述にありました。
00:07:07DeepSecは、すでに10個の脆弱性が知られているアプリであることを前提に、
00:07:12それ「以外」の問題にフォーカスしてしまったのです。
00:07:16既知の問題をあえて無視し、新しいパターンを探すことで、
00:07:21時間とトークンを無駄にせず、スキャンを効率化しようとした結果でした。
00:07:25そこで、別のアプリで再テストを行いました。
00:07:28スキャンから処理まで、同じ手順を踏みます。
00:07:32今回は再検証を省き、すぐにレポートを作成してエクスポートしました。
00:07:36今度のinfo.mdにはアプリの詳細のみを記載し、
00:07:42余計な前提条件は含めませんでした。
00:07:43比較のため、Claudeにも直接コードレビューを依頼し、
00:07:48どちらのパフォーマンスが良いかを検証しました。
00:07:52DeepSecのレポートでは、様々な深刻度のバグが検出されました。
00:07:56合計9件の問題が見つかり、詳細なレポートと
00:08:01修正ステップが提示されました。
00:08:02こうした推奨修正案は、他のレポートツールにはない強みであり、
00:08:05デバッグを大幅に楽にしてくれます。
00:08:09一方で、Claudeの単体レポートはより詳細で、39件の問題を指摘しました。
00:08:13そこで、まずは差分を確認しました。
00:08:15確かにClaudeの方が指摘数は多かったです。
00:08:18ただ、これはCodexのテスト時にも見られた傾向なのですが、
00:08:20Claudeは対象範囲外の問題まで拾ってしまう傾向があります。
00:08:24DeepSecがターゲットとする特定のスコープに集中してくれないのです。
00:08:29範囲を絞るよう指示すると、指摘数は13件にまで減りました。
00:08:34それでも、DeepSecが逃し、Claudeが見つけた問題がいくつかありました。
00:08:38DeepSecが見逃した原因は、それがコード自体に含まれ、
00:08:43関数内で直接解決できる問題のみに特化しているからです。
00:08:47アプリ実行時に発生するCORS関連の問題などは
00:08:52検出しません。
00:08:53論理的なパターンやアーキテクチャ上の決定も対象外です。
00:08:57先ほど言ったように、RegExでファイルをフィルタリングするため、
00:09:01コード上に明示的に存在するものが主な対象となります。
00:09:05実行時に動的に発生する可能性のある問題には弱いのです。
00:09:08もし私たちのコンテンツを気に入っていただけたら、ぜひHypeボタンを押してください。
00:09:12より多くの人に情報を届ける励みになります。
00:09:15これらの手順を一つずつ自分で行う代わりに、
00:09:20Vercelのセキュリティスキャナーをエンドツーエンドで使いこなすための
00:09:24「DeepSecスキル」を作成しました。
00:09:28これを使えば、ユーザーの指示からタスクを判断し、全工程を自動で管理してくれます。
00:09:32多くのアセット、評価指標、リファレンスが同梱されており、
00:09:37解決策の提示やリポジトリの運用をサポートする
00:09:42各種スクリプトも含まれています。
00:09:43これを使えば、モデルを指定するだけで
00:09:47セキュリティスキャンを丸投げできます。
00:09:50前述の全ステップを実行し、従来の見落としもカバーしながら、
00:09:54DeepSecの能力と補完的な分析を組み合わせた
00:09:59より精度の高いレビューが可能になります。
00:10:02このスキルとリソースは、AI Labs Proで公開しています。
00:10:07ダウンロードして、ご自身のプロジェクトにご活用ください。
00:10:11私たちの活動を応援していただけるなら、
00:10:15これが一番のサポートになります。
00:10:16詳細は概要欄のリンクをご覧ください。
00:10:17さて、今回の動画はここまでです。
00:10:19チャンネルを支援し、こうした動画制作を続けてほしいという方は、
00:10:23下のスーパーサンクスボタンからお願いします。
00:10:25ご視聴ありがとうございました。また次回の動画でお会いしましょう。

Key Takeaway

VercelのDeepSecは、正規表現による高速フィルタリングとClaude Opus 4.7等の高性能LLMによる並列処理を組み合わせることで、AI生成コード特有のセキュリティリスクを実用的な精度で自動検知します。

Highlights

  • Vercelがリリースしたセキュリティハーネス「DeepSec」は、AI生成アプリの脆弱性を10~20%の偽陽性率で検知します。

  • 大規模なリポジトリのスキャンにおいて、まず正規表現(RegEx)でファイルを絞り込み、その後にClaude CodeやCodexなどの高精度モデルで詳細調査を行う多層構造を採用しています。

  • スキャンプロセスは並列設計されており、1回につき約5ファイルずつバッチ処理することで大規模コードベースの検証を高速化します。

  • 検出結果には重要度、コードの行数、混入させた担当者の特定、さらにはバグを再現するための具体的な手順まで含まれます。

  • AI Labs Proで公開されている「DeepSecスキル」を導入することで、モデルの指定からレポート生成、修正案の提示までの全工程を自動化できます。

Timeline

AIコーディングの普及と深刻化するセキュリティリスク

  • AIエージェントがプロジェクト全体や本番データベースを誤って削除するトラブルが多発しています。
  • Appleの「Clod.md」流出のような機密情報の漏洩リスクが拡大しています。

開発スピードの向上に伴い、セキュリティ問題の蓄積がそれを上回る速さで進行しています。人間が関与しない場所でエージェントが破壊的な操作を行う事例が報告されており、AI生成物の監視ツールの必要性が高まっています。

DeepSecのアーキテクチャとコスト設計

  • DeepSecはClaude Code Opus 4.7やGPT 5.5といった最高性能のモデルを並列実行してスキャンを行います。
  • 偽陽性率は10~20%に抑えられており、一般的なLLMの精度を大きく上回ります。

単一のエージェントに全コードを読み込ませる手法はトークン消費と見落としの面で非効率です。DeepSecはコスト効率よりも検知精度を優先し、高推論モデルを並列利用することで、大規模なリポジトリでも高い真陽性率を維持します。

構造化されたスキャンプロセスと再検証の仕組み

  • 最初のステップとして正規表現(RegEx)を用い、数千のファイルから脆弱性の可能性が高い箇所を高速に特定します。
  • Gitのメタデータを解析し、特定された脆弱性に対して責任を持つ開発者を自動で紐付けます。

全ファイルを5件ずつのバッチに分割し、Agent SDKが読み取り専用ツールで内容を理解します。分析結果は重複排除と正規化を経て1つのファイルに統合され、MarkdownまたはJSON形式で実用的なチケットとして発行されます。オプションの再検証ステップでは、偽陽性の徹底的な排除が行われます。

実戦テストにおける検出能力と制約

  • 「deepsec init」から「deepsec report」までの一連のコマンドで、初期設定から解析結果のエクスポートまで完結します。
  • 「info.md」に既知の脆弱性情報を記載すると、DeepSecはそれらを無視して新しい未知のパターンのみを探そうとします。

10個の脆弱性が含まれる学習用アプリでのテストでは、事前情報の与え方次第で検出数が変動しました。DeepSecは効率化のために既知のパターンを意図的にスキップする性質を持つため、プロジェクト概要のみを「info.md」に含めることが網羅的な検知には有効です。

DeepSecとClaude単体レビューの比較と自動化スキル

  • DeepSecはコード内に明示された関数レベルの問題に特化しており、CORS等の動的な実行時エラーは対象外です。
  • 「DeepSecスキル」を利用することで、複雑なコマンド操作を省略し全工程を自律的なタスクとして実行できます。

Claude単体でのレビューは指摘数が多い反面、スコープ外の問題まで拾いすぎる傾向があります。DeepSecは特定の脆弱性スコープに集中し、具体的な修正ステップやバグ再現手順まで提供する点が強みです。AI Labs Proで提供されるカスタムスキルを使えば、これらの高度なスキャンをワンクリックで運用可能です。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video