本文へ移動Lockpick
ドキュメント

Webサイトのコード内にあるシークレットキー

読了 2 分

パスワードやキーが公開されているサイトのコードに入ると、誰でも読み取れてしまう理由と、そうなった場合の対処法です。

Webサイトのコードはビジターのブラウザで実行されるため、ブラウザがそのコードをダウンロードする必要があります。誰でもそれを開いて読めます。

ほとんどのコードであれば、それで問題ありません。問題になるのは、決済アカウント、データベース、AI サービスのキーといったシークレットがコードに入ってしまう場合です。

発生する経緯

意図的に入れられることはほとんどありません。テスト中に貼り付けたキーを、削除し忘れることがあります。サーバー向けの設定を、誤って公開扱いにしてしまうこともあります。ビルドツールが、実際のサイトと一緒に、コードの読める版であるソースマップを公開してしまうこともあります。

攻撃者は、何百万ものサイトからこうしたキーを自動で探します。漏えいしたキーは、数時間のうちに請求額を増やしたり、顧客データを読み取ったり、あなたになりすましてメールを送ったりするおそれがあります。

スキャンで見つかった場合の対処法

  1. 使われたものとして扱ってください。 今すぐ削除しても、すでに誰かが入手している可能性があります。
  2. 取り替えてください。 キーを発行したサービスで新しいキーを作成し、古いキーを削除します。
  3. サーバー側に移してください。 キーはサーバーの設定に置くべきもので、ブラウザで実行されるコードに置いてはいけません。
  4. そのサービスの請求内容とログを確認してください。 身に覚えのない操作がないか調べます。

決済フォームのキーのように、公開することを前提としたキーもあります。このキーでできるのは決済の開始だけです。スキャンは、見つかったキーの種類と、その判定の確からしさを示します。

このページは役に立ちましたか?

このページの内容