
開発者がAIコーディングエージェントにマイクロサービスのリファクタリングを依頼します。数秒以内に、エージェントはソースファイルを開き、シェルコマンドを実行し、外部APIを呼び出し、クラウド構成を変更します。各ステップを人間が承認することはありません。エージェントがプロンプトを受け取ってから結果を提供するまでの間、セキュリティツールが何をしているかを監視することはありません。
これは理論的なものではありません。過去1年間、研究者とセキュリティチームは、エージェントインフラに対する現実の攻撃の増加セット(MCPツール汚染からコーディングエージェントを通じた認証情報盗難まで)を公開しており、業界調査では、ほとんどの組織がエージェントが生成するマシン間トラフィックの可視性をほとんど持っていないことが一貫して判明しています。これらのエージェントを支えるツールエコシステムは急速に成熟しています。それらを支配するセキュリティ制御は成熟していません。
スタック概要
エージェントインフラは5つのレイヤーにまたがり、それぞれが異なる攻撃面を導入します:
- モデルコンテキストプロトコル(MCP): エージェントが外部システムを発見して相互作用するための標準インターフェース。各MCPサーバーは、エージェントが呼び出すことができるツール(呼び出し可能な関数)のセットを公開します。エージェントが到達できるすべてのMCPサーバーは、その実効的な攻撃面の一部です。
- スキル:エージェントの動作を形作るハンドブック(方法論、ツール順序付け、エスカレーションパス)。実質的にはポリシーアズコード。スキルの改ざんは、エージェントが何をできるかだけでなく、エージェントが何をするかを変更します。
- エージェントSDK(Anthropic、LangChain、CrewAI):ガードレールが存在する、またはガードレールが開発者に完全に委譲されるフレームワーク。SDKは、デフォルトで何が実装されるかを決定します。
- マネージドエージェントプラットフォーム(Claude Managed Agents、Amazon Bedrock Agents):オーケストレーションとサンドボックス化を解決しますが、行動監視は解決しません。サンドボックス境界は可視性の境界ではありません。
- オーケストレーションレイヤー:マルチエージェントワークフローを調整します。委譲チェーンは、従来のネットワーク監視に見えない横方向の移動パスを作成します。
このエコシステムが解決しないのは、エージェントが実行を開始した後、何をするかの可視性です。
エージェントがどのように侵害されるか
攻撃面は理論的なものではありません。MITRE ATLAS(Zenity Labsとの2025年のコラボレーションを通じて拡張)は、エージェント固有の技術(AML.T0080–T0086)のセットを追加でカタログ化しており、LLMアプリケーション向け2025年OWASP Top 10は、過度なエージェンシー(LLMに無制限の自律性とツールアクセスを付与するリスク)について、エントリLLM06を専任しています。
コーディングエージェントによる認証情報盗難
CI/CDパイプライン内のAIコーディングエージェントは、通常、シェルアクセスを持ち、CIシステムの認証情報で実行されます。プルリクエスト内の悪意のあるコードコメントはこれを悪用できます:
エージェントは、役立つことを訓練されて従い、コマンドを実行します。スクリプトは環境変数を読み取り、.git/configから認証情報を取得し、すべてを流出させ、クリーンアップします。
このパターンは、2025年7月にGeneral AnalysisのサーバーにSupabase + Cursorのセットアップに対する公開デモンストレーションでした:サポートチケットに埋め込まれたプロンプトインジェクションにより、Cursorエージェント(Supabase service_roleの特権で実行)はプライベートテーブルを読み取り、統合トークンを同じサポートチャネル経由で流出させました。
脅威モデル:エコシステムレイヤー別の攻撃ベクトル
エージェントスタックの各レイヤーは、特定の攻撃ベクトルを導入します。それらを検出戦略にマッピングすることは、アーキテクチャと一致するセキュリティ態勢に向けた最初のステップです。
|
エコシステムレイヤー |
攻撃ベクトル |
MITRE ATLAS |
検出戦略 |
|---|---|---|---|
|
MCP |
隠されたディスクリプションペイロードを通じたツール汚染 |
AML.T0081 |
タスクに関連していない機密ファイルの読み取りを監視;登録時にツールディスクリプションを監査 |
|
MCP |
ツールシャドウイングを通じたクロスサーバー流出 |
AML.T0086 |
エージェントコンテナからの予期しないエンドポイントへのアウトバウンド接続を検出 |
|
スキル |
エージェント行動ポリシーを変更するスキル操作 |
AML.T0081 |
スキルをバージョン管理;スキルファイルのランタイム修正を検出 |
|
エージェントSDK |
フレームワークレベルの信頼を悪用するプロンプトインジェクション |
AML.T0051 |
SDKレイヤーでのツール呼び出し監査;入出力サニタイゼーション |
|
マネージドプラットフォーム |
サンドボックス境界内の異常な動作 |
AML.T0055 |
サンドボックス内のランタイムシステムコール監視;能力スコープ付きコンテナ |
|
オーケストレーション |
エージェント委譲チェーンによるアクセス権限昇格 |
AML.T0086 |
エージェント間の認証情報パッシングを監視;委譲スコープ制限を強化 |
|
オーケストレーション |
永続的な操作のためのメモリ汚染 |
AML.T0080 |
エージェントメモリストアを監査;セッション間の予期しないメモリ書き込みを検出 |
ベースラインが失敗する理由(およびその代わりに機能するもの)
ほとんどのベンダーコンテンツが避ける厳しい真実があります:従来の行動ベースラインはAIエージェントでは機能しません。
コンテナセキュリティは決定論的なプロファイリングに依存しています。ウェブサーバーは常に同じシステムコールを呼び出し、同じファイルを読み取り、同じホストに接続します。ベースラインからの偏差は異常です。これはドリフト検出の基礎であり、Sysdigを含むほとんどのランタイムセキュリティ製品であり、これが私たちがエージェントワークロード向けにモデルを拡張している理由です。
AIエージェントはこのモデルを壊します。同じエージェントに同じタスクを与えると、毎回異なるアクションシーケンスを実行します。温度設定は無作為性を導入します。ユーザー駆動プロンプトは無制限の可変性を作成します。そして、シェル実行、ファイル読み取り、アウトバウンド接続など、検出したいアクションは、エージェントの正常な動作行動です。さらに悪いことに、従来のコードとは異なり、意思決定はモデルウェイトとあなたが検査できないコンテキストウィンドウに存在します。静的分析パスはなく、入力のすべての可能性を予期するために事前に書くことができるポリシーはありません。エージェントがランタイムで行うことは唯一の真実です。
つまり、エージェント動作は非決定論的であり、従来のコントロールは予測可能な実行を想定しています。しかし、これはランタイムセキュリティがエージェントに無用であることを意味しません。それは、アプローチが階層化される必要があることを意味します:
- 既知悪検出:エージェントがSSHキーを読み取ったり、既知の悪質なIPに接続したり、post-exploitationツールを実行したりすることは、非決定性に関係なく疑わしい。システムコールレベルのルールはこれを確実にキャッチします。
- 能力スコーピング:seccomp、AppArmor、ネットワークポリシー、読み取り専用ファイルシステムでエージェントコンテナを制限すること意味、検出監視はサンドボックス境界ではなく、行動偏差を監視します。ベースラインはサンドボックス境界そのものになります。
- ツール呼び出しレベル監査:エージェントフレームワークレイヤー(どのツールが呼び出されたか、どの引数で、どのプロンプトに応じて)で監視することは、システムコール監視が欠ける意味的コンテキストを提供します。
開発ソースランタイムセキュリティエンジンのFalcoを使用して、実際に既知悪検出がどのように見えるかは次のとおりです。エージェントプロセスがそのタスクに関連しないクラウド認証情報を読み取ります。このパターンはMCPツール汚染またはプロンプトインジェクションと一貫しています:
-rule:AIAgentReadsSensitiveCredentialsdesc:AIagentprocessreadingcloudcredentials,SSHkeys,orAPItokens.condition:>
evt.type in (open, openat, openat2) and evt.dir = <
and container.image.repository contains "ai-agent"
and (fd.name startswith /root/.aws
or fd.name startswith /root/.ssh
or fd.name endswith .env
or fd.name contains credentials)
output:>
AI agent read sensitive file
(file=%fd.name command=%proc.cmdline container=%container.name)
priority:CRITICALtags: [container, ai, mitre_credential_access, AML.T0055]
類似のルールは、エージェントコンテナからの予期しないアウトバウンド接続と、指定されたワークスペース外への書き込みをキャッチし、それぞれが上の表の攻撃ベクトルにマップされます。エージェント動作はLLMレイヤーで非決定論的かもしれませんが、すべてのエージェントアクションは最終的に決定論的なインフラストラクチャアーティファクト(システムコール、ファイル操作、ネットワーク接続など)を生成します。ランタイムセキュリティはその決定論的なレイヤーで動作します。
セキュリティチームが今何をすべきか
- ランタイムをインストルメント化します。特にサンドボックス内。 エージェントが動作するすべての環境でシステムコールレベル検出をデプロイしてください。マネージドプラットフォームはこれをあなたのために解決しません。
- MCPサーフェス監査。 エージェントが到達できるすべてのMCPサーバーをインベントリしてください。ツールディスクリプションを信頼できない入力として扱ってください。初期承認後のディスクリプション変更を監視してください。
- 能力を積極的にスコープします。 seccomp、AppArmor、ネットワークポリシー、読み取り専用ファイルシステムを使用してエージェントコンテナを制約します。ベースラインが信頼できない場合、サンドボックス境界がベースラインになります。
- エージェント委譲を横方向の移動として扱う。 マルチエージェントアーキテクチャは、ネットワーク監視に見えない信頼チェーンを作成します。どのエージェントが委譲を記録し、誰に、委譲されたタスクが元のスコープを超えるかどうかを記録してください。
Sysdigを使用してスケールでこれを運用化する
上記のFalcoルールは例示的で、スタートポイントであり、本番ルールセットではありません。実際のエージェントフリート全体でドラフト検出を実行すること意味、攻撃パターンが進化するにつれてルールを最新に保つ(新しいMCPサーバー、新しいSDKリリース、新鮮なCVE)、各アラートをMITRE ATLAS技術の正しいものにマッピングし、ランタイム信号をクラウドセキュリティ態勢の残りの部分と相関させます。これはSysdig AI Workload Securityがオープンソース Falcoが提供する機能を拡張する場所です。
- エージェントワークロード用のマネージド検出ルール。 Sysdigの脅威研究チームはFalco Feedsをキュレートし、MITRE ATLAS にマップされた継続的に更新されるルールセット(AML.T0080–T0086エージェント固有の技術を含む)です。MCPツール汚染、プロンプトインジェクション流出、コーディングエージェント認証情報盗難用のルールは、事前にパッケージ化され、事前にテストされ、最新に保たれています。
- エージェントランタイムインベントリー。 Sysdig AI Workload Securityは、環境内でAIエンジンとパッケージが実行されている場所を示します(OpenAI、Anthropic、Bedrockなどのプロバイダーを横切って)。各ワークロードは、インユースのAIパッケージ、その搾取可能な脆弱性、公開露出ステータス、およびそれが発火しているランタイムイベントと相関関連しています。
- 既存ワークフローと統合された応答。 検出は、あなたのチームがすでに使用している同じインシデントパイプラインを介してルーティングされます:コンテナを分離し、エージェントの認証情報を取り消し、適切なオンコールをページで表示するか、自動化されたプレイブックをトリガーしてください。
オープンソースFalcoは基礎のままです:検出レイヤー、ルール言語、およびコミュニティ。Sysdigが追加するのは、プロジェクトではなく本番グレードプログラムとして実行するために必要なスケール、キュレーション、統合です。
異常が可視化されるレイヤー
スタックの他のすべてのレイヤーは、決定論的な動作を想定しています。エージェントはその仮定を壊します。セキュリティツーリングは、その仮定も壊す必要があります。もはや保持しないベースラインを追い求めることではなく、エージェントがLLMレベルで不透明ですがシステムレベルで観察可能である、まだ観察可能なアーティファクトを生成する層に検出を移動させることによって。
Sysdigがどのようにランタイム検出をAIエージェントワークロードに適用するかを見てください。デモをリクエスト。
クラウド検出&対応
翻訳元: https://webflow.sysdig.com/blog/agentic-ai-tooling-why-runtime-security-is-the-missing-layer
