※Claude Codeを使用して記事を作成しています。
シリーズ:Claude Codeを使ったAndroidアプリ開発 失敗談
- #12:APIキーをそのまま書かせてGitHubに上げてしまった話 ← 今回
はじめに
セキュリティに関わる失敗です。
Claude Codeに「APIキーを使った実装をして」とお願いすると、デフォルトではコードの中にAPIキーを直書きします。
それをそのままGitHubに上げてしまいました。
やらかしたこと
Google Maps APIキーを使った実装をClaude Codeにお願いしました。
Google Maps APIキーは「AIzaSyXXXXXXXXXXXXXXXXXXXX」です。
地図画面を実装してください。
Claude Codeは AndroidManifest.xml にAPIキーを直書きしたコードを生成し、私はそのままコミット・プッシュしました。
数日後、見知らぬ国のIPアドレスからのGoogle Maps API使用料が請求されていました。
GitHubのpublicリポジトリにAPIキーが丸見えで、ボットに拾われて悪用されていたのです。
即時対応
- Google Cloud ConsoleでAPIキーを即座に無効化
- 新しいAPIキーを発行
- GitHubのコミット履歴からもAPIキーを削除
(git filter-branchまたは BFG Repo Cleaner)
正しいAPIキーの管理方法
Claude Codeに最初から安全な方法で実装してもらうべきでした。
Google Maps APIキーを安全に管理する実装をしてください。
・APIキーは local.properties に書く
・local.properties は .gitignore に追加してGitに含めない
・buildConfigFieldを経由してコードからアクセスする
APIキーの値は「ここに置いてください」という形でコメントを書いてもらえれば十分です。
実際の値はあとで自分で入れます。
絶対にやってはいけないこと
| やってはいけないこと | 理由 |
|---|---|
| APIキーを直接コードに書く | GitHubに上げると世界中に公開される |
| APIキーを指示文に含めてそのまま実装させる | コードに直書きされる |
.gitignore を設定せずにpushする | 機密ファイルがすべて公開される |
.gitignoreの確認をClaude Codeに依頼する
Androidプロジェクトの .gitignore を確認して、
以下のファイルが含まれているか確認して、なければ追加してください。
・local.properties(APIキーを含むファイル)
・*.jks(署名ファイル)
・keystore.properties(署名情報)
・google-services.json(Firebaseの設定ファイル)※publicリポジトリの場合
まとめ
APIキーの漏洩は金銭的な損害に直結します。
Claude Codeへの指示でAPIキーを伝える必要があるときは、実際の値をコードに含めない実装を最初からお願いしましょう。
次回:【Claude Code 失敗談 #13】FirebaseをClaude Codeに設定させたらテストモードのままリリースした話

