📧

GitHub の noreply メールアドレスの設定と、スパム業者に関するtips

2024/02/29に公開

先日、Gitのコミットメールアドレスが、Github上のリポジトリから抜かれて、
スパムメールに利用されているのでは?と感じたので、非公開に設定しました。

この記事では、そこで調べたことを簡潔に紹介していきます。
少しでも、参考になれば嬉しいです!

コミット時のメールアドレスは、誰でも見れる

特定のリポジトリにコミットしたユーザーの、メールアドレスを確認する方法

  • リポジトリをクローンし、git logで、過去のコミットログの、Authorとメールアドレスが表示される
  • クローンしなくても、Github APIから、コミット履歴を取得する形でも、メールアドレスが表示されます

閲覧できるのは、Githubに登録しているメールアドレスではなく、
正確には、Gitのメールアドレスです。

ただ、これに関しては、Gitのユーザー名とメールアドレスは、GitHubアカウントと一致している人が多いと思います。

自分のGitのメールアドレスを確認するには?

自分のGitのユーザー名とメールアドレスは、以下のコマンドで確認できます:

git config --list

これで、以下のように表示されます:

user.name = ユーザー名
user.email = メールアドレス

上記は、パブリックのリポジトリであれば、閲覧することが可能です。

特に気にしないという方も多いと思いますが、
筆者は、以前から開発者向けの英語のスパムメール?が時々送られてきていて、気になっていました。

なので、おそらくこれが原因だ!ということがわかってスッキリしました。

コミットメールアドレスを公開したくない場合はどうすればいい?

これは、公式で解説されていました:
https://docs.github.com/ja/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address

メールアドレスをプライベートにしておきたいなら、GitHub が提供する noreply メールアドレスを使ってください。

上記の公式の説明の通りですが、
以下の手順で、Githubから提供されているnoreplyメールアドレスを設定できます:

  1. https://github.com/settings/emails にアクセスし、下記にチェックを入れる
  • Keep my email addresses private(Web上からのGitの操作に対し、noreplyアドレスを使用する)
  • Block command line pushes that expose my email(ローカルでのコミットが、Githubアカウントのプライベートメールと一致する場合、プッシュがブロックされる)
  1. ローカルのGitのメールアドレスを、noreplyメールアドレスに設定する
git config --global user.email "~~~@users.noreply.github.com"
  1. 再度、以下のコマンドでローカルのGitのメールアドレスを確認できます
git config --global user.email
> email@example.com

これで、今後行うコミットのメールアドレスを、プライベートに設定できます!

スパム業者に関するtips

Github上には、とても多くの有益な情報、プライバシーが詰まっています。
これは、悪徳な業者などに、常に監視されていると言って良いと思います。

というのも、自分のパブリックに公開しているリポジトリの、InsightsのTrafficを確認してみると、複数回クローンされています:

ほとんど全てのリポジトリで、このように複数回のクローンが行われています。
(クローンする価値のない、練習用のリポジトリすらも、、。)

もちろん、本当にコードが欲しくてクローンしている人もいるかもしれませんが、これらのほとんどは業者が自動でクローンしているらしい、ということが色々なサイトで言われています。

https://github.com/orgs/community/discussions/22069
上記でも、議論されています(翻訳):

ほぼすべてのパブリックリポジトリが、6つまたは7つのユニーククローナーを持つことは非常に一般的です。なぜなら、すべてのパブリックリポジトリを日常的にクローンするいくつかのプロジェクトがあるからです。一部の組織では、誤って公開されたAPIキーやその他の資格情報をスキャンします。

つまり、すべてのパブリックリポジトリを自動でクローンして、
APIキー、AWS のアクセスキー、その他の公開してはいけない情報を、探して抜き取っていることが日常的に行われているようです。

おそらくこれの延長で、メールアドレスも抜かれてスパムメールとかに利用されているのかな?と、経験則から推測してます。

おわりに

本記事では、GitHub の noreply メール アドレスの設定を中心に、
スパムメールやアクセスキーの抜き取りに関して、調べたことをまとめました!

常に自分のリポジトリが、何者かによってクローンされているという意識は大切です。
公開してはいけない情報は、注意して管理しましょう!

最後まで読んでいただきありがとうございます🐸

もし、スパムメールやアクセスキーの抜き取りをしている業者?に関して、より正確な知見や事例を知っている方は、ぜひ教えてください!

Happy Hacking !

Discussion