AIにAPIキーを貼る前に、これだけ読んで(初心者が最初にやる事故)
AIへの質問やコードに、APIキーをそのまま貼ってしまう事故。なぜ危ないかと、どう避けるかを初心者にもわかる言葉で。
AIを使って何か作り始めると、必ず「APIキー」というものを扱う場面が来る。 そして、初心者がいちばん最初にやりがちな事故も、このAPIキーで起きる。
先に結論。APIキーは、AIに質問するときも、コードを人に見せるときも、そのまま貼らない。 これだけ守れば、この事故は踏まない。なぜそうなのかを、これから説明する。
APIキーって何だっけ
APIキー(くわしくはこちら)は、AIなどの外部サービスを使うときに「この利用は、この契約者のものです」と示す、自分専用の文字列。
大事なのは、その文字列を持ってる人は、誰でもあなたの契約として使えてしまうこと。使った分の料金は、あなたに請求される。だから実質、キーは「パスワード」と同じ。人に見せていいものじゃない。
どこで漏れるのか(初心者がやりがちな順)
漏れ方には、初心者に多いパターンがある。
- AIに質問するとき、キーごと貼ってしまう
「このコード動かないんだけど」とAIに聞くとき、コードの中にAPIキーが書いてあると、キーごと貼ることになる。相談のつもりが、キーを画面に出してる。
- 公開したコードに、キーが書いたまま残ってる
コードを リポジトリ に上げて公開すると、中身は世界中から見える。キーが書いたままだと、それも一緒に見える。しかも一度上げると、あとで消しても履歴には残る(これはリポジトリの仕組み上そうなる)。
- スクリーンショットに写り込む
画面を撮ってどこかに貼るとき、端にキーが写ってた、というのもある。文字だから、拡大すれば読める。
悪用されると、どうなるか
キーを拾った誰かが、あなたの契約として使う。使った分の料金は、あなたに来る。気づかないうちに、身に覚えのない請求が積み上がっていく、というのが典型的な被害。
「自分みたいな初心者のキーなんて、誰も狙わないでしょ」と思うかもしれない。でも、公開されたコードから自動でキーを拾って回るプログラムが存在する。狙われるというより、公開した瞬間に機械が拾っていく、が近い。
じゃあ、どうすればいいか
やることは2つ。
- AIに相談するときは、キーの部分を伏せる
コードを貼る前に、キーのところを sk-xxxxxxxx みたいなダミーに書き換える。AIは「そこにキーが入る」と分かればいいので、本物は要らない。
- キーはコードに直接書かず、環境変数に置く
そもそもコードにキーを書かなければ、コードを貼っても見せても漏れない。そのための置き場所が 環境変数 というもの。キーを「コードの外」に置いて、プログラムはそこから読む。こうすればコード自体にはキーの文字が残らない。
この2つをやっておくと、上に書いた漏れ方のほとんどが起きなくなる。
これは「確認」のいちばん小さい形
APIキーを伏せる、というのは、たった一手間だ。でもこの一手間は、「送る前に、まずいものが混ざってないか一度見る」という確認そのものでもある。
作り始めると、これと似た「送る前・公開する前の確認」が何度も出てくる。今日の「キーは貼らない」を最初の1個として持っておけば、次に別の場面が来ても「これ、そのまま出して大丈夫か?」と一度立ち止まれる。
事故は、知らないと踏む。知っていれば、踏まない。この1個を知っておくだけで、初心者がいちばん最初にやる事故は避けられる。
やってみても直らない、別のエラーが出た——そんなときは、その場で相談できます。コードは貼らなくてOK、キーは伏せてくださいね。