AIのあとしまつ

TOFU(流入を増やす)

個人開発者が『クラウド破産』しないためのAWS/OpenAI API管理術【APIキー流出対策】

GitHubに上げたコードにAPIキーが含まれていて数百万円の請求が……。AI開発初心者が最初に直面する「パケ死」リスクを防ぐための、正しい環境変数の管理方法をガイドします。

APIキー流出AWSクラウド破産

「朝起きたら、AWSから300万円の請求が来ていた」 怪談のような話ですが、これは個人開発者の間で毎月のように起きている実話です。

原因の9割は、GitHubへのAPIキーの誤アップロードです。

なぜ流出するのか?

AIにコードを書かせると、動作確認のためにコードの中に直接キーを書き込む(ハードコーディング)ことがあります。

// 絶対にやってはいけない例
const openai = new OpenAI({
  apiKey: "sk-proj-xxxxxxxxxxxxxxxx" // ← ここにキーが書いてある
});

このまま「とりあえず保存しよう」とGitHubにPushした瞬間、世界中のボットがあなたのキーを検知し、数秒後には不正利用が始まります。リポジトリをPrivateにしていても安心はできません(招待された人が見れてしまうなど)。

プロがやっている「破産しない」設定

1. 環境変数 (.env) を使う

キーはコードに書かず、.env ファイルに書きます。そして .gitignore ファイルに .env を追加し、GitHubにアップロードされないようにします。

2. リミット(予算制限)を設定する

OpenAIやAWSの管理画面で、「月額$50まで」といったハードリミットを設定します。これをしておけば、万が一漏れても被害は$50で止まります。

3. GitGuardianなどの監視ツールを入れる

コミットする時に「キーが含まれていないか」を自動チェックするツールを導入します。

結論

クラウド破産は、技術レベルに関係なく「うっかり」で発生します。 「自分は大丈夫」と思わず、開発を始める初日に必ずリミット設定を行いましょう。