インシデントレポートが、インシデントを起こした話。

業務改善

はじめに

失敗談を書きます。

恥ずかしいですが、これが一番伝わると思うので。

事の発端

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を導入するには]

コメント

タイトルとURLをコピーしました