はじめに
非エンジニアながらも、生成AIに手伝ってもらいながら、Renotoriという文献検索ツールを作って公開しました。
この記事は、同じように「AIと一緒に何か作ってみたい」人に向けて書いています。エンジニアの方にとっては当たり前の内容だと思うので、そのつもりで読んでもらえるとうれしいです。
APIキーが漏れると何が起きるか
APIキーは、外部サービスを使うための合言葉です。家の鍵とほぼ同じで、持っている人なら誰でもドアを開けられます。
GitHubで公開されたコードは、鍵を探し回るプログラムに自動で読まれています。公開して短時間のうちに見つかり、勝手に使われて利用料を請求された、という話は珍しくありません。
AIと作るときに特有の落とし穴
いちばん伝えたいのはここです。
AIは「とりあえず動かす」ことを優先して、鍵をコードに直接書き込む提案をしてくることがあります。それで動いてしまうので、こちらはなかなか気づけない。
もう1つあります。Claude CodeのようなAIツールは、パソコンの中のファイルを読みながら作業します。秘密の鍵を書いたファイルも読めてしまうので、鍵がそのまま会話に表示される場合がある。AIに悪気はないので、人間の側が仕組みで防ぐしかありません。
私がやった3ステップ
1. 鍵は .env に分けて置く
.env は、秘密の情報だけを書いておくメモ帳のようなファイルです。
MY_API_KEY=ここに自分のキーを書く
コードには鍵そのものを書かず、「 .env から読んでね」とだけ書きます。Pythonなら python-dotenv というライブラリ(便利な部品集)を使うと簡単です。
import os
from dotenv import load_dotenv
load_dotenv() # .env の中身を読み込む
api_key = os.environ["MY_API_KEY"]
2. .gitignore に .env を書き足す
.gitignore は「このファイルはGitHubに載せない」というリストです。ここに1行足すだけで済みます。
.env
正直に書くと、この記事のために自分のリポジトリを見直したら、 .gitignore に .env が入っていませんでした。幸い .env ファイル自体は置いていなかったので、漏れてはいません。とはいえ、いつ事故が起きてもおかしくない状態でした。気づいたので、すぐに1行足しました。
3. 公開前にAIに確認してもらう
最後は人間の目で…と言いたいところですが、私はコードを全部は読めません。そこで、作業したのとは別の会話を開いて、AIにこう頼んでいます。
このリポジトリの中に、APIキー・パスワード・トークンが
直接書かれている場所がないか確認してください。
.gitignore に入れるべきファイルがあれば教えてください。
ただし、AIの答えをうのみにはしません。指摘された場所は自分で開いて、本当にそうなっているかを確かめます。Claude Codeを使っている場合は、設定で .env を読ませないようにもできるので、気になる方は調べてみてください。
もし漏れてしまったら
コードから鍵を消すだけでは足りません。Git(変更の履歴を残す仕組み)は過去の記録をすべて取っておくので、消したつもりでも履歴から見えてしまいます。
まず、そのサービスの管理画面で漏れた鍵を無効にして、新しい鍵を作り直してください。これをローテーションと呼びます。慌てて履歴を消そうとするより、先に鍵を止めるほうが大事です。
おわりに
完璧なセキュリティが何なのか、私にもまだわかりません。ただ、鍵を分ける、載せないリストに入れる、公開前に確認する。この3つなら今日からできます。
AIのおかげで、作れるものは一気に増えました。そのぶん、最後に確認するのは人間の役目なんだと思っています。
お知らせ
金沢シーサイドFMの番組「社長!あなたの会社教えてください。」に
出演させていただくことになりました。
2026年11月20日ごろ放送予定です。
HP:https://kanazawa-seasidefm.co.jp/
番組(spotify):https://open.spotify.com/show/2vgzg9tW45iW4jZnZAnaRR