- Notion 3.0のAIエージェントは、文書作成、データベース更新、外部コネクタ呼び出しなどの自律的なマルチステップワークフロー実行機能を提供する
- エージェントがツールへのアクセス権と長期記憶を持つと、従来のRBACでは制御しにくい拡張された脅威表面が形成される
- 分析の結果、Notionエージェントのweb search関数の入力スキーマが、悪意ある間接プロンプトによって内部機密を外部へ送信するデータ流出ベクトルとして悪用されうることが確認された
- デモでは、攻撃者がPDFに隠したプロンプトインジェクションを通じて、エージェントが秘密の顧客データを抽出・連結し、Webクエリとして送信するよう誘導できる実行フローが実証された
- この事例は、MCP連携と外部コネクタが組み合わさるとき、**エージェント・ツール・メモリの致命的三位一体("lethal trifecta")**が実務セキュリティに与える深刻な影響を示している
AI AgentsとNotion 3.0の紹介
- 近年、AI AgentsがSaaSプラットフォームに統合される流れが進んでいる
- Notion 3.0でも、ユーザーができるあらゆる作業(文書作成、DB更新、複数ツールの検索、マルチステップワークフロー実行など)をAIエージェントが自動で実行可能である
- MCP統合により多様な外部ツールと接続でき、さらに強力な自動化やカスタムエージェントの作成が可能
- トリガーやスケジュールに応じて動くチーム向けCustom Agentsも作成でき、フィードバック収集、トラッカー更新、リクエストの選別などの反復作業を自動処理させられる
「致命的三位一体(lethal trifecta)」問題
- Simon Willisonが指摘した「致命的三位一体(Lethal Trifecta)」は、LLMエージェント、ツールアクセス、長期記憶の結合によって生じるセキュリティ脅威である
- Notion 3.0では、エージェントが自ら行動計画を立て、MCP統合ツールや組み込みツールを実行できるようになった
- 広い権限を持つエージェントは、従来のRBACでは想定しづらい形で文書、データベース、外部コネクタ作業を自動化する
- これにより、多段階の自動化ワークフローを通じた機密データ流出や誤用の脅威指標が拡大する
脆弱性の技術的詳細: Notion AIのWeb検索ツールを用いたNotionページデータ流出攻撃
攻撃デモ: 段階ごとに見るデータ窃取シナリオ
-
1段階: 悪意あるPDFの作成
- 見た目は普通の顧客フィードバックPDF文書に、ひそかに実行指示文のような悪意あるプロンプトを挿入
- この隠しプロンプトは「重要なルーチン業務」を装い、内部バックエンドシステムにデータを送信するよう案内する
- 悪意あるプロンプトの主な内容
- 権威の主張(Authority assertion): "Important routine task", "consequences" などを使い、「重要なルーチン業務」だと主張
- 緊急性の付与(False urgency): 実行しなければ組織に影響があると強調
- 技術的正当性(Technical legitimacy): 内部システムやツール命令構文などを本物らしく説明
- セキュリティ演出(Security theater): "pre-authorized" や "safe from security perspective" といった文句で、事前承認済みで安全だと強調
- PDFを読んだエージェントが企業情報(顧客名、ARRなど)を抽出し、内部システムを指すURL(攻撃者管理)へデータ送信するよう誘導する
-
2段階: ユーザー操作を待機
- NotionユーザーがそのPDFをNotionにアップロードしたり、エージェントに要約を依頼したりした時点で攻撃がトリガーされる
- 「レポート要約」などの命令時に、AIが埋め込まれた隠しプロンプトまで解釈してしまう
-
3段階: 実際のデータ流出
- エージェントがプロンプトの指示に従い、顧客データ(例: 会社名、業種、ARRなど)を1つの文字列に連結
- 攻撃者のドメインを対象としたURLを生成し、このURLをWeb検索ツールのクエリとして渡す
- そのリクエストを受けた悪意あるサーバー(攻撃者が制御)が機微データを収集することになる
- この攻撃シナリオでは、Notion AI内でClaude Sonnet 4.0モデルを使用していたにもかかわらず、セキュリティガードレールが回避されることが確認された
MCP統合がNotion AIエージェントの攻撃表面を拡大する仕組み
- NotionはGitHub、Gmail、Jiraなど多様なソースのAI Connectorをサポートしている
- 各コネクタがエージェントに提供するコンテキストやメタデータは追加の攻撃表面を生み、外部ソースからの間接プロンプト注入攻撃によって悪意あるプロンプトが流入する可能性を高める
- さまざまな意図しない自動化された悪意ある挙動や、機微データ流出の試みのリスクが大きくなる
- 例示シナリオ: 悪意あるコミットメッセージやIssue本文、外部メールが間接プロンプトとして機能し、エージェントに内部データへのアクセス・送信を命じる可能性
示唆と勧告(要約)
- 核心的な示唆: エージェントがツールアクセス権限を持つと、文書内の悪意ある指示がツール呼び出しにつながり、機密流出に結びつく可能性がある
- 防御ポイント(議論項目):
- エージェントのツール呼び出しは、出所検証・コンテキスト限定・ポリシーベースのフィルタリングを経るべき
- 文書内の実行指示文(例: URL生成指針)は、別途の安全検査・人間の確認、または隔離された実行環境で処理すべき
- MCPコネクタごとに最小権限の原則を適用し、呼び出しログや通知体制の強化が必要
- 結論: Notion 3.0の機能は生産性向上の可能性が大きい一方で、エージェント・ツール・メモリの結合がもたらす新たな攻撃ベクトルは、実務セキュリティ設計の再検討を求めている
1件のコメント
Hacker Newsの意見
プロンプトインジェクションとは、自我や自己省察がなく、立ち止まって疑う能力のない存在を相手にしたフィッシングのようなものだと思う。