AIのAPIキーが漏れる時代に、
今日やる3つの点検
先に結論
AIのAPIキーは、漏れるとそのまま誰かの利用料として請求されます。パスワードと違い、ログイン通知も来ません。今日できることは3つです。
- キーの置き場所を全部書き出す
- 使っていないキーは消す。心当たりがあれば先に再発行してから、利用履歴を見る
- キーごと・用途ごとに上限額を決める
どれも30分ほどでできます。順に説明します。
なぜ今なのか
2026年10月17日、ある開発ツールのクラウド管理画面が攻撃を受け、利用者の約1.4%について、保存されていた外部AIのAPIキーが漏れた可能性があると報じられました[1]。勝手に課金されたという個人の報告も出ています(数百ドル規模の報告がありますが、いずれも個人の報告で、確定した数字ではありません)。
同じ時期、24時間動き続ける個人向けのAIエージェントや、エージェントの動きを見張る仕組みの発表も続いています。AIが「呼んだときだけ動く道具」から「ずっと動いている同僚」に変わりつつあります。ずっと動くものには、ずっと使えるキーが要ります。キーの数も、置き場所も、気づかないうちに増えていきます。
攻撃者を止めることは、私たちにはできません。でも、漏れたときの被害を小さくしておくことはできます。それが今日の3つの点検です。
点検1:キーの置き場所を全部書き出す
まず「どこに、どの会社のキーがあるか」を知ることからです。よくある置き場所はこのあたりです。
- ホームフォルダの
.env - シェルの設定ファイル(
.zshrc・.bashrc・.profileなど)にexport ...=sk-...と直書き - Windows の PowerShell プロファイル
.netrc・.npmrc- 各ツールの設定画面やクラウドの管理画面(今回漏れたのはここでした)
シェルの設定ファイルに書いたキーは、ターミナルから起動するすべてのプログラムに環境変数として渡ります。便利ですが、渡す必要のないプログラムにまで届いてしまいます。
守 Mamori Guard なら1コマンド
私たちが作っている無料のセキュリティ点検ツール 守 Mamori Guard に、今日この点検を追加しました。上に挙げたファイルを読むだけで、Anthropic・OpenAI・Google・OpenRouter・xAI・Groq・Hugging Face のキーが見つかれば、ファイルの場所と提供元の名前だけを表示します。
macOS / Linux(点検だけ)
curl -fsSL https://mamori.teai.io/kit.tar.gz | tar xz
python3 mamori/agent/mamori_guard.py scan
Windows(PowerShell・点検だけ)
iwr https://mamori.teai.io/kit.tar.gz -OutFile $env:TEMP\mamori.tgz; tar xzf $env:TEMP\mamori.tgz -C $env:TEMP; & $env:TEMP\mamori\tools\guard.ps1 -ScanOnly
結果の中の「AI の API キーの平文置き場」という行を見てください。見つかった場合は、たとえば次のように出ます。
2 件のファイルに Anthropic/OpenAI のキー: /Users/you/.env、/Users/you/.zshrc
・キーの値は画面に出しません。記録もしません。
・ファイルを勝手に書き換えません。直すのはあなたの手で行います。
・Windows / macOS / Linux で動きます。
・中身はすべて公開しています(GitHub)。
調べるのはホームフォルダ直下の決まったファイルだけです。プロジェクトごとのフォルダにある
.env や、各ツールの設定画面・クラウドに保存したキーは対象外です。「見つかりませんでした」は「どこにもない」という意味ではありません。ツールの管理画面に貼ったキーは、別に書き出してください。
点検2:使っていないキーは消す。心当たりがあれば先に再発行
書き出したら、各社の管理画面でキーの一覧を開き、今使っていないキーを削除します。「念のため残しておく」キーほど、どこに貼ったか忘れられて危険です。
漏れた心当たりがある場合は、順番が大切です。
- 先に新しいキーを発行して、使っている場所を差し替える
- それから古いキーを失効させる
- 最後に利用履歴を見て、身に覚えのない利用がないか確かめる
履歴を先に眺めている間も、漏れたキーは使われ続けます。だから失効が先です。ただし、差し替える前に失効させると、自分のサービスやエージェントも一緒に止まります。
実はこれ、私たち自身が9月に経験しました。AIエージェントが「画面に出てしまったキー」を正しく失効させたのですが、それが自分自身の動いているキーだったため、すべての作業が止まりました。それ以来、teai では次のようにしています。
te key rotateの1コマンドで「新しいキーを発行 → 差し替え → 古いキーを失効」をこの順に行います。キーの値は表示しません。- いま使っているキー自身を失効させようとすると、サーバー側で止めます(新しいキーで古いキーを失効させる形にします)。
teai 以外のキーでも、考え方は同じです。差し替えてから失効、それから履歴。
点検3:キーごと・用途ごとに上限額を決める
漏れたことに気づくまでの時間を、ゼロにはできません。だから、気づくまでに使える金額に上限を決めておきます。
- 用途ごとにキーを分ける。本番サービス用・自分の作業用・試し用、のように分けると、どこから漏れたかが分かり、止めるのも1本で済みます。
- キーごとに上限を決める。目安は「普段の使用量の1.5〜2倍」。普段の量を知らなければ、まず1週間の履歴を見てください。
- 短い時間の上限もつける。月の上限だけだと、一晩で使い切られることがあります。1時間や1日の上限があると、異常な使われ方を早く止められます。
teai では、ダッシュボードのAPIキー画面で、キーごとに名前をつけて分け、1分・1時間・1日・1か月それぞれの上限を設定できます。上限に達したキーはそこで止まります。各社の管理画面にも、利用額の上限や通知の設定があります。今日、1本ずつ確かめてみてください。
まとめ
- 置き場所を書き出す — Mamori Guard の
scanで、ホームフォルダの主な場所は1コマンド。ツールやクラウドに貼ったキーは手で書き出す。 - 使っていないキーは消す — 心当たりがあれば「差し替え → 失効 → 履歴確認」の順。
- キーごとに上限 — 用途で分けて、短い時間の上限もつける。
AIがずっと動く時代は、便利で、楽しい時代でもあります。安心して任せられるように、まずは今日、自分のキーを数えるところから始めてみてください。
teai のキー上限は ダッシュボード から設定できます。
[1] eSecurity Planet の報道記事 https://www.esecurityplanet.com/artificial-intelligence/news-opencode-breach-ai-api-keys/(2026-10-25 参照)。被害額は個人の報告で、確定した数字ではありません。