概要
セキュリティのルールは、正しければ守られるわけではない。現場は、目的を達成するために動いている。承認された経路が遅く、使いにくく、制約が多すぎれば、人は目的を達成するために別の経路を選ぶ。
これがシャドーAIだ。悪意があるわけではない。合理的な適応 である。そして、最も危険なのは、その適応が会社のログの外で起きることだ。
シャドーAIはなぜ生まれるか
- 承認に時間がかかる。待っている間に仕事が進まない
- 許可されたモデルが弱い、遅い、使いにくい
- データ分類が曖昧で、これは使ってよいのか分からない
- 禁止理由が説明されない。納得できない
- 例外の申請が面倒で、通るかどうかも分からない
- 個人のアカウントのほうが、機能が多く、速い
どれも、セキュリティの意識が低いからではない。導線の問題 だ。人は、正しい方法が最も面倒なとき、正しくない方法を選ぶ。
「使えない安全」のコスト
禁止だけの統制は、次のコストを生む。
- 能力の損失: エージェントにできることが減り、投資対効果が下がる
- 可視性の喪失: ログ、承認、監査の外にリスクが出る
- インシデント対応の遅れ: 何が起きたか分からない
- 現場との信頼喪失: セキュリティ部門が「敵」になる
- 形骸化: ルールが守られないのが常態化し、他のルールも軽視される
「禁止しているから安全」は、事故が起きるまで通用する。事故が起きたとき、統制が機能していなかったことが分かる。
使える統制の条件
1. 承認された経路が一番速い
SSOでログインでき、モデルがプリセットされ、ハーネスの設定が済んでいる。現場が自分でAPIキーを探したり、個人アカウントを作ったりする必要がない。安全な経路が、最も摩擦の少ない経路 になっている。
2. データ分類が分かりやすい
「機密」の定義が抽象的だと、現場は判断できない。ファイルの場所、プロジェクト、システムの境界と結びつける。例を示す。「このフォルダは社内、この顧客データは機密」と、具体的に。
3. デフォルトが安全側
新規プロジェクトは「社内」から始まる。公開するときは明示的に下げる。危険な操作は、デフォルトで承認が必要。何もしないと安全側 が、現場の負担を減らす。
4. 例外が速い
全部を審査すると、現場は迂回する。低リスクの例外は自動承認し、高リスクだけ人間が見る。申請のSLAを決め、通らない場合の理由も返す。例外の履歴は、ポリシー改善の材料になる。
5. 監査が罰ではなく改善に使われる
ログを取る目的が「誰かを罰する」だと、現場はログを避ける。目的は、抜け穴と使いにくさを見つけること だ。インシデントの原因分析と、ポリシーの見直しに使う。
6. 統制が実行層にある
「気をつけて」とお願いするのではなく、ハーネス・ネットワーク・認証で強制する。現場は、ルールを覚えなくても安全側に動ける。人間の注意力に依存しない のが理想だ。
個人開発者の場合
個人は、会社のルールから自由だが、同じ構造に陥る。
- ローカルLLMの設定が面倒で、結局無料チャットに貼る
- 検索を禁止したら、ブラウザで手作業に戻る。結局、同じ情報をコピペする
- MCPを入れたいが設定が大変で、便利な一括設定スクリプトを走らせる
個人に必要なのも、根性ではなく導線だ。ローカルモデルを実用的な速度で動かす。検索は許可ドメインに絞る。機密セッションと公開セッションを分ける。安全な経路を、一番楽な経路にする。
測る
統制が使われているかを、次の指標で見る。
- 承認までの時間
- 承認率・拒否率
- ブロックされた操作の数と理由
- シャドーAIの兆候(非承認ツールの利用、個人アカウントの利用)
- インシデントの件数と影響
- 現場の満足度
「禁止した数」は、安全の指標ではない。使われている統制の数 と、事故の影響の小ささ を見る。
まとめ
守れないルールは、守られない。それは現場の失敗ではなく、設計の失敗だ。安全と使い勝手はトレードオフではない。安全な経路が使いにくければ、安全は選ばれない。統制は、現場が目的を達成する邪魔をするのではなく、目的を達成する最短経路の中に埋め込む。
関連ノート
- 「全部禁止」は安全ではない
- データ分類×操作リスクで「禁止」を「段階的許可」に分解する
- ZDRは「データを送らない」ではない
- Obsidianプラグイン「Claudian」とローカルAIエージェント
- ハーネスで強制できる統制と、できない統制
参考資料
- OWASP: AI Agent Security Cheat Sheet(確認日: 2026-11-02)
- HCAMag: Shadow AI rises as employees outpace workplace controls(2026-04-28)(確認日: 2026-11-02)