セキュリティ

社外レビュー前に社内ドメイン露出を検出するチェックリスト

デザインレビューや仕様確認のために社外の関係者にHTMLを送る場面では、コンテンツの確認に集中するあまり技術的な混入リスクを見落としやすくなります。特に社内ドメインの露出は目視では発見しにくく、送付後に発覚することが多いトラブルの一つです。このチェックリストで、送付前5分の確認習慣をつけてください。

なぜ危ないのか

社内ドメインが含まれたHTMLを外部レビュワーが開くと、そのブラウザから社内ドメインへのHTTPリクエストが自動的に送信されます。外部ネットワークからは到達しないため表示エラーになりますが、ネットワーク監視ツールを持つレビュワーには「どんな社内エンドポイントがあるか」が見えてしまいます。

社内ドメインの露出は、単なるリンク切れ以上の問題です。攻撃者が社内ネットワーク構造を把握するための「偵察情報」として悪用されるリスクがあります。特に競合他社に属する人物がレビュワーとして入り込むケースも想定し、外部共有物には常に最小限の情報しか含まないという原則を守ってください。

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

ソースで見る場所

ステップ1:HTMLファイルをVSCodeで開き、Ctrl+Fで`http://`と`https://`を検索。すべてのURLを洗い出します。ステップ2:洗い出したURLのうち、自社の本番ドメイン以外のものをリスト化します。`192.168.`、`.internal`、`.local`、`.intra`、または社名を含む非公開サブドメインが含まれていないか確認します。

ステップ3:`<script>`タグ内の文字列リテラルも検索します。`'https://`と`"https://`をそれぞれ検索してください。JavaScriptのfetch呼び出しやaxiosの設定オブジェクトにAPIベースURLが定数で記載されているケースがよくあります。インラインスクリプトが長い場合は折りたたまずに全文確認を。

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

安全に共有する設定

確認が完了したら、ギガサイト便などのアクセス制限付き共有サービスにHTMLをアップロードしてください。メール本文や添付ファイルよりも、URLに期限とアクセス制限を設定する方が柔軟に管理できます。特にレビュー期間を1〜2週間に限定することで、期限後の不要なアクセスを防止できます。

レビュワーに共有URLを送る際は、URLと一緒に「このURLは○月○日まで有効です」「レビュー完了後は再度URLをお送りします」という案内文を添えてください。期限を明示することで、レビュワーが慌てずに閲覧でき、かつ共有者側も期限切れ管理を忘れにくくなります。

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

再発防止ルール

チームで使うHTMLテンプレートのベースファイルから、最初から社内ドメインを排除した状態にしておくことが根本的な対策です。開発中は`localhost:3000`などのローカルURLを使い、共有時はそれをmockAPIまたは公開用プレースホルダーに差し替えるワークフローを標準化してください。

毎回のチェックを個人の記憶に頼るのではなく、送付前チェックリストをドキュメントとして整備し、共有の都度リンクを参照する文化を作ることが重要です。JiraやNotionのレビュー依頼テンプレートに「社内ドメインチェック済み」チェックボックスを追加するだけで習慣化が進みます。

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

よくある質問

HTMLにリンクがなく画像や外部リソースもない場合でも社内ドメインが含まれる可能性はありますか?

JavaScriptのコメントや、data属性のカスタム値、metaタグのcontent属性などにURLが埋め込まれているケースがあります。見た目上は何も起こらなくても、grepで全文検索することを推奨します。

チェックリストをどのタイミングで実施するのが最も効果的ですか?

共有リンクを発行する直前、つまり最終的なHTMLファイルが確定した段階で実施してください。その後に内容を修正した場合は、修正後のファイルに対して再度チェックを行います。「送付の1時間前」などタイミングをルール化すると抜け漏れが防げます。

レビュー用HTMLと本番HTMLを同じファイルで管理するのはリスクがありますか?

同一ファイルでは「レビュー用に除去した社内ドメインを本番用に戻し忘れる」または「本番用に追加したトラッキングコードをレビュー用に誤送信する」という双方向のミスが発生しやすくなります。レビュー用と本番用でブランチまたはファイルを分けることを推奨します。

関連記事

「セキュリティ」の記事をもっと見る →