【緊急投稿】バイブコーディングで起きている不穏な話:APIキー流出とLLMジャッキングの現実

エンジニア視点・コラム



【緊急投稿】バイブコーディングで起きている不穏な話:APIキー流出とLLMジャッキングの現実 | システム開発はAIに任せよう!

AIで手軽にコードが書けるようになった。ノリと勢いで動くものができる。これが「バイブコーディング」と呼ばれる開発スタイルです。

楽しい。便利。でも今、これが原因で洒落にならない事件が起きています。

LLMジャッキングとは何か

「LLMジャッキング(LLMjacking)」という攻撃手法が報告されています。

仕組みはシンプルです。誰かのAPIキーを盗んで、そのキーを使って大量のAIリクエストを投げる。費用は盗まれた側に請求される。悪意ある第三者はタダでClaudeやGPTを使い放題、被害者には数百万〜数千万円規模の請求が届くケースも報告されています。かつて私自身がAWSから喰らった20万円請求どころの話ではありません。

そしてAPIキーの流出源として最も多いのがGitHubです。

何が起きているか

バイブコーディングでよくあるパターンがこれです。

  • AIにコードを書いてもらう
  • 動いた!嬉しい!そのままGitHubにプッシュ
  • コードの中にAPIキーがベタ書きされていた
  • GitHubのリポジトリを自動クロールしているボットに即座に発見される
  • 数時間後、見知らぬ誰かにAPIキーが使われはじめる

「プライベートリポジトリだから大丈夫」と思っている人もいるかもしれません。でも一瞬でもパブリックにした、うっかり設定を間違えた、それだけでボットに拾われます。ボットは常に監視しています。

HTMLファイルにAPIキーをハードコピーしてそのままWebに公開、というケースも報告されています。ブラウザの開発者ツールで誰でも見えます。

Claudeはどう対策しているか

Anthropic(Claudeの開発元)はAPIキーの不正利用対策としていくつかの仕組みを持っています。

GitHubと連携したシークレットスキャン機能があり、公開リポジトリにAnthropicのAPIキーが含まれていると自動検出して通知・無効化する仕組みがあります。また異常な使用量を検知した場合にアラートを出す仕組みも整備されています。

ただし、これはあくまで「流出後の対応」です。流出させないことが最優先です。

正しいAPIキーの扱い方

基本ルールは3つです。

①コードにAPIキーを直接書かない
環境変数(`.env`ファイルや、AWSならLambdaの環境変数設定)で管理します。コードには`process.env.API_KEY`のような変数名だけを書く。

②`.env`ファイルはGitHubにアップしない
`.gitignore`に`.env`を必ず追加します。これを忘れると環境変数ごとGitHubに上がります。

③HTMLやフロントエンドのコードにAPIキーを書かない
HTMLやJavaScriptに書いたAPIキーはブラウザから丸見えです。フロントエンドからAPIを叩く場合は、必ずバックエンド(LambdaなどのサーバーサイドAPI)を経由する構成にします。

マンチーが気をつけていること

これは他人事ではなく、自分でも常に意識していることです。

AIを使ってサービスを作るとき、APIキーや認証情報は全てLambdaの環境変数として設定しています。コードには一切書かない。HTMLやJavaScriptにも当然書きません。

フロントエンドからAIのAPIを直接叩く構成は最初から採用しません。必ずLambdaをプロキシとして挟み、APIキーはサーバーサイドにだけ存在する設計にする。これは最初に決めたルールです。

GitHubへのプッシュ前には`.gitignore`の確認を必ずやる。これも習慣にしています。

「AIが書いたコードだから安全」ではありません。AIはセキュリティより「動くこと」を優先してコードを書きます。セキュリティは人間が確認する、これがバイブコーディング時代の鉄則です。

楽しく使うために知っておくこと

バイブコーディング自体は素晴らしい文化だと思っています。AIのおかげで「作れなかったものが作れる」時代になった。それはこのブログで何度も書いてきた通りです。

でも楽しく使い続けるために、APIキーの扱いだけは手を抜かないでほしいです。

APIキー流出による高額請求は笑えない話です。バイブコーディングを楽しむのはいい。でも「動いた!プッシュ!」の前に、一呼吸おいてAPIキーの場所だけ確認してください。

参考になれば幸いです。


📝 このブログでは、AIと一緒に作った作品の顛末記を書いています
ブログ「システム開発はAIに任せよう!
👉 https://munchie.jp

コメント

タイトルとURLをコピーしました