セキュリティ

社内ドメイン露出を防ぐAIプロンプトと公開前スキャン

AIにHTMLを生成させる際、プロンプトの書き方や添付資料の内容が出力に影響します。社内ドメインを含む仕様書や既存コードをそのままAIに貼り付けると、生成されたHTMLにそのURLが引き継がれることがあります。プロンプト設計の見直しと公開前スキャンを組み合わせて、社内ドメイン露出を未然に防ぐ方法を解説します。

なぜ危ないのか

AIに「この仕様書を基にHTMLを作って」と指示して社内ドメインを含む仕様書を貼り付けると、AIはその情報を文脈として理解し、HTMLのリンク先やAPI URLとして再現することがあります。AIは秘密情報と公開情報を区別する機能を持たないため、人間が「これは内部情報だから出力しないはず」と期待しても自動的に除去はされません。

生成AIのサービス条件によっては、入力したプロンプトの内容がモデル改善に使用される場合があります。社内ドメインを含むプロンプトを繰り返し送信していると、その情報がAIサービスのログに残るリスクもあります。生成AIを業務に使う際は、入力情報の機密性分類をチームで合意しておくことが重要です。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

ソースで見る場所

AIが生成したHTMLを受け取ったら、コピーしてローカルファイルに保存し、ターミナルで`grep -in '\.internal\|\.local\|\.intra\|192\.168\|10\.0\.' generated.html`を実行してください。`-i`で大文字小文字を無視し、`-n`で行番号を表示します。何も出力されなければその形式の社内ドメインは含まれていません。

自社固有の内部ドメイン(例:`dev.example.co.jp`や`api.corp.example.com`)については、汎用パターンでは検出できません。自社で使用している内部ドメイン名を別ファイルにリスト化し、そのリストを使ったgrepスクリプトを用意してください。月1回程度リストを更新する運用にすると検出精度が維持できます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

安全に共有する設定

スキャンをパスしたHTMLを共有する際は、ファイルを添付するのではなくURLで共有し、URLにアクセス制限と有効期限を設けてください。ギガサイト便では1ファイルをアップロードするだけで3秒でURLを発行でき、会社ドメイン限定アクセスの設定も数クリックで完了します。

共有後に「実は社内ドメインが残っていた」と気づいた場合に備えて、URLを即時無効化できる仕組みを確認しておいてください。ファイル添付での共有は回収が困難ですが、URLベースの共有なら管理画面から削除するだけで全アクセスを遮断できます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

再発防止ルール

AIへのプロンプトに渡す資料を事前に「サニタイズ」する習慣をつけてください。具体的には、仕様書や設計書をAIに貼り付ける前に社内ドメインを`[INTERNAL_URL]`のようなプレースホルダーに置換するスクリプトを用意します。このスクリプト自体は10行程度のPythonで書けるため、チームで共有して全員が使える状態にしてください。

AIへの指示文のテンプレートに「出力するHTMLには外部URLを含まないこと。APIのエンドポイントが必要な場合は`/api/endpoint`のような相対パスを使うこと」という制約を追加してください。相対パスを使う指示にすることで、絶対URLが出力に混入するリスクを大幅に下げられます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

よくある質問

プロンプトに社内ドメインを含む仕様書を貼り付けた場合、AIのサービス側にそのデータが残りますか?

サービスによって異なりますが、多くの商用AIサービスはAPIプランでは入力をモデル訓練に使用しないと明示しています。WebUIプランでは規約が異なる場合があるため、機密情報を扱う際は必ずAPIプランを利用し、プロバイダーの利用規約を確認してください。

社内ドメインを相対パスに変換した場合、HTMLの動作に問題は出ませんか?

相対パスは同一オリジンからの配信を前提とします。外部公開サーバーからHTMLを配信する場合、相対パスのAPIリクエストはその公開サーバーに飛ぶため、APIが存在しないエラーになります。社外共有用途ではAPIを呼び出す機能をモック化するか無効化することを推奨します。

grepスクリプトをCI/CDに組み込む際、偽陽性が多い場合の対処法はありますか?

検索パターンをより具体的にし、自社固有のドメイン名のみをリストアップした許可リストと照合する方式に変更してください。汎用的なパターン(192.168等)は偽陽性が発生しやすいため、実際の社内ドメインリストを使った完全一致検索が精度を上げます。

関連記事

セキュリティ

APIキー直書きを防ぐAIプロンプトと公開前スキャン

AI生成HTMLへのAPIキー直書きをプロンプト設計で防ぎ、公開前スキャンで二重検出したい開発者・制作担当者向け。具体的なプロンプト文言とgrepコマンドをセットで紹介します。

4分で読める
「セキュリティ」の記事をもっと見る →