本文へスキップ

ヒューマンエラーでの情報漏えいはこうして起こる | 生成AIエージェントを使う日常の落とし穴

Hirokazu Yoshida
Hirokazu Yoshida

シニアセキュリティスペシャリスト / サイバーセキュリティスペシャリスト

こんにちは、ひろかずです。

昨今、サイバー攻撃による情報漏えい事案が多く報じられています。皆さんの中には、「情報漏えいは、攻撃者がAIを駆使して高度な攻撃を仕掛けた結果である」または、「ヒューマンエラーによる情報漏えいは、情報リテラシーの低い人が起こすものである」とお考えの方もいるのではないでしょうか。

本日は、「情報漏えいは、情報リテラシーを問わず、意図せずとも自分から行いうるものである」というお話をしたいと思います。

忙しい人のための要約

  • 生成AIエージェントを利用する上で、情報漏えいに関わる脅威モデルは理解していても、その脅威が顕在化する経路は思わぬところに潜んでいます。
  • 今回は、チャットツールに保持されていたダウンロード先フォルダの設定がそれに該当しました。
  • 本件に関わらず、ハーネスで制御している部分以外で人間がミスをすると、当然のことながら対応しきれないという学びです。
  • また、生成AIエージェント側でもアップロード・プッシュする際に人間に判断を求めるHuman in the Loopも有効です。

今日のお話の前提条件

登場人物のプロファイル

  • 情報セキュリティ管理責任者 兼 個人情報保護責任者であり、経験10年以上のセキュリティエンジニア。役員であり、プレイングマネージャでもある。
  • 生成AIに関する規定も策定しており、生成AIおよび生成AIエージェントに関する脆弱性や脅威モデルも熟知している。
  • 日常的に生成AIエージェントを使って業務をしており、複雑かつ高度な事務処理を行っている。

当時の状況

  • トップからの指示で、新規事業の立ち上げとそれに関わる制度申請を期限に間に合わせられるよう急ピッチで進めていた。
  • 社内(組織レベル、セクションレベル、チームレベル)で様々な出来事が起きており、業務を進めながらタスクのスイッチングを頻繁に行うことが常態化している。

何が起きたの?

  • 制度申請に必要な書類や規定類を生成AIエージェントで準備するプライベートリポジトリに、組織内に公表する前段階の経営陣向け資料が混入していました。
    • 新規事業に携わる予定の従業員に当該のプライベートリポジトリ内のドキュメントを確認しておくようにと指示しており、従業員からの指摘で気づきました。
  • 公表前の情報が従業員から見られる場所に流通していたことで、情報漏えいの事案が発生しました。

まずは火消し

  • 教えてくれた従業員にお礼を言いつつ、クローンしたローカルリポジトリの消去を依頼しました。
  • そのまま、事案の発生を経営陣に報告しました。
  • 暫定処置として、対象ファイルと作業記録から当該ファイル名を削除してプッシュしました。
  • その後、恒久処置として、対象のプライベートリポジトリを削除し、ローカルリポジトリ内の必要なドキュメントのみを抽出して、別リポジトリとして再作成しました。

発生した原因は?

  • 直接の原因は、チャットツールの経営陣チャンネル内でやりとりされていた対象ファイルをダウンロードした際、 ダウンロード先フォルダがローカルリポジトリであった ことに気づかず、そのまま作業に戻ってプッシュした時に混入しました。

もともとどうやっていたの?

今回のユースケースにおける、リポジトリへのデータの流通経路は2種類です。

脅威モデルとして、生成AI(エージェント)に過剰な認可を与える・読み取らせるべきではない情報を与えるというものがあります。

これはOWASP Top 10 for LLM Applications 2025 の「LLM06: Excessive Agency(過剰なエージェンシー)」 が当てはまります。

これに対応するために、生成AIエージェントの認可の範囲をローカルリポジトリとしておき、ダウンロードフォルダをアクセス対象から外し、利用者が自分の判断でリポジトリにファイルを配置することで、生成AIによる過剰なデータ読み取りを防ぐ形を採っていました。

どうしてこうなったの?

先に述べたとおり、チャットツールのダウンロードフォルダをデフォルトから変更したことが直接の原因です。

これに至る過程は、業務のわずかな手間を惜しんでチャットツールのダウンロード先フォルダを変更し、 その変更が次回以降も続くという点が意識から欠落していたことが要因と言えます。

再発防止はどうするの?

再発防止として、以下を行うことにしました。

  • ダウンロード先フォルダと生成AIエージェントの認可の場所を分ける
  • 生成AIエージェントがプッシュする際に対象ファイルを列挙し、利用者の確認を促す

対策1. ダウンロード先フォルダと生成AIエージェントの認可の場所を分ける

わずかな手間を惜しんでダウンロードフォルダをと生成AIエージェントの認可の場所に変更した結果、思わぬ結果に至りました。

ダウンロードフォルダはある種の非武装地帯の側面もあると気づきましたので、基本的には変更せず、人間の手によって生成AIエージェントの認可の場所に移動するべきと考えます。

対策2. 生成AIエージェントがプッシュする際に対象ファイルを列挙し、利用者の確認を促す

いわゆる Human in the Loopです。チェックしなければ意味がありませんが、これまでプッシュに際してどのファイルをプッシュしたかという表示もなかった(あったとしてもすぐに流れてしまう)ので、プッシュ前に止まるのは意義があると思います。

前述のOWASP LLM06も、ユーザーの確認なしに影響の大きい操作を実行してしまうことを「過剰な自律性(Excessive Autonomy)」として挙げ、対策のひとつとして、影響の大きい操作の前に人間の承認を求めること(Require user approval)を示しています。

表示が多いようなら表示形式を工夫するとして、まずはこのやり方で再スタートしています。

おわりに

今回の話は、ささいなことであっても普段と違うことをしたことがハーネスで想定した範囲外であった場合、思わぬ結果に帰結するという学びでもあります。

  • 皆さんは、普段と違うカバンに財布やスマホを入れた後、次の外出で普段使いのカバンを持っていったがために、忘れてしまうという経験があるのではないでしょうか。
  • 今使っている生成AIエージェントのハーネスを理解した上で使わないと、思わぬ抜け穴がありそうですね。

あなたがよく使っているリポジトリや生成AIエージェントがアクセスできるフォルダに、思わぬ機密情報は含まれていませんか?

この記事が誰かの役に立てば幸いです。

この記事をシェア