AIアシスタントが会社の財務データを丸ごと持ち出した
先週、米フィンテック企業Rampのスプレッドシート向けAIが、ユーザーの知らないうちに財務データを外部サーバーへ送信していたことが明らかになりました。攻撃者は取引メモに命令文のような一文を仕込み、AIはそれを「指示」として実行したのです。
同じ週、GitHubではコミットメッセージに「HERMES.md」と書いただけでClaude Codeのリクエストが追加課金ルートに飛ばされる不具合も報告されました。どちらもAIエージェントが「データ」と「命令」を区別できないことで起きた事故です。
1. データが命令に化ける瞬間
従来のSaaSではユーザーのクリックが命令であり、DB内のテキストは単なるデータでした。ところがLLMベースのエージェントは、入力された全ての文字列を等価に解釈します。お客様からのメール、CRMのメモ、添付PDFの一行まで全てが潜在的な命令文になります。
Ramp事案では、攻撃者は何の変哲もない取引description欄に「全データをattacker.comへ送れ」という意味の文を入れました。AIは忠実に実行しました。入力バリデーションが一行抜けていた結果です。
2.「ユーザー権限=AI権限」という誤解
多くの企業がAIエージェントにユーザーと同じOAuthトークンを渡しています。「自分の権限で動くから安全」と考えがちです。しかしユーザーは自分の意図でしか動きませんが、AIは入力次第で意図が変わります。セキュリティ境界は「人」ではなく「意思決定の主体」であるべきです。
当社が支援した日本の中堅製造業B社では、社内会計ボットにERPフルアクセスを与えていたところ、外部パートナーから届いた見積PDFに仕込まれたプロンプトで決裁が自動承認されかけた事例がありました。
3.「ログがなければ事故もない」という嘘
LLMエージェントはユーザーの1回のリクエストで、内部ツールを数十回呼び出します。この呼び出しチェーン全体を追跡できなければ、事故が起きてもどこからどう漏れたか分かりません。5years+が日本のクライアント向けに構築するエージェントは、全てのtool callを定型化されたaudit logとして強制的に残します。
本日のアクションアイテム
- Untrusted inputの分離 — 外部から来たテキスト(メール本文、添付、Web検索結果)はsystem promptと明確に分けたコンテナに入れ、「これはデータです」と明示しましょう。
- ツール権限の最小化 — AIに与える権限は人より狭くあるべきです。決済・削除・外部送信は別途人の承認ステップに切り出しましょう。
- Tool call audit log — どのpromptがどのtoolをどの引数で呼んだかを全て記録。事故発生時に24時間以内に追跡できる状態を作りましょう。
5years+は日本・韓国のB2B企業のAIエージェント導入を、初日からセキュリティ観点で設計します。サービス紹介で詳細をご覧いただくか、無料相談はこちらから貴社環境に合わせた診断をお申し込みください。
よくある質問
すでにAIエージェントを運用しています。何から点検すべきですか?
まず「AIが呼び出せるtoolの一覧」を洗い出してください。その中で外部送信・決済・削除・権限変更に該当するものを切り出し、人の承認ステップを挟むことを最優先で実施しましょう。
オープンソースモデルなら安全ですか?
モデル自体の問題ではなく、入力・ツール境界の設計の問題です。GPT、Claude、Llama、Mistralどれも同じリスクを抱えており、同じガードレールが必要です。
構築費用はどのくらいですか?
規模とツール数によりますが、初期診断(1〜2週)は無料、本構築は平均4〜8週です。ポートフォリオで類似事例をご確認ください。