Prompt

自分の「開発中」のサイトがChromeで”危険なサイト”と真っ赤に表示される原因は?

開発中のサイトがChromeで「真っ赤な警告画面(Safe Browsing)」になるのは、エンジニアにとって心臓に悪い瞬間だよね。でも大丈夫、これは君のコードが悪いというより、「Googleの自動スキャンアルゴリズムが、君のサイトを『未知の脅威』と誤認した」 というケースがほとんどだ。

情報工学的な視点で、その「スイスチーズの穴(誤認の要因)」を特定してみよう。


1. 疑われる4つの主な原因

① ドメインの「前科」または「不運」

  • 使い回しのドメイン: 取得したドメインが、過去にフィッシング詐欺やスパムに使われていた可能性がある。

  • 怪しいTLD: .xyz, .top, .tk などの安価なドメインは、スパム業者が多用するため、Googleの判定が最初から厳格(デフォルトで疑われる)になっている。

② 自己署名証明書(オレオレ証明書)の不備

  • SSL/TLSの不整合: ローカル環境やUbuntuサーバーで、正式な認証局(Let’s Encrypt等)を通さない自己署名証明書を使っている場合、Chromeは「中間者攻撃(MITM)」の可能性があると判断して警告を出す。

③ 「フィッシングサイト」に似た構造

  • ログインフォームの存在: まだコンテンツが少ない「開発中」の状態で、ログイン画面やクレジットカード入力欄だけがあるサイトは、自動スキャナーに「銀行やSNSの偽サイト」と判定されやすい。

  • 不完全なメタデータ: favicon.ico がなかったり、title タグがデフォルトのままだったりすると、「急造の詐欺サイト」の特徴に合致してしまうんだ。

④ 外部リソースの汚染

  • CDNやスクリプト: 参照している外部のJavaScriptライブラリや広告タグが、たまたまマルウェア配布元としてブラックリスト入りしていると、サイト全体が連帯責任で「危険」とされるよ。

2. 対処法:一意に解決するためのステップ

STEP 1: Google Search Console で確認

これが「唯一の真実(SSOT)」を確認する方法だ。

  1. Google Search Console にサイトを登録する。

  2. 「セキュリティと手動による対策」 > 「セキュリティの問題」 を見る。

  3. ここに「フィッシング」や「マルウェア」などの具体的な原因が書かれているはずだ。

STEP 2: 透明性レポートでチェック

Google 透明性レポート にURLを入力して、現在のステータスを確認しよう。

STEP 3: 再審査の請求

問題(怪しいログインフォームを隠す、証明書を正しく設定するなど)を解決したら、Search Consoleから 「審査をリクエスト」 する。通常、数時間から数日で真っ赤な画面は消えるよ。


3. 開発中の「回避策」と「予防策」

  • 認証をかける: 開発中のサイトを一般公開せず、Basic認証IP制限 をかけておけば、Googleのスキャナーが入ってこれないため、誤認されるリスクをゼロにできる。

  • Let’s Encrypt の導入: Ubuntuサーバーを使っているなら、certbot を使って一瞬で正式なSSL証明書を発行しよう。


見落とされがちな視点:ブラウザのキャッシュ

一度「危険」と判定されると、サーバー側で問題を直しても、君の Chromeのローカルキャッシュ が「このサイトは危険だ」と覚え続けていることがある。

直したはずなのに画面が赤いままなら、シークレットモードで試すか、ブラウザのセキュリティキャッシュをクリアしてみて。


結論

君のサイトが赤いのは、「中身が空っぽなのにログイン口がある」 などの、統計的な「詐欺サイトの特徴」に引っかかった可能性が高い。

まずは Google Search Console を見て、Googleが君のサイトをどう「定義」してしまったのかを確認するのが先決だね。

次は、「Ubuntuサーバーで Certbot を使って、一瞬で『信頼されるサイト』にするためのセットアップ手順」 をやってみる?

Would you like me to code a quick shell script to install Certbot and configure Nginx/Apache for a valid SSL certificate on your Ubuntu server?

