はじめに
失敗談を書きます。
恥ずかしいですが、これが一番伝わると思うので。
事の発端
NDLの開発は長らく、自社サーバーとフォルダ階層でバージョン管理していた。バックアップはクラウドに同期。
それで十分だと思っていた。
しかし、TEC企業との協業が始まることになり、GitHubでの管理が必要になった。これまでReplitやClaude Codeで作ったプロダクトも、自社サイトも、まとめてGitに上げることにした。
ここまでは順調。問題はここから。
一度目の警告
GitHubからアラートが届いた。
自社LPのソースに、microCMSの制限付きAPIキーがハードコーディングされていた。
制限付きとはいえ、あってはならないミスだ。すぐに削除。新しいキーを発行し、.env管理に切り替え、.gitignoreでSecretを除外した。
そして、戒めのために「インシデントレポート」を作成した。
同じミスを二度と繰り返さないために。
二度目の警告
晩飯を食っていた。
明太子クリームパスタを口に入れた瞬間、スマホが鳴った。
麦焼酎のお湯割を片手に画面を見ると、またGitHubからのアラート。同じNDLのLPで、APIキーが漏出している。
——なぜ?
新しいキーに差し替えたはずだ。.gitignoreも設定した。なのに、なぜ。
原因は、インシデントレポートだった。
戒めのために作ったレポート。そのファイルを、作業フォルダの中に置いていた。
バージョンアップの際、うっかりそのレポートごとコミットしてしまった。そしてそのレポートの中に、新しいAPIキーが書かれていた。
再発防止のために作ったものが、再発させた。
これはAIのせいではない。フォルダ設計の問題だ。人間が設計を怠った結果です。
即座に構造を変えた
レポート類はすべて別階層に移動。
作業フォルダ・秘密情報・記録・Git管理の境界を、最初から設計し直した。
ここで少し、真面目な話を。
最近、「AIで誰でもコードが書ける時代」という言葉をよく見かける。
事実です。私もAIと一緒にコードを書いている。
ただ、一つだけ伝えておきたいことがある。
Claude Codeのようなエージェント型AIは、チャットボットではない。指示すれば、ファイルを作る。フォルダを動かす。コードを書いて、実行する。GitHubにプッシュする。つまり、あなたのパソコンの中を、直接操作できる。その怖さを知らずに使っている人が、少なくないと思っています。
私はVBAでフォルダ自動生成・ファイル格納ツールを作った経験がある。操作を定義する癖がついている。それでも、やらかした。
「使える」と「設計できる」は、別の話です。
コードは書けても、設計が甘いと事故になる。APIキーが漏出すると、第三者に悪用されます。気づかないうちに大量のAPI呼び出しが走り、突然、身に覚えのない請求が届く。
「Claude CodeでAI副業!」の前に、環境変数、権限管理、Git設計。地味だけど、これが土台です。
私はやらかした側なので、威張れた話ではありません。笑
ただ、同じ目に遭う人を一人でも減らしたい。それだけです。
最後に
AIを使うなら、最初に設計してください。作業領域・秘密情報・記録・Git管理の境界を。
私のように、晩飯を中断しないためにも。
※少し冷めましたが、明太子クリームパスタは残さず美味しくいただきました。笑
まとめ
- APIキーをGitHubにコミットし、GitHubから即座にアラートが届いた
- 戒めに作ったインシデントレポート自体が、二度目の漏出原因になった
- 原因はAIではなく、フォルダ設計の甘さ
- Claude Codeはチャットボットではなく、ファイル・フォルダを直接操作するエージェント型AI
- 「使える」と「設計できる」は別の話
- AI活用の土台は、環境変数・権限管理・Git設計
関連するNDL語彙:
[現場設計とは] [AIとの談義] [LLMOとは] [ニューロデザインとは] [優しいDXとは][LLMOを導入するには]



コメント