Post

セキュリティ診断AIエージェント「Takumi」世界最速体験会 参加レポート

2025年4月7日、GMO Flatt Securityが主催する『セキュリティ診断AIエージェント「Takumi」世界最速体験会』に参加してきました。このイベントでは、3月に提供開始された日本初のセキュリティ診断AIエージェント「Takumi」の実力を体験するといったものでした。

Takumiとは

Takumiは、GMO Flatt Securityが提供する、セキュリティ診断に特化したAIエージェントです。スライドから、Takumiは次のような階層構造で設計されていることがわかります。

  • “Brain” Layer: Claude Sonnet 3.7を基盤として、Plan、Command、Execute、Observe、Reportといった機能
  • Execution Layer: Semantic Code Search、Browsing Web、Knowledge、API Integrationなどの機能

特筆すべきは、Takumiが単なるLLMのラッパーではなく、セキュリティタスクのために特別に設計・調整されたエージェントであるという点です。モデルの基本性能に加えて、セキュリティ領域特有の要件に応じた様々な補正や拡張が施されています。

開発背景と現状

セキュリティ診断はこれまで完全に自動化することが難しい領域とされてきましたが、最新のLLMの能力向上により、実用レベルの精度で脆弱性を検出できるようになったことが開発の背景にあるようです。特に複雑なビジネスロジックの脆弱性や、コードの文脈を理解した上での脆弱性診断などは、従来のツールでは捉えきれなかった部分です。

既にプロダクション環境でも活用されており、社内での実用も進んでいるとのこと。特に注目すべきは、実際の顧客環境(同意を得た上で)でも脆弱性診断に活用されているという点で、その実用性が証明されつつあります。

特徴的な機能

思考プロセスの可視化

処理中の思考過程をリアルタイムで表示する機能があります。セキュリティという重要領域では、AIの判断過程が「ブラックボックス」になることを避け、透明性を確保することが重要です。この機能により、どのようにセキュリティ判断が行われているかを追跡できます。

タスクスケジューリング

定期的なタスク実行機能も実装されており、「1日1回これを実行」「1時間後にこれを実行」といった指示が可能です。これにより、定期的なセキュリティレビューの自動化が実現します。

チャンネルごとの独立した知識管理

企業での利用を想定し、Slackのチャンネルごとに独立して存在する設計になっています。これは異なるプロジェクトやチーム間での情報の混在を防ぎ、コンテキストの分離を実現するための工夫です。

ナレッジ機能

特定の調査結果や情報を選択的に記憶させる「ナレッジ」機能も実装されています。これにより、効率的な知識管理と再利用が可能になります。

DevinとTakumiの比較

イベントでは、AIエージェントの使い分けについても言及があり、特に開発特化型AIエージェント「Devin」との比較が興味深く、印象に残っています。

Devin

  • 高速なレスポンス
  • コードを書く・改造する能力に優れる
  • 素早く回答する傾向

Takumi

  • コードを深く読み解く能力に優れる
  • セキュリティ観点からコードは改ざんしない方針
  • 丁寧に検討して回答(Deep Research型)

タスクごとに最適化が必要であり、Devinのような開発支援エージェントは迅速な対応とは対照的に、Takumiはセキュリティタスクという性質上、より慎重で深い分析が求められるため、じっくりと時間をかけて考えるスタイルになっているようです。

こうした比較から、AIエージェントは汎用的な「何でもできる」存在よりも、特定のタスクに最適化された専門家としての役割が現状では効果的であることが示唆されました。将来的には統合される可能性もありますが、現時点では目的に応じたエージェントの使い分けが重要という見解でした。

アクティブなセキュリティモニタリング

体験会で触れたTakumiはユーザーからの問いかけに応答する受動的な設計でしたが、「アクティブTakumi」と呼べるような、より能動的に行動するバージョンが顧客に提供されるということも紹介されました。

例えば、新しいプルリクエストの自動レビューや、新規デプロイされたコードの脆弱性チェックなど、定期的または特定のイベントをトリガーにして自動的に動作するような機能を想定しているようです。こうしたアクティブな監視により、セキュリティ問題の早期発見と対応が可能になると考えられます。

セキュリティと信頼性

Takumi自体のセキュリティと信頼性も重要なテーマです。スライドには「Workspace (Sandbox)」の記載があり、安全な実行環境の確保が強調されていました。また、一時的な認証情報の管理も示されており、セキュリティツールとしての信頼性担保にも配慮されています。

セキュリティ診断を行うツール自体が脆弱であってはならないという当然の要件を満たすために、様々な対策が講じられているようです。

今後のイベント

他にも、次回イベントの予告がありました。これは開発特化AIエージェントであるDevinとTakumiの対決をテーマにしたイベントで、4月22日に開催予定とのことです。

詳しくはこちらをご確認ください。

実際のTakumiの体験会

イベントでは、参加者が実際にTakumiを使ってセキュリティ診断を行う体験会が行われました。私もSlack上でTakumiと対話し、その実力を試してみることにしました。

Takumiとの対話例

Takumiへの脆弱性診断依頼

私はTakumiに対して「badtodoアプリケーションのXSS脆弱性を徹底的に分析してください」と依頼しました。依頼時には以下のような手順を指定しました。

  1. まずアプリケーションのファイル構造と主要なPHPファイルを分析し、ユーザー入力を受け付ける箇所を特定
  2. 特にTODOの追加フォームなどでユーザー入力がどのように処理されているか詳しく調査(入力のサニタイズ、バリデーション、出力時のエスケープ処理などの確認)

Takumiの分析プロセス

Takumiはすぐに分析を開始し、進捗状況を定期的に報告してくれました。まず、badtodoディレクトリの構造を確認し、基本的なファイル構成を把握しました。次に主要なPHPファイルを特定し、以下のファイルを詳細に分析していました。

  • common.php(共通関数、データベース接続など)
  • template.php(HTMLテンプレート)
  • logindo.php(ログイン処理)
  • addtodo.php(TODOの追加処理)
  • todolist.php(TODO一覧表示)
  • todo.php(TODO詳細表示)
  • badapp.php(アプリケーションのコア機能)

Takumiの思考プロセス

Takumiは「In my brain (recent 3 thoughts):」というラベルで思考過程を可視化しており、分析の方向性や着目しているポイントをリアルタイムで確認できるのが興味深かったです。これにより、AIの判断がブラックボックス化せず、その判断根拠を追跡できます。

発見された脆弱性

分析の結果、Takumiは以下の潜在的XSS脆弱性ポイントを特定しました。

  1. todo.php (43-46行目) メモ欄のURLをリンクに変換する際の不十分なエスケープ処理
    1
    2
    3
    
    $memo = nl2br(h($result['memo']));
    $memo = preg_replace('!https?://[a-zA-Z0-9\\+\\$\\;\\?\\%,!#*/:@&=_-]+!', '<a href="${0}">${0}</a>', $memo);
    echo $memo;
    
  2. proxy.php ユーザー入力URLの不適切な処理
    1
    2
    3
    
    $url = filter_input(INPUT_GET, "url");
    $output = curl_exec($ch);
    echo $output;
    
  3. badapp.php (form/aメソッド) フォーム生成時のパラメータエスケープ不足
    1
    2
    
    $result .= "<form action='$url' method='" . ($post_method ? 'post' : 'get') . "'";
    $r[] = "<input type='hidden' name='$key' value='$value'>";
    

Takumiは次のステップとして、見つかった脆弱性ポイントの詳細分析、OWASPガイドラインに基づく脆弱性検証、XSS攻撃ペイロードのテスト計画策定を提案していました。

Takumiの分析レポート

Takumiの特徴的な機能

  1. 思考プロセスの可視化
    「In my brain」セクションで、Takumiが考えていることをリアルタイムで表示。例えば「badapp.phpをチェックして、アプリケーションのコア機能を把握するよ!」「OWASPルールに沿ってXSS脆弱性をチェックしていくよ!」といった思考が表示され、分析の方向性を理解できます。

  2. 進捗報告機能
    「現在の状態を教えて」と尋ねると、現在までの分析状況を詳細に報告してくれます。

  3. Markdown形式でのレポート生成
    中間報告や最終報告をMarkdown形式で整理されたドキュメントとして提供。コードブロックや見出しを適切に使用し、非常に読みやすいレポートを生成します。

  4. アクションプラン提案
    発見した脆弱性の検証方法や修正案も含めた次のステップを提案してくれるため、単に問題を指摘するだけでなく、解決への道筋も示してくれます。

まとめ

今回のTakumi世界最速体験会を通じて、AIによるセキュリティ診断の可能性と実用性を実感することができました。特に印象的だったのは、単なる脆弱性のスキャンツールとしてではなく、コードの文脈を理解し、思考プロセスを可視化しながら分析を進める「協働者」としての側面です。

セキュリティの専門家不足が課題となる中、Takumiのようなツールがその隙間を埋めるポテンシャルを感じました。もちろん、人間のセキュリティ専門家に取って代わるものではありませんが、初期スクリーニングや日常的なコードレビューの強化に大きく貢献できると考えます。

4月22日のイベントでは、開発とセキュリティのAIエージェント対決という形で、さらに興味深い展開が期待できそうだと感じました。

This post is licensed under CC BY-SA 4.0 by the author.