APIキーとは?漏えいすると何が起きるのか
APIキーとは、外部のサービス(AI、地図、決済、翻訳、クラウドなど)を自社のプログラムから呼び出すときに、「この呼び出しはこの契約者のものだ」と示すための長い文字列です。家の合鍵にたとえると分かりやすく、キーを知っている人は誰でも、あなたの会社になりすましてそのサービスを使えます。パスワードと違って画面から打ち込むものではないため、プログラムやファイルの中に置かれたまま、本人も忘れていることが珍しくありません。
漏えいすると起きることは、大きく3つです。
- 身に覚えのない高額請求:多くのサービスは使った量に応じた従量課金です。第三者がキーを使って大量に呼び出すと、その料金は契約者である自社に請求されます
- データの取得・書き換え:キーに与えられた権限によっては、サービス上に保存した顧客情報や業務データを読み出されたり、消されたりします
- サービスとツールの停止:不正利用を検知したサービス側がキーや契約を止めると、そのキーで動いていた業務ツールも止まります
規模感も確認しておきます。プログラムの置き場所として世界中で使われているGitHubの公式ブログによると、2024年の1年間にGitHub上で漏えいしたシークレット(APIキーやパスワードなどの秘密情報)は3,900万件以上でした(出典:GitHub公式ブログ「GitHub found 39M secret leaks in 2024」(2025年4月公表))。同社は、公開前にシークレットの混入を止める仕組み(push protection)で、毎分複数の流出をブロックしているとしています。公開された場所に置かれたキーは、遅かれ早かれ見つかる前提で考える必要があります。
漏えいはどこで起きるか。AIで作ったツールに多い3つの置き場所
弊社は、AIに作らせた業務ツールの点検のご相談を受けてきました。そこで繰り返し見てきたのが、秘密情報の直書き、つまりAPIキーがプログラムの本文にそのまま書かれている状態です。AIは「動くもの」を最短で作ろうとするため、頼み方を工夫しないと、キーを直書きしたコードが出てきます。動作確認はそれで通ってしまうので、問題と気づかないまま使い続ける構図です。
| よくある置き場所 | 何が問題か | 直し方 |
|---|---|---|
| コードへの直書き | ファイルを共有・納品するたびにキーごと渡る。変更履歴にも残る | キーを専用の置き場所へ移し、コードはそこから読み込む形にする |
| 共有ファイルやチャットへの貼り付け | 誰が見られるかを把握できない。あとから検索しても見つけにくい | 貼った場所を消すだけでなく、キー自体を作り直す |
| 公開リポジトリへの混入 | 不特定多数が見られる状態。自動的に探し出される | 無効化が先。削除しても履歴に残るため、消しただけでは終わらない |
AIで作ったツールの危険は、キーの直書きだけではありません。必要以上に広い権限、他人のデータが見えてしまう作りなど、全体の点検項目はAIに作らせたツールの6つの落とし穴にまとめています。本記事は、そのうちの1つ「秘密情報の直書き」を深掘りするものです。
直書きを避けることは、各サービスの公式文書でも最初の注意点です。Google Cloudの公式ドキュメントは、APIキーをクライアントのコードに含めたり、コードの置き場所(リポジトリ)に登録したりしないことを明記し、あわせてキーの用途を絞る制限の設定を勧めています(出典:Google Cloud「APIキーを使用する際のベスト プラクティス」)。
漏えいに気づいたら。「消す」より先に「無効化→再発行」
置いてはいけない場所にキーがあると気づいたとき、最初にやりたくなるのは「その場から消す」ことです。しかし、消しても漏えいは終わりません。共有ファイルやプログラムの変更履歴には過去の状態が残り、すでに誰かがコピーしている可能性も否定できないからです。GitHubの公式ドキュメントも、漏えいしたシークレットへの対応としてまずキーそのものを失効・再発行する(ローテーションする)ことを推奨し、履歴からの削除は時間がかかるうえ、キーを無効化済みであれば多くの場合不要だとしています(出典:GitHub Docs「シークレット スキャンについて」)。
対処は次の順番で進めます。担当は、ツールを作った本人(または発注先)と、そのサービスの契約者の2人です。
- 1. 無効にする:キーを発行したサービスの管理画面で、漏れたキーを無効化(失効)する。ツールは一時的に止まるが、不正利用も止まる
- 2. 作り直す:新しいキーを発行する。このとき、権限と利用範囲を必要最小限に絞り直す
- 3. 置き直す:新しいキーはコードに書かず、専用の置き場所に1か所だけ保管する(次の章で説明します)
- 4. 確かめる:利用履歴と請求の画面に、心当たりのない呼び出しがないかを確認する。不審な利用があれば、日時と内容を記録してサービスの窓口へ連絡する
- 5. 記録する:いつ・どこに・どのくらいの期間キーが置かれていたかをメモに残す。顧客データに関わる場合の判断材料になる
無効化から再発行・置き直しまでは、慣れていなくても30分ほどで終わる作業です。先に「ツールが数十分止まります」と社内に知らせておくと、慌てずに進められます。「止まると困るから無効化をためらう」のがいちばん危険な判断です。止まる数十分より、合鍵が出回ったままの数週間のほうがはるかに高くつきます。
漏れにくい置き場所と、漏れたら気づける仕組み
置き場所は「コードの外」に1か所
弊社自身も、APIキーなどの秘密情報はプログラムの本文に書かず、専用の置き場所に分けて保管し、共有や公開の対象から除外する運用にしています。具体的には、環境変数や設定ファイルと呼ばれる「コードの外」の置き場所にキーをまとめ、その置き場所だけは共有・納品・公開の対象から外す方法が一般的です。置き場所が1か所に決まっていれば、入れ替えるときに直す場所も1か所で済みます。
Google Cloudの公式ドキュメントは、このほかに、キーをアプリケーションごとに分けて発行する・使っていないキーを削除する・定期的に新しいキーへ入れ替える(ローテーションする)ことを挙げています(同ドキュメント)。アプリごとに分けておくと、漏えいしたときに止める範囲を小さくできます。
無料でできる検知と「気づける」設定
- 公開場所の自動検知:GitHubの公開(パブリック)リポジトリでは、シークレットスキャンという検知機能が無料で自動的に働き、キーらしき文字列を見つけるとアラートを出します。主要なサービスのキーは発行元にも通知され、失効などの対応につながります(出典は上記GitHub Docs)
- 利用上限と通知:多くのサービスには、利用額や呼び出し回数の上限、しきい値を超えたときの通知を設定する画面があります。上限があれば、漏えいしても被害額に天井ができます。設定項目の名称や有無はサービスごとに異なるため、お使いのサービスの公式ヘルプで確認してください
- 請求画面の月次確認:月に1回、請求とキーの一覧を見る日を決めます。見覚えのない呼び出しの増え方は、請求画面がいちばん早く教えてくれます
「漏らさない置き場所」と「漏れても気づける設定」の2段構えにしておくと、直書きのような単純なミスが1回あっても、大きな事故になる前に止められます。
続け方。月1回の「キーの棚卸し」と、この連載の次のテーマ
パスワードと同じで、APIキーも「作ったきり誰も見ていない」状態がいちばん危険です。月に1回、15分だけ次の3点を見る時間を取ってください。
- どのサービスのキーが何本あるか、一覧になっているか(サービス名・用途・管理者・発行日の4列で足ります)
- 使っていないキーや、退職者・契約が終わった外注先に渡したままのキーが残っていないか
- 利用上限と通知の設定が、いまも有効なままかどうか
退職や外注契約の終了は、キーを入れ替えるタイミングでもあります。アカウント側の手順は退職者のアカウント削除チェックリストに、パスワード全般の管理は会社のパスワード管理にまとめています。また、キーを扱うツールやサーバー自体の弱点も日々見つかるため、情報の追い方は脆弱性とは?毎朝5分で情報を追う方法をご覧ください。
システム開発を外注している場合は、キーの受け渡し方や納品後の管理を契約前に確認しておくことが、直書きの持ち込みを防ぐ近道になります。この論点は、この連載で後日「外注時のセキュリティチェックリスト」として取り上げます。
本記事の内容は、2026年10月時点で公表されている資料をもとに編集部が整理したものです。最新の情報は各出典でご確認ください。
AIで作ったツールのキーと権限を、第三者の目で点検する
キーの直書きやゆるい権限は、作った本人ほど気づきにくいものです。セキュリティ診断は5,000円(税抜)の固定料金で、サイトのURLだけで始められます。点検後の更新・バックアップ・監視は、月額9,800円(税抜)からの保守で引き受けます。
セキュリティ診断の内容を見る →よくある質問
Q. APIキーが漏れると、お金を請求されるのですか?
多くのサービスは呼び出した量に応じた従量課金のため、第三者がキーを使った分も契約者である自社に請求される仕組みです。利用額の上限や通知を設定しておくと、被害額に天井を作れます。身に覚えのない請求に気づいたら、まずキーを無効化し、利用履歴を保存したうえでサービスの窓口に連絡してください。
Q. コードからキーを消して上書きすれば、それで終わりですか?
いいえ。共有ファイルやプログラムの変更履歴には過去の状態が残り、すでにコピーされている可能性もあります。GitHubの公式ドキュメントも、漏えいしたキーはまず失効(無効化)と再発行で対応することを推奨しています。消すより先に無効化、が原則です。
Q. AIにツールを作ってもらうとき、何と頼めば直書きを防げますか?
最初に「APIキーなどの秘密情報はコードに直接書かず、環境変数など外部の設定から読み込む作りにしてください」と指定してください。完成後は、コードの中を「key」「secret」といった語で検索し、長い英数字の文字列が直接書かれていないかを見ると、非エンジニアでも点検できます。
Q. 自社にAPIキーがあるかどうか分かりません。どう調べればよいですか?
AIサービス、地図の表示、決済、チャット連携、業務の自動化などを使っていれば、どこかにAPIキーがある可能性が高いです。ツールを作った担当者や外注先に「どのサービスのキーを・どこに保管していて・誰が管理しているか」の3点を聞いてください。一覧が出てこない場合は、その状態自体が点検の始めどころです。弊社のセキュリティ診断でも、キーの置き場所と権限を含めて点検しています。
