Webサイトのコード内にあるシークレットキー
読了 2 分
パスワードやキーが公開されているサイトのコードに入ると、誰でも読み取れてしまう理由と、そうなった場合の対処法です。
Webサイトのコードはビジターのブラウザで実行されるため、ブラウザがそのコードをダウンロードする必要があります。誰でもそれを開いて読めます。
ほとんどのコードであれば、それで問題ありません。問題になるのは、決済アカウント、データベース、AI サービスのキーといったシークレットがコードに入ってしまう場合です。
発生する経緯
意図的に入れられることはほとんどありません。テスト中に貼り付けたキーを、削除し忘れることがあります。サーバー向けの設定を、誤って公開扱いにしてしまうこともあります。ビルドツールが、実際のサイトと一緒に、コードの読める版であるソースマップを公開してしまうこともあります。
攻撃者は、何百万ものサイトからこうしたキーを自動で探します。漏えいしたキーは、数時間のうちに請求額を増やしたり、顧客データを読み取ったり、あなたになりすましてメールを送ったりするおそれがあります。
スキャンで見つかった場合の対処法
- 使われたものとして扱ってください。 今すぐ削除しても、すでに誰かが入手している可能性があります。
- 取り替えてください。 キーを発行したサービスで新しいキーを作成し、古いキーを削除します。
- サーバー側に移してください。 キーはサーバーの設定に置くべきもので、ブラウザで実行されるコードに置いてはいけません。
- そのサービスの請求内容とログを確認してください。 身に覚えのない操作がないか調べます。
決済フォームのキーのように、公開することを前提としたキーもあります。このキーでできるのは決済の開始だけです。スキャンは、見つかったキーの種類と、その判定の確からしさを示します。
このページは役に立ちましたか?
