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などの監視ツールを入れる
コミットする時に「キーが含まれていないか」を自動チェックするツールを導入します。
結論
クラウド破産は、技術レベルに関係なく「うっかり」で発生します。 「自分は大丈夫」と思わず、開発を始める初日に必ずリミット設定を行いましょう。