「APIキーが漏れる」とは何が起きるのかを解説

APIキーが漏れると「サービスが壊れる」のではなく「あなたが請求される」

AIサービスや外部APIの説明でよく出てくる言葉に「APIキーを公開してはいけない」があります。
ただ、多くの場合は理由が曖昧なまま覚えています。

APIキーが漏れると何が起きるのか。
結論から言うと、あなたのアカウントを他人が自由に使える状態になります

そしてほとんどの場合、最初に起きる問題はセキュリティ侵害ではありません。
請求です。

「システムが壊れる」「サイトが乗っ取られる」と想像されがちですが、現実にはもっと地味で深刻です。
他人の利用料金をあなたが支払うことになります。

APIキーとは何か

APIキーは、簡単に言えば「サービスを使うための身分証明」です。
ログインIDとパスワードに近い役割ですが、違いがあります。

通常のログイン:

  • 人間が入力する
  • 画面にログインする

APIキー:

  • プログラムが送信する
  • サービスを呼び出す

サーバはリクエストを受け取ると、「誰が呼び出したか」をAPIキーで判断します。

つまりAPIキーは、利用者そのものを識別する情報です。

どうやって漏れるのか

もっとも多い原因は、JavaScriptへの直書きです。

const API_KEY = "sk-xxxxxxxxxxxxxxxxxxxx";

これをWebページに置くと、ブラウザがそのまま読み込みます。
そしてブラウザのコードは、誰でも見ることができます。

見える場所に置いた時点で公開です

ブラウザでは、次の操作だけでコードが見えます。

  • 右クリック → 検証
  • ソース表示
  • ネットワークタブ

つまり「公開していないつもり」でも、インターネットに置いた時点で公開されています。

実際に起きる流れ

APIキーが見つかると、攻撃者は次の行動を取ります。

1. キーをコピーする
2. 自分のプログラムに設定する
3. APIを大量に実行する

重要なのは、アクセス元を判別できない点です。
サーバから見れば、すべて「あなたの利用」です。

curl https://api.example.com/v1/ai \
  -H "Authorization: Bearer sk-xxxxxxxx"

このリクエストは、あなたのサイトとは無関係な場所から送られていても、あなたの利用として処理されます。

なぜAIサービスで特に問題になるのか

AI APIは従量課金が多いです。
つまり使った分だけ費用が増えます。

そのため、悪用されると短時間で大きな請求になります。

  • ボットが自動実行する
  • 24時間呼び出される
  • 数万回リクエストされる

気づくきっかけは「請求通知メール」です。
ここで初めて漏洩に気づくケースが少なくありません。

「バレないのでは?」が危険な理由

検索エンジンやボットは、公開ページを巡回しています。
GitHubに上げたコードや、公開されたHTMLは自動収集されます。

つまり「人に教えていない」ことは安全ではありません。
インターネット上では、発見される前提で設計する必要があります

正しい使い方

APIキーはブラウザではなく、サーバに置きます。

正しい構造はこうなります。

  • ブラウザ → あなたのサーバ
  • サーバ → APIサービス

ブラウザから直接APIを呼び出さないことが重要です。

fetch("/api/chat", { method: "POST", body: text });
# サーバ側
response = requests.post(
  "https://api.example.com/v1/ai",
  headers={"Authorization": "Bearer " + API_KEY}
)

ブラウザはあなたのサーバにしか接続しません。
APIキーは外部から見えない場所に置かれます。

すでに漏れた場合の対処

もし公開してしまった場合、やることは一つです。
すぐにキーを無効化し、再発行します

  • キーを削除
  • 新しいキーを作成
  • サーバ側にのみ設定

「後で直す」は危険です。
公開から数時間で悪用される例もあります。

よくある誤解

小さなサイトだから狙われない

人ではなくボットが探しています。
規模は関係ありません。

難しいキーだから安全

文字列の強度は関係ありません。
公開されていれば意味がありません。

覚え方

APIキーは「パスワード」ではありません。
クレジットカード番号に近いものです。

見える場所に置けば、使われます。
そして請求は所有者に来ます。

セキュリティは専門知識より、置き場所の理解が重要です。
AIを使う前に、この1点だけは必ず押さえておく必要があります。