私が知る限り、どのセキュリティチームにも、APIに殺到する悪意あるトラフィックへの対策がある。レート制限、スコープを限定したトークン、異常検知など、あらゆる手段を講じる。通常、その対策は悪意ある呼び出し元が社外にいることを前提としている。
私が懸念している呼び出し元は、すでに内部にいて、認証済みで、指示されたとおりに動いている。それはAIエージェントだ。APIから見れば、問題のあるエージェントも悪用するエージェントも、まったく同じに見える。
私はバックエンドサービスと本番環境のAIエージェントをAmazon Advertisingで構築・運用している。私が運用するエージェントは、実際の業務を行うためにツールやAPIを呼び出す。広告主の分析データを読み取り、回答を組み立て、見つけた情報に基づいて行動するのだ。運用を通じて、ツール呼び出しの悪用は攻撃者だけの手法ではないと学んだ。それは、正常なエージェントが調子を崩した日に、有効な認証情報を使い、マシンの速度で行うことでもある。
悪用のパターンは組み込まれている
まずはリトライだ。ツール呼び出しがタイムアウトすると、エージェントは処理が実行されたかどうか判断できない。そこで、もう一度呼び出す。単に遅かっただけの書き込みが、二度実行された書き込みになる。攻撃者はこれをリプレイと呼ぶ。あなたのエージェントは、役に立とうとしているだけだ。
次に、ファンアウトがある。1つのユーザーの質問が計画になり、その計画が数十回のツール呼び出しになる。そして各呼び出しは、モデルにとっては広く網を張るほうが安全に感じられるため、必要以上に多くのデータを取得する。同時に質問するユーザー全員についてこれが繰り返されれば、容量の検証では予測できなかった負荷パターンが、認証済みの呼び出し元だけによって生み出されることになる。
最後に、文字どおりの意味での権限範囲の拡大がある。広範なトークンを持つエージェントは、それを使う。すべてのテーブルを読み取る権限をツールに与えれば、エージェントはタスクに必要なかったテーブルまで読み取る。指示のどこにも、そのテーブルが特別だとは書かれていないからだ。制御手段は認証情報であり、その認証情報は「許可」を示していた。
意図ではなくインターフェースを守る
エージェントの意図を調べても、この問題は安全にできない。強力なクライアントを守るのと同じ方法、つまりインターフェースで守るのだ。
エージェントの各ワークフローに固有のIDを割り当て、そのワークフローが必要とするツールとデータだけにスコープを限定したトークンを持たせる。要約用のワークフローが書き込みトークンを持つ理由はないし、書き込みを行うワークフローがデータウェアハウス全体を読み取る理由もない。
書き込み用ツールは冪等にする。各リクエストにキーを付け、結果を保存する。同じキーが再び届いたら、もう一度処理を実行するのではなく、保存済みの結果を返す。適切に実装すれば、リクエストの重複によって同じ書き込みが複数回実行されるのを防げる。
これにより、正当なリトライと、特定のリプレイ攻撃の両方によって重複した処理が発生するリスクも抑えられる。
エージェントの活動を監視し、制限を適用する
特権ユーザーの操作を記録するのと同じように、ツール呼び出しをログに残す。どのエージェントが、どのワークフローで、何を読み取り、何を変更したのか、誰のリクエストによるものかを記録する。問題が起きたとき、そして問題は必ず起きるが、調査に何時間もかかるようではいけない。考古学のような作業にしてはならない。
予算を設定する。タスクごとに呼び出し回数とデータ量の上限を設ければ、暴走した動作を、インシデントではなく、明確なエラーを返して停止したタスクに変えられる。エージェントが予算を理解する能力は、若手エンジニアと同程度だ。つまり、予算はプロンプトで要求するのではなく、システムが強制しなければならない。
こうした制限は、エージェントが自ら停止することに頼るのではなく、APIゲートウェイやツール実行レイヤー、その他の信頼できるサービスで適用すべきだ。
これらは、適切に動作するエージェントの速度を落とすものではない。そのすべてが、エージェントが仕事をしている状態と、エージェント、あるいはエージェントを操る誰かが、あなた自身の認証情報で被害をもたらしている状態との間に、明確な境界線を引く。その境界線こそ、API防御が常に守るべき場所なのだ。
AIからより良い結果を引き出したいですか?eSecurity Planetの読者は、The Neuron Academyを7日間無料で利用できます。AIのヒントや裏技、プロンプトのテクニックが満載の実践的な学習プラットフォームです。まずは無料の6分間コース、How to Talk to AIを受講して、より良いプロンプトを書き、より役立つ回答を得る簡単な方法を学び、さらにレッスンを進めて、職場でAIを使うスキルと自信を身につけてください。





