前回の記事で、Claude Code に頼んでブログを公開しました。
公開できてひと安心…と思いきや、ちょっと気になったことがあります。
「このブログ、見られたらまずいものまで公開されていないかな?」
そこで今日は、Claude Code と一緒にセキュリティチェックをしてみました。むずかしいことは Claude Code がやってくれるので、初心者でも大丈夫です。
なぜチェックが必要なの?
GitHub Pages で無料公開しているブログは、リポジトリ(ブログ置き場)の中身がすべて世界中に公開されています。
公開されているのは、記事だけではありません。
- 設定ファイル
- 作業の記録(コミット履歴)
- 記録に残る「誰が作業したか」の情報
つまり、記事には書いていないつもりでも、どこかに個人情報が残っているかもしれないのです。
チェック 1:API キーを守る準備はできてる?
最初に、こう聞いてみました。
API キーが入った .env ファイルは、必ず .gitignore に追加できてる?
ちょっと用語が多いので、かんたんに説明しますね。
| 用語 | ひとことで言うと |
|---|---|
| API キー | サービスを使うための「合いカギ」。人に知られると悪用される |
| .env ファイル | API キーなどをまとめて書いておくファイル |
| .gitignore | 「このファイルは GitHub に送らないで」というリスト |
結果は… 入っていませんでした! 😱
幸い、まだ .env ファイルは作っていなかったので、漏れたものはありません。
でも、このままだと将来うっかり合いカギを世界中に公開してしまうところでした。
追加してプッシュして
とお願いして、.env や鍵ファイルを GitHub に送らない設定にしてもらいました。
💡 先に .gitignore に入れておくのが大事です。 一度でも GitHub に送ってしまったファイルは、あとから .gitignore に書いても手遅れになります。
チェック 2:フォルダ全体をまるごと点検
次は、まとめてお願いしてみました。
HuGo フォルダ、セキュリティチェックして
Claude Code が、こんなところを調べてくれました。
- 記事や設定ファイルに、パスワードやキーが書かれていないか
- 過去の作業記録(コミット履歴)に、秘密の情報が残っていないか
- ブログが、あやしい外部のプログラムを読み込んでいないか
- GitHub の設定は安全になっているか
ほとんどは「問題なし」でしたが、1つだけ見つかりました。
見つかった問題:メールアドレスが公開されていた!
Git で作業を記録(コミット)すると、「誰が作業したか」としてメールアドレスも一緒に記録されます。
そして、公開リポジトリではその記録も誰でも見られます。 つまり、ふだん使っているメールアドレスが、世界中から見える状態になっていたのです。
迷惑メールが届く原因にもなるので、対策することにしました。
対策:3 つのステップ
ステップ 1:GitHub でメールアドレスを非公開にする(自分で設定)
ここはブラウザで自分で設定します。
- GitHub の メール設定ページ を開く
- Keep my email addresses private にチェック(メールアドレスを公開しない)
- Block command line pushes that expose my email にチェック(メールアドレス入りの記録を送ろうとしたら止めてくれる)
チェックを入れると、公開しても大丈夫な代わりのメールアドレス(数字+ユーザー名@users.noreply.github.com という形)がもらえます。
ステップ 2:これからの作業記録は「代わりのアドレス」で
パソコンの Git の設定を、さっきの代わりのアドレスに変えます。これで、これから先の作業記録には本物のメールアドレスが残りません。
💡 代わりのアドレスでも、GitHub のアカウントとはちゃんと紐づきます。 プロフィールの「草(作業した日の記録)」もこれまでどおり付きます。
ステップ 3:過去の作業記録も書き換える
ステップ 1・2 だけだと、すでに公開されている過去の記録にはメールアドレスが残ったままです。
過去のコミットのメールアドレスも書き換えて
とお願いすると、Claude Code が過去の記録のメールアドレスを、すべて代わりのアドレスに書き換えてくれました。
ただ、これは過去の記録を書き換える、ちょっと危ない作業です。失敗するとやり直しがききません。 そこで Claude Code は、こんな順番で慎重に進めてくれました。
- まずバックアップを作る
- 書き換える
- メールアドレスが残っていないか・記事の中身が変わっていないかを確認する
- 問題がないことを確かめてから、GitHub に送る
最後に、もう必要なくなった古い記録とバックアップを削除して完了です。
ちょっとびっくり:Claude Code が止められた?
途中で、Claude Code が過去の記録を書き換えようとしたら、Claude Code の安全機能にストップをかけられました。
これは故障ではありません。 「過去の記録を書き換える」のような取り返しのつかない操作は、AI が勝手に実行できないようになっているのです。
続けるには、自分で「この操作は OK」と許可を出す必要があります。
- Claude Code のプロンプトに
/permissionsと入力する - 「Allow(許可)」のタブを選び、「Add a new rule…」を選ぶ
- Claude Code に教えてもらったルールを入力して追加する
今回追加したルールは、この 2 つです。
Bash(git filter-branch:*)
Bash(git push --force-with-lease origin main)
| ルール | 意味 |
|---|---|
Bash(git filter-branch:*) | 過去の記録を書き換えるコマンドを許可する |
Bash(git push --force-with-lease origin main) | 書き換えた記録を GitHub に送る(上書きする)コマンドを許可する |
追加すると、Added allow rule Bash(git filter-branch:*) のように表示されます。これで許可は完了です。
作業が終わったら、許可は元に戻しておくのがおすすめです。
もう一度 /permissions を開いて、追加した 2 つのルールを選んで削除します。「許可を削除して」と Claude Code にお願いしても、やってくれます。
💡 AI に任せきりにならず、大事なところは人間が判断する。 この仕組みのおかげで、安心して任せられるなと感じました。
今日のまとめ
| チェックしたこと | 結果 | やったこと |
|---|---|---|
| API キーの対策 | ❌ 未設定だった | .gitignore に .env などを追加 |
| 秘密の情報が漏れていないか | ✅ 問題なし | ー |
| あやしいプログラムの読み込み | ✅ 問題なし | ー |
| メールアドレスの公開 | ❌ 公開されていた | 非公開設定+過去の記録も書き換え |
今日お願いしたのは、たったこれだけです。
- 「.env は .gitignore に入ってる?」
- 「セキュリティチェックして」
- 「メールアドレスの対策のやり方を教えて」→「やって」
- 「古い記録とバックアップも削除して」
ブログを公開したら、一度「セキュリティチェックして」とお願いしてみてください。 自分では気づけない「うっかり」を見つけてくれるはずです。