なぜ危ないのか
「あなたのアカウントが不正アクセスされました。今すぐログインして確認してください」のような文言はフィッシング検出アルゴリズムの典型的なターゲットです。このようなHTMLをメールに添付すると、受信者のメールセキュリティゲートウェイが自動でブロックし、ITセキュリティチームへのアラートが上がることがあります。
ブロックされなかった場合でも、受信者が自主的にフィッシングと判断して社内のセキュリティ担当者に報告するケースがあります。調査・確認・報告のコストが発生し、送付者への信頼が大幅に低下します。企業間レビューであれば取引継続に影響することもあります。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
ソースで見る場所
フィッシング的文言が多く出現するのはh1〜h3タグ・alert・banner・modal・notificationのクラスを持つ要素の中です。CSSクラス名でこれらを絞り込み、内包するテキストを確認します。`grep -n 'class=".*alert\|class=".*warning\|class=".*danger'`でクラス名から目星をつけることができます。
aタグのhref属性に外部URLが含まれていて、リンクテキストが「こちらをクリック」「今すぐ確認」のような誘導表現になっている場合も警戒が必要です。フィッシング判定では「緊急性のあるテキスト + 外部リンク」の組み合わせが高スコアとなります。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
安全に共有する設定
送付前にフィッシング的文言を中立的なダミーテキスト(「〇〇のお知らせ」「サンプルメッセージ」)に置き換えます。UIの構造とデザインだけを確認するレビューであれば、文言の中身はレビュー対象外として割り切り、ダミーテキストで統一する方が安全です。
レビュー対象のHTMLをZIPに圧縮してパスワードを設定してから送付すると、メールセキュリティフィルターによるスキャンを回避しやすくなります。ただしパスワードは別ルート(SMS・Slackなど)で伝えてください。または、ギガサイト便のようなURL共有方式ならメールフィルターを経由しません。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
再発防止ルール
AIへの依頼で「警告・エラー・通知系のUI」を作る際は、ダミーテキストを「Lorem ipsum」等のラテン語プレースホルダか、「通知テキストをここに入れます」のような明らかなダミー表現にするよう指示します。AIが勝手にリアルなフィッシング文言を補完しないよう制約をかけます。
送付前レビューで「フィッシングに見えないか」という視点のチェック項目を追加します。第三者の目線チェックとして、デザインチーム以外のメンバーにスクリーンショットを見せて「詐欺メールに見えるか」を聞くのが最速の確認方法です。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
よくある質問
赤い背景や警告アイコンだけでフィッシング判定される可能性はありますか?
テキストとの組み合わせで判定されるため、色やアイコンのみでブロックされることは稀です。ただし受信者の心理的印象には影響するため、レビュー用HTMLでは過剰な警告デザインを避けるのが無難です。
すでに送付してしまった場合、受信者にどう説明すればよいですか?
「デザインサンプル用に生成したHTMLにテスト文言が含まれていました。フィッシングではありません」と明記したフォローアップメールを即送します。必要であれば修正済みファイルを再送します。
社内向けの共有でもフィッシング文言の確認は必要ですか?
社内でもセキュリティ意識の高い従業員が報告するケースがあります。また社内メールサーバーにもスパムフィルターが設定されている場合が多く、ブロックされると到達しません。社外と同様に確認することをお勧めします。