Prompt

気になるのが、組織によって管理されているChromeブラウザ・メールアドレスでアクセスした時のみ表示されることだ。

その状況、パズルが1つに繋がったね!「組織(学校や職場)のアカウント」でログインしている時にだけ表示されるなら、Google全体のブラックリストではなく、「組織独自のセキュリティポリシー(Google Workspace の管理設定)」 が原因である可能性が極めて高いよ。

IT管理者が設定している「スイスチーズの壁」に、君の開発サイトが引っかかっている状態だね。


1. 組織アカウント特有の「3つの壁」

① 「未確認ドメイン」への自動警告

Google Workspace の管理者は、組織外の未知のドメインに対するアクセスを制限できるんだ。

  • 原因: 独自ドメイン(特に .xyz など)を取得したばかりだと、組織のフィルターが「このドメインは組織内で信頼の履歴がない」と判断して、安全のために真っ赤な警告を出すことがある。

② コンテンツの「AIスキャン」による誤検知

組織用のアカウントでは、フィッシング対策のスキャンが一般アカウントより強力に設定されていることが多い。

  • 原因: 前述の通り、「中身がほとんどないのにログインフォーム(input type="password")がある」 状態だと、組織のセキュリティエンジンが「これはパスワードを盗むための偽サイトだ!」と過剰反応するんだ。

③ 許可されていない SSL 構成

組織のポリシーで「特定の認証局(CA)以外の証明書は認めない」という設定がされている場合がある。

  • 原因: もし開発環境で自己署名証明書や、マイナーな認証局を使っていると、組織の Chrome ブラウザがそれを「不正な通信」とみなしてブロックするよ。

2. 実験:原因を切り分ける方法

これが「組織の設定」によるものか、ドメイン自体の問題かを確認するために、以下の 「一意なデバッグ」 を試してみて。

  1. 個人の Gmail アカウントでアクセス:

    同じブラウザの別プロファイル(個人のアカウント)で開いて、警告が出なければ 「組織のポリシー」 が確定だ。

  2. シークレットウィンドウ(ログインなし)でアクセス:

    これで警告が出ないなら、アカウントに紐付いた 「Safe Browsing の拡張機能や設定」 が原因だね。

  3. スマホのテザリング(別回線)でアクセス:

    もし組織のネットワーク(学内LANなど)を使っているなら、「ネットワーク層のファイアウォール」 が赤画面を差し込んでいる可能性もあるよ。


3. どうすれば「一意に解決」できる?

君が管理者でない場合、以下の「エンジニアらしいアプローチ」が有効だ。

  • Search Console への登録(再掲):

    組織のアカウントでそのサイトの Search Console を所有し、Google に「これは正当な開発サイトだ」と認識させれば、組織のフィルターも連動して緩和されることが多い。

  • コンテンツを「まとも」に見せる:

    index.html に、開発者情報やサイトの目的を記した「About」的なテキストをしっかり書き込む。スキャナーに「これは詐欺サイトではなく、建設的なプロジェクトだ」と教え込むんだ。

  • IT管理者に相談する:

    もし専門学校のプロジェクトなら、IT管理部門に「このドメインで開発をしているので、ホワイトリストに入れてほしい」と頼むのが一番確実だね。


見落とされがちな視点:管理デバイスの「証明書」

もし学校から貸与されたPCを使っているなら、そのPCには「組織専用のルート証明書」がインストールされている。この証明書と君のサイトの証明書がコンフリクト(衝突)している可能性もゼロじゃないよ。


結論

君のアカウントが「組織」に属していることで、Google が君を 「守るべき対象」 として、より厳しい基準(低い閾値)でサイトを評価しているんだね。

次は、「Google Workspace の仕様に基づいた、開発サイトが『フィッシング』と誤認されないための最小限のメタデータ構成(HTMLのヘッダー定義)」 を作ってみる?

Would you like me to code a robust index.html template that includes the necessary metadata to help avoid being flagged by automated security scanners?