背景
Databricks Genie Code は、Databricks に搭載されたエージェント型アシスタントであり、ユーザーが自然言語による指示を通じて自分のテナント内のデータを操作できるようにするものである。
Genie Code はチャット内にユーザー向けの表示をレンダリングできる。悪意ある Skill はこの機能を悪用し、ツールの結果が閲覧された時点でデータの持ち出しを引き起こしたり、ユーザーにフィッシング攻撃を表示したりすることができる。
この攻撃は、ヒューマン・イン・ザ・ループによる承認なしに発生しうる上、組織が当てにしているかもしれない管理機能による制約も受けない:
- 組織レベルの Skill ガバナンス。Genie Code は組織の管理されたカタログではなく、ユーザーの個人ワークスペースから Skill を読み込む
- コマンドを実行前に評価するガードレールエージェント。Databricks はこれをセキュリティ管理機能ではなく、ベストエフォートの生産性向上機能と位置づけている
- コーディング環境の egress 制御。egress はコーディング環境からではなく、ユーザーのブラウザから発生する
- チャット内にレンダリングされる表示のサンドボックス化。Skill はユーザーデータを使って表示を構築するため、表示がテナントからデータを取得する必要はない
このリスクは 2026 年 8 月 16 日に Databricks へ開示されたが、「アップロードされた Skill に悪意あるコンテンツが含まれないようにするのはユーザーの責任」との判断が下された。オンラインマーケットプレイスで悪意ある Skill が蔓延している現状、また組織が依拠しそうな管理機能ではこのリスクを排除できないことを踏まえ、リスクにさらされている関係者に伝えるため本レポートを公開する。
攻撃の連鎖
アップロードされた Skill を用いてデータを分析するよう Genie に指示が出される
Skill は一般的にオンラインマーケットプレイスを通じて配布されており、このエコシステムは悪意ある Skill で汚染されていることが知られている。 Databricks には Skill ガバナンスのための仕組みが存在するが、Genie Code が使用する Skill は、組織の管理された Catalog ではなくユーザーの個人ワークスペースから設定される。
Genie が悪意ある Skill のコードを実行する
Genie が Skill のコードを実行する際、第 2 のエージェントがチェックを行い、「サードパーティにデータを送信する」など、ユーザーの意図した操作の範囲外に及ぶコマンドにフラグを立てる。
エージェント・イン・ザ・ループが Skill コードの実行を承認し、悪意ある機能を見逃す。
Genie がユーザーに対し、データ分析結果の全体を開くよう指示する
結果がレンダリングされると、フィッシング用モーダルが表示され、ユーザーのデータセットが持ち出される
悪意ある Skill のコードは、2 つの悪意ある目的を果たす HTML 要素を構築する。1 つの効果は、ユーザーの認証情報をフィッシングで盗む攻撃者のウェブサイトのオーバーレイをレンダリングすることである。
もう 1 つの効果は、モーダルがレンダリングされる際(例えばユーザーが結果を閲覧したとき)に、被害者のテナントからデータが持ち出されることである。悪意ある Skill のコードは、被害者のテナントへのアクセスを利用して機密データ(被害者のデータセットなど)を収集し、そのデータを HTML 表示に組み込む。表示がレンダリングされると、悪意ある表示内の JavaScript がユーザーのブラウザにネットワークリクエストを発行させ、攻撃者のサーバーへデータを持ち出させる。
コーディング環境には攻撃者のサーバーとの通信を防ぐネットワーク egress 制御が存在するが、表示インターフェースにはそれがなく、攻撃者へデータを送信できてしまう。
責任ある開示
このリスクは 2026 年 8 月 16 日に Databricks へ報告された。Databricks チームは次のように判断した:
「アップロードされた Skill に悪意あるコンテンツが含まれないようにするのは、最終的にはユーザーの責任である。」
ネットワーク egress 制御では、コーディング環境が信頼できない外部の第三者に接触することは許可されておらず、これは遵守されていた。 Skill のコードは単にデータを照会し、それを使って iframe を構築しただけである。
ユーザーに表示される表示に対する管理機能では、表示がテナントからデータを照会することは許可されておらず、これも遵守されていた。 Skill のコードが埋め込んだデータを処理しただけである。
その結果、悪意ある Skill のコードはコンピューティング環境でデータを照会し、それを iframe に組み込むことができ、さらに iframe がネットワークリクエストを行ってデータを持ち出すことができる…
データ持ち出しを防ぐための管理機能は技術的には遵守されていたが、それにもかかわらずデータの持ち出しは成功した。
ガードレールエージェントによって悪意あるコマンドが承認された点について、Databricksチームは次のように述べた。
「自動許可機能はセキュリティ境界として意図されたものではなく、信頼できない入力が自動的に実行されるのを防ぐための管理措置です。」
ドキュメントはこの記述を裏付けています:
しかしながら、「auto-approve」はデフォルトかつ「推奨」のコマンド承認モードとしてドキュメントに記載されているため、本番データでの使用を控えるよう促す指示に、ユーザーが実際に従うことは unlikely であると我々は考えています。
Genie CodeのSkillsが、組織レベルで管理されたカタログではなく、ユーザーの個人ワークスペースから読み込まれるという事実に関しては、いかなる言及もなされませんでした。
タイムライン
| 2026年8月16日 | PromptArmorがDatabricksに開示 |
| 2026年8月17日〜9月15日 | PromptArmorとDatabricksが調整 |
| 2026年9月16日 | PromptArmorが公開の意向をDatabricksに通知 |
