日本語で指示するだけでアプリを作れるバイブコーディングが広がり、ChatGPTやClaude、GeminiのAPIキーを使う人が一気に増えました。APIキーは、アプリや開発ツールから生成AIを呼び出すための鍵となる、長い英数字の文字列です。→過去の「柳谷智宣のAIトレンドインサイト」の回はこちらを参照。
ただ、プログラミング経験のない人がAPIキーを扱う際、管理が十分でないことも珍しくありません。APIキーが第三者の手に渡れば、本人になりすまして生成AIを使われ、その料金は持ち主に請求されます。
電子マネーのコードをSNSで公開するようなものです。実際、流出したAPIキーが数時間から数日で数百万円規模の請求につながる事件が相次いでいます。APIキーで多額の請求を受けないための方法を解説します。
個人や学生にも及ぶAPIキー不正利用の高額請求
APIキーの不正利用は企業でも起きていますが、個人や学生、小規模事業者もターゲットになっています。たとえば、米ジョージア州の学生は、学習用に書いたコードへAPIキーを埋め込み、GitHubへ誤って公開してしまいました。約3カ月にわたって悪用され、請求額は5万5444ドルにもなったのです。当初は免除を断られましたが、再審査を経て最終的に全額免除されました。
オーストラリアの開発者Isuru Fonseka氏は、当時、月250ドルが上限となるTier 1の利用枠を使っていました。それでも、攻撃者による大量利用が昇格条件として扱われ、Googleの仕組みが利用ティアを自動で引き上げました。数分のうちに被害額は約1万2000ドルまで膨らんだのです。Googleは当初返金に応じず、報道されてようやく請求を取り消しました。
Claudeでも被害が出ています。1年前に作ったまま放置していたAPIキーを11日間にわたって悪用され、1万6000ドルを超える請求を受けた利用者がいます。支出の上限に達してようやく止まったものの、返金は何度求めても認められず、全額を自己負担したと報告されています。
注意したいのは、返金や免除が保証されていないことです。APIキーの管理は利用者の責任と判断され、全額を負担することもあります。免除されることもありますが、多くは再審査や報道を経てようやく認められたものです。被害に気づいてから解決までの間、数百万円の請求を抱えたまま交渉を続けるのは大きな負担になります。
バイブコーディングは便利で楽しいですが、APIキーのリスクはしっかりと把握しておく必要があります。
非エンジニアが見落としやすいAPIキー流出の経路
そもそもAPIキーは、どこから漏れるのでしょうか。バイブコーディングの流れを思い浮かべてください。AIに指示してコードを書かせ、言われるままにチャットにキーを貼り付け、動いたのでそのまま公開する。この何気ない一連の作業に、落とし穴が潜んでいます。
代表的なのが、コードと一緒にAPIキーを公開してしまうケースです。完成したアプリを配ったり、コードをGitHubへ置いたりすると、中に書かれたキーは誰でも読める状態になります。攻撃者は自動プログラムでこうした場所を常時巡回しているのです。セキュリティ企業がわざとAPIキーを公開した実験では、わずか数分で不正利用が始まりました。
アプリに埋め込まれたAPIキーも安全ではありません。開発には、APIキーを「環境変数」という別の置き場へ逃がす作法があります。ところが作り方によっては、完成したアプリのファイルへ値がそのまま書き込まれ、利用者の手元で読み取れてしまいます。
古いAPIキーの放置も入口になります。韓国では、2016年にアプリ用として作られたキーが10年経ってから悪用され、19時間で6万7000ドル分のGeminiが実行されました。チャットやメールでの共有、パソコンに入り込んだウイルスによる窃取という漏洩経路もあります。
厄介なのは「APIキーは秘密情報であり、人に知られてはいけない」という感覚が、エンジニアには常識でも、非エンジニアには共有されていないことです。筆者自身、エンジニアに叱られるまで、この深刻さを実感できていませんでした。
しかも、APIキーを狙うのは個人のいたずらだけではありません。盗んだキーを自動で集めて検証し、数百本を束ねて「月30ドルで有料の生成AIが使い放題」とうたう闇サービスとして売るビジネスが横行しているのです。料金を払うのは、APIキーを盗まれた持ち主です。
漏れても被害を広げないためのAPIキー運用の基本
きちんと管理しているつもりでも、この先何が起こるかは分かりません。万一APIキーが漏れても被害が最小限で済むように、ふだんの使い方を整理しておきましょう。
基本は、APIキーをユーザーや用途、環境ごとに分けることです。チームでひとつのAPIキーを共有したり、すべてのプロジェクトで同じAPIキーを使い回したりしてはいけません。分けてあれば、問題の起きたAPIキーだけを止められ、どこから漏れたのかも追いやすくなります。
次に、本物のキーをチャットへ貼らないことです。バイブコーディングでは、AI側から「動作確認のためにAPIキーを貼ってください」と促される場面もあります。しかし、貼ったキーはチャット履歴やツールのログに残る可能性があります。コードの中はYOURAPIKEYのようなダミー文字列で進め、本物は決められた置き場だけで扱いましょう。
あわせて、ブラウザやスマホで動く部分にAPIキーを持たせず、自分の管理するサーバーを経由して生成AIを呼ぶ作りにするよう、最初にAIへ指示しておくと安全です。
そして、使い終わったAPIキーを残さないことです。1年間放置されたキーや、10年前に作られたAPIキーが被害の入口になることもあります。デモや試作で使ったAPIキーは、終わった時点で無効化します。何に使っているか分からないAPIキーを「念のため」残す運用は、数年後の事故につながるので注意してください。
サービスごとに異なる利用上限の設定方法
想定以上の請求が来ないようにするには、利用上限を設定しておくと安心です。生成AI御三家それぞれの設定方法を紹介します。
Claudeは分かりやすい部類です。開発者向け管理画面(コンソール)の「制限」ページで、月にいくらまで使うかの「月間支出上限」を設定します。上限に達するとAPIが止まる仕組みで、上限に近づいた際の「メール通知」を追加することも可能です。
料金は前払いのクレジットを買って使う方式なので、残高の「自動リロード」をオフにしておけば、買った金額以上は使われません。
Gemini APIでは、プロジェクトごとに月間の費用上限を設定できます。Google AI Studioの「利用額」ページを開き、「月間の費用上限」→「費用上限を編集」と進んで金額を入力します。
上限に達すると、そのプロジェクトでのGemini APIの利用が停止します。ただし、課金データの反映には最大約10分の遅れがあり、その間の利用分が設定額を超えて請求される可能性があることは覚えておきましょう。
OpenAIは注意が必要です。管理画面の「Limits」で月額予算を設定できます。しかし、かつて上限として機能していたこの設定が、通知だけで実際には止まらなくなったという報告が、OpenAIの開発者フォーラムなどで相次いでいます。
前払いのクレジットを必要な分だけ購入し、自動チャージをオフにしておくと、残高がなくなれば新しい呼び出しはエラーになります。ただし、残高が尽きてから停止までに多少の時間差が出ることがあるので、予算よりも少し低く設定しておくとよいでしょう。
どのサービスも、仕様は短い間隔で変わっています。上限を設定したら、それで本当に止まるのかを、少額のうちに自分のアカウントで確かめておいてください。
APIキーが厄介なのは、盗まれた瞬間に不正利用される可能性があり、気づいたときには請求が膨らんでいる点です。数百万円の請求を受け、何カ月も交渉を続けるのは大きな負担ですし、免除されないこともあります。被害を受ける前に、APIキーの怖さを理解し、対策しておきましょう。







