AIエージェントフレームワークを破壊的/重大なアクションについてスキャンした結果、驚くべき発見があった
25のAIエージェントフレームワーク(23,476ファイル)をスキャンしたところ、モデルが制御するパラメータが許可チェックなしに重大なアクションに到達する30の事例が見つかりました。データ損失、実行、エグレスに分類されます。
最新の研究では、25のAIエージェントフレームワークに含まれる23,476ファイルを系統的にスキャンし、特定のパターンを探しました。それは、モデルが制御するパラメータが重要で影響の大きいアクションに到達し、その経路に許可チェックが一切存在しないというものです。その結果、30件の該当事例が発見され、さらに12件の偽陽性も公開前に修正されました。
研究チームはActenonというスキャナを開発しました。これは、例えばMCPデコレータ経由で公開されたツール関数(purge_workspaceなど)において、モデルがパスパラメータを制御できる一方で、呼び出し元に実行権限があるかどうかを確認するガードが一切ない、といった状況を検出します。スキャン結果によると、最も一般的だったのはネットワークエグレス(15件)で、モデルが任意の宛先にデータを送信できるものです。次いでファイル書き込み(7件)、シェル実行(3件)が続きました。
この研究の核心的な洞察は、「検証は認可とは異なる」ということです。多くのAIエージェントツールはリクエストの形式が正しいかどうかをチェックしますが、副作用が実際に発生するその瞬間に、現在の呼び出し元がこの特定のアクションを実行する許可を持っているかどうかを確認するものははるかに少ないのです。この違いはコードレビューでは見えにくく、どちらもガードのように見えます。
再現性を確保するため、各リポジトリはコミットハッシュで固定されました。また、非エージェントのコントロールリポジトリ5つも意図的に含められましたが、そこでは何も見つかりませんでした。これはスキャナの精度を検証するものです。スキャナには限界もあります。例えば、カスタムエージェントループをカバーできず、暗号バインディングによる認可は検証できません。しかし研究チームは、最初の精度が81%だったことやその後の改善を含む、すべての方法と誤りを公開しています。
このスキャナは実行時依存関係がなく、データをアップロードする必要もなく、ローカルで実行できます。研究チームは、発見結果は脆弱性を意味するものではなく、分析した経路上でモデル制御のパラメータが重大アクションに到達し、かつ支配的な認可チェックがないことを示すだけだと強調しています。真のセキュリティは、実行時チェックや外部からの到達可能性評価と組み合わせることで達成されます。
初期実行では、スキャナの精度は81%で、63件の発見のうち12件が偽陽性でした。チームは3つの失敗モードを分析しました:Kubernetesルールが検索クライアントに一致したケース、SQLルールが安全なケースを捕捉したが危険なケースを見逃したケース、そして一括削除呼び出しが認識されていなかったケースです。各修正には恒久的な回帰テストが含まれており、CIはすべての発見が処理されることを保証します。
スキャナは現在、MCP、LangChain、OpenAIのデコレータをカバーしていますが、カスタムエージェントループやアクション/オブザベーションディスパッチャは処理できません。また、署名付き証明書を持つ暗号バインディングの場合、静的解析では検証できません。研究チームは、ランタイムチェックが補完として必要であることを示唆しています。
ユーザーはpipx run actenon-scan scan . を実行してローカルでスキャナを利用でき、アカウントやネットワークコールは不要です。ツールは発見されたアクションの種類と数を明確に報告します。