前回のセッションで不動産相場チェッカーのコードは完成していた。でも、GitHub(コードを公開・共有するサービス)で一般公開するとなると、「他人が安全に使えるか」を第三者目線で検証する必要がある。
特に怖いのがAPIキーの漏洩。ユーザーが自分のAPIキー(国交省のデータにアクセスするための認証コード)を入力して使うサービスなので、そのキーが意図せず外部に流出するリスクがないか徹底的にチェックした。
検証しないまま公開すると、ユーザーのAPIキーが第三者に見られる・悪用されるリスクがある。
Codex(OpenAIのGPT-5.4を搭載したコードレビュー専用AI)にセキュリティ監査を依頼し、指摘された5件すべてを修正した。
Google Colab(Googleが提供する無料のプログラム実行環境)には「フォーム入力」機能がある。最初はこれを使ってAPIキーを入力してもらう設計だった。
問題は、フォーム入力した値はノートブックのソースコードに埋め込まれること。ユーザーが「保存」すると、APIキーがそのまま保存ファイルに含まれてしまう。
プログラムがサーバーにデータを要求するとき、サーバーが「別のアドレスに行ってね」とリダイレクト(転送)することがある。このとき、リクエストに含まれていたAPIキーがそのまま転送先にも送られてしまう。
転送先が悪意のあるサーバーだった場合、APIキーが盗まれる。これを防ぐために、全てのHTTPリクエスト(サーバーへのデータ要求)に「リダイレクト禁止」の設定を追加した。
39件のユニットテスト(プログラムの各部品が正しく動くかの自動検証)が全て通過。セキュリティ修正後も機能に問題がないことを確認済み。
なぜAI2体で監査したのか? — Claude Code(実装者)が自分で作ったコードを自分でレビューしても見落としがある。Codex(GPT-5.4搭載の別のAI)という「他人の目」を入れることで、実装者が無意識にスルーしていた問題(getpassを使うべき、GSIリクエストのリダイレクト禁止が漏れている)を検出できた。
残っている作業 — Colabでの実機テスト(実際にブラウザで開いて動くか確認)はユーザー自身が行う必要がある。APIキーが必要なので、AIだけでは完結できない。