Black Hat USA 2026において、研究者たちはCascading Style Sheets (CSS) を武器化し、人間のユーザーには見えないコンテンツをAI駆動型メールエージェントに読み取らせる手法を披露しました。この手法はOutlook、Gmail、Yahoo、Protonを回避し、エージェントにパスワード、認証トークン、IPアドレスを流出させました。
メールセキュリティにおけるCSSの重要性
長年、ウェブメールプロバイダーは、スクリプトの除去、iframeのサンドボックス化、メッセージの動作制限などによって、悪意のあるHTMLから防御してきました。これらの対策は、JavaScriptや埋め込みオブジェクトに依存する古典的な攻撃を阻止します。しかし、CSSは常に無害なプレゼンテーション用コードとして扱われてきました。属性セレクターやコンテナクエリといった高度なセレクターを使用することで、スクリプトを一切使わずにDOM構造に反応するページを作成することが可能です。
Black Hatでのデモは、これらの「無害な」セレクターがデータ漏洩のサイドチャネルになり得ることを証明しました。特定の隠し要素が存在する場合にのみ適用されるスタイルルールを作成することで、攻撃者はユーザーにはテキストを見えないようにしつつ、AIエージェントが解析するレンダリング済みのページ内にはそのテキストを残すことができます。
攻撃の仕組み
ある概念実証(PoC)では、受信者には普通に見えるメールが送信されました。その内部には、特定のテキストの色を背景色と同じに変更して事実上隠蔽するCSSルールが隠されていました。人間はテキストを目にすることはありませんが、DOMやアクセシビリティツリーを抽出するAIエージェントは、視覚的なフィルタリングを適用しません。エージェントがメールを処理すると、隠蔽されたテキストを読み取り、それをURLフラグメント(ブラウザがページを読み込む際に通常無視するウェブアドレスの一部)として送信しました。
もう一つのバリエーションは、間接的なプロンプトインジェクションを利用したものです。メールには隠されたSlackトークンが含まれていました。CSSによってトークンはユーザーには見えない状態にされていましたが、マークアップ内には保持されていました。メールに埋め込まれた指示に従うよう訓練されたAIエージェントは、そのトークンをコマンドとして解釈し、攻撃者のサーバーに送信してしまいました。
両方の攻撃は、同じ一連の人気プロバイダーに対して成功しており、この脆弱性が特定のプラットフォームの実装によるものではなく、CSSがレンダリングされる根本的な仕組みに起因していることを示しています。
AIエージェント vs. 人間の読者
人間は、見えないテキストを本能的に無視します。私たちは、視覚的なレイアウトが重要な情報を教えてくれると信頼しています。対照的に、AIエージェントは、視覚的な状態に関わらずすべての要素を記録する生のDOMまたはアクセシビリティツリーに基づいて動作します。AIがページを読み取る際、「見えないものは無視する」というルールは適用されません。この不一致がブラインドスポット(死角)を生み出します。人間の消費のために構築されたサニタイズ(無害化)パイプラインは、自動化されたリーダーに対して安全性を保証できなくなっているのです。
この問題は、新しいAIの欠陥ではありません。コードなしでレイアウトに影響を与えることができるCSSという「古いウェブの欠陥」が、新しいタイプの消費者(AI)に出会ったことによるものです。メールコンテンツをAI搭載のアシスタント、要約ツール、または分類器に渡すあらゆるサービスは、アシスタントが人間には決して見えないデータに基づいて動作してしまうリスクに直面しています。
防御の責任は誰にあるのか?
これらの攻撃は、責任の所在に関する問題を提起しています。ウェブメールプロバイダーはすでに人間のユーザーを保護するためにHTMLを洗浄していますし、ブラウザもレンダリングに対して同様のルールを適用しています。しかし、それらのレイヤーのどれも、同じマークアップを解析する下流のAIを考慮していません。メールサービスは、より深いCSSサニタイズを追加すべきでしょうか? ブラウザは、要素を「スクリプトに対して不可視」としてマークするフラグを公開すべきでしょうか? それとも、AIベンダーが処理前に隠しノードを破棄するフィルタを構築すべきでしょうか?
AI駆動型のメールツールを構築しているセキュリティチームは、受信トレイに届くHTMLだけでなく、レンダリングパイプライン全体を監査するように求められています。これは、CSS適用後のDOMを確認し、アクセシビリティツリーを検査し、人間の目に見えないコンテンツを明示的に除去またはフラグ立てすることを意味します。
今後の注目点
- ベンダーによるテスト – AIベンダーは、現実世界のCSS攻撃ベクトルをテストスイートに組み込むことが期待されています。ウェブには30年間の脆弱性研究の蓄積がありますが、AIエージェントにはまだ数年しかありません。
もし、CSSでテキストを隠すだけでAIアシスタントが認証情報を漏洩するように仕向けられるのであれば、今日の受信トレイを保護しているセキュリティモデルはもはや不十分です。開発者、プロバイダー、規制当局は、生のHTMLだけでなく、レンダリングされたページを自動化された消費者に対するセキュリティ境界として扱う必要があります。「隠しテキスト」の問題は、かつて「単なるスタイリング」に過ぎなかった技術が、データ窃盗の手段になり得ることを私たちに思い出させます。次なる防御の波は、CSSを単なる視覚的な補助ではなく、潜在的な攻撃対象領域(アタックサーフェス)として認識しなければならないでしょう。
