0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git に意図せず本名や住所が漏れないようにしよう

0
Last updated at Posted at 2026-10-12

最近、こういった記事を目にする機会が増えてきました。

コーディングエージェントの発展に伴い、人間の手を離れて AI が自律的にコードを書き、コミットをするようになってきています。チームや人によっては、ほぼノーチェックでそれを回し続けていることと思います。

プライベートリポジトリでやる分にはまだ許容できるかもしれません。しかしパブリックリポジトリだと意図せず個人情報が漏れてしまうという危険性もあります。また、リポジトリがプライベートでも、そのビルド結果などを外部に公開する場合(コーポレートサイトなど)、プライベート情報が意図せず公開されてしまう可能性も考えられます。

どこから漏れるのか?

多岐に渡りますが、個人情報という観点に絞ってピックアップしていきましょう。

Git の author 情報

まさに上の記事が警告する点ですね!

クラウド環境の場合、author 情報がどうセットされるかは不明瞭なことが多いですし、ローカルの場合でも AI が author 情報を黙って上書きする事例が報告されています。ある程度経験を積んだエンジニアならこのあたりきちんと見られていることかと思いますが、特に学びたての方ですと見落とすことがかなり多いです。

簡単な確認方法
$ git var GIT_AUTHOR_IDENT # 実際に使われる author 情報を表示
$ git log # 実際に記録された author 情報を表示

画像のメタ情報

特にブログを Git で管理している場合、注意すべき点かと思います。

主要な SNS などでは画像をアップロードすると EXIF 情報はあらかた削除されますので、あまり意識しなくても個人情報が漏れることはありません。しかし Git はそのようなお節介を焼いてくれないため(あくまで内容を深く関知しないバージョン管理ツールなので当然です)、画像をコミットすると EXIF 情報はそのままになります。

特に問題なのが GPS 情報です。 もし自宅で撮影した写真をブログにコミットした場合、意図せず全世界に自分の住所が露呈してしまうことになります。そして Git 上で削除をしても、履歴には残り続けます。完全に抹消するには、git filter-repo で歴史改変をしたり、GitHub 側で git gc してもらったり、もしフォークされてたらフォーク先に連絡したり、などの極めて面倒な作業が必要です。しかもここまでやっても、完全に抹消しきれない可能性があります。

簡単な確認方法
$ exiftool -gps:all photo.jpg # CLI なら https://exiftool.org が便利です

Office ドキュメント

公開リポジトリで扱うことは比較的稀な気がしますが、コーポレートサイトを Git 管理している場合、Office ドキュメントに作成者名などが残っているとそれがそのまま外部公開されてしまいます。

かなり古典的というか、昔から何度も話題になってきているのでご存知の方も多いかもしれません。

簡単な確認方法
$ exiftool doc.xlsx # EXIF ではない Office メタデータにも対応してます

PDF ファイル

わりと Git 管理することが多いので、少し注意です。PDF には作成者名が入ることがあります。その他、使用ソフトウェア名なども場合によっては入ります。

この辺りはほぼ Office ドキュメントと同様ですね。

簡単な確認方法
$ exiftool doc.pdf # 同上

tar.gz アーカイブ

これは意外と知られてないかもしれませんが、実は tar.gz アーカイブにも OS のユーザー名などが記録されることがあります。

正確には、tar のヘッダー情報にです。ここにはファイルの所有者名・グループ名・タイムスタンプなどのメタデータが記録されることがあります。これは見落としやすいポイントだと思いますが、tar をコミットするケースは一定存在するので、このことを知っておいた方が良いです。

簡単な確認方法
$ tar -tvf archive.tar.gz # exiftool 非対応なので、tar で確認します

一通りチェックできるツールを作った

以前まではこのあたりをコミットのたびにチェックしていたのですが……さすがに面倒なのと手動だとすり抜けが起きうるので、ようやっと腰を上げてツールにしました。

go install github.com/tamiroh/git-footprint@latest

でインストールできます。

まだアルファ版のような位置付けですが、ざっくり、上記で挙げたようなメタ情報の検出を主軸に動作します。警告があれば CI で落とす、というような使い方も可能です。

git footprint --no-pager --fail-on warn

image.png

加えて、

git footprint --allow-identity 'Alex Rivera <alex@rivera.example>'

というふうにオプションで許容する名前・メールアドレスを指定すると、それ以外のコントリビューターには警告が出るようになります(Co-authored-by などのトレーラーも検出対象です)。

大勢が参加する OSS だと正直ほとんど役立たない気がしますが、ほぼ一人で運営してるブログの Git リポジトリなんかには使えるかな、と思っています。Codex クラウドで本名が漏れてた、というのには気付きやすいですね。

image.png

まとめ

  • Git には無意識のうちに多くの情報が集積していくし、ファイルを消しても履歴に残り続けてしまう
  • 特に author 情報やファイルメタデータには注意が必要で、単に git diff を眺めるだけだとこれら経由での個人情報漏洩は防げない
  • AI コーディングが活発になる中で、人間以外の手によって大量のアウトプットが発生し、意図しない漏洩が起きやすくなってきている
  • ツールで機械的にチェックしよう!
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?