ブログで個人情報を漏らさない方法
Categories:
無料のオープンソースプラットフォームである GitHub Pages は人気があり、多くのブログが GitHub Pages を使用して公開しています。
しかし、無料版では公開リポジトリでのみ公開アクセスが許可されています。リポジトリが公開されると、草稿としてマークされた記事もGitリポジトリからアクセスできてしまいます。
公開されている記事にはあまり機密情報が含まれていませんが、オープンソースブログのソースリポジトリは個人情報を漏らす可能性があります。以下はよくある情報漏洩のキーワードで、コメントで追加していただけると嬉しいです。
感度のあるキーワード
| 中文キーワード | 英文キーワード |
|---|---|
| パスワード | password |
| アカウント | account |
| 身分証 | id |
| 銀行カード | card |
| アリペイ | alipay |
| 電話番号 | phone |
| 住所 | address |
| 勤務先 | company |
| 社会保険カード | card |
| 運転免許証 | driver |
| パスポート | passport |
| クレジットカード | credit |
| キー | key |
| 設定ファイル | ini |
| 資格情報 | credential |
| ユーザー名 | username |
正規表現検索:
(パスワード|アカウント|身分証|銀行カード|アリペイ|WeChat|電話番号|住所|勤務先|社会保険カード|運転免許証|パスポート|クレジットカード|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company)
VSCode をブログエディタとして使用している場合、正規表現検索を使用して全サイト検索を行い、情報漏洩の可能性がある場所を素早く確認できます。

Gitの履歴
Gitの履歴には情報漏洩の可能性があり、シンプルなスクリプトでオープンソースブログの履歴コミット情報をスキャンできます。
自分のリポジトリの場合は、以下の方法で履歴をクリアできます。履歴情報を残す必要がある場合は、クリアしないでください。
以下のコマンドの意味を理解していることを必ず確認してください。履歴を消去するので、慎重に操作し、操作前に重要なデータをバックアップしてください。
git reset --soft ${first-commit}
git push --force
その他のリポジトリスキャン方法
https://github.com/trufflesecurity/trufflehog
- 漏洩した認証情報の検出、検証、分析
17.2kstars1.7kforks
他のブログ公開方法
- Github Pro ではプライベートリポジトリを Pages に公開できる、Pro は月4ドル
- プライベートリポジトリに設定し、Cloudflare Pages に公開
- リポジトリを分ける、プライベートリポジトリには編集中の記事を保存し、公開リポジトリには公開可能な記事を保存
ブログが github に依存する giscus のようなコメントシステムを使用している場合、公開リポジトリは依然として必要です。
良い習慣 vs 良い仕組み
オープンソースブログでの個人情報漏洩の問題について議論する際、多くの人が敏感な情報をリポジトリにアップロードしないように注意すれば問題ないと考えます。
これは役に立たない無駄な言葉で、プログラマーにバグを書かないように要求するのと同じくらい正しくても無意味です。習慣に頼って個人情報を保護するのは信頼できないです。簡単に他人の習慣を信じないでください、彼はいつ忘れるかわかりません。

執筆中には一時的な文が含まれることがあり、特にプログラマの技術ブログでは、短いスクリプトがすぐに書かれることがあり、必ずしも環境変数を使用することを忘れないとは限りません。そのため、敏感な情報が残る可能性は必ずあります。
良い習慣が何かを理解している人が多いと思いますので、ここでは良い習慣については議論しません。主に仕組みで個人情報漏洩を防ぐ方法を共有します。
まずリポジトリを分けることです。原稿リポジトリと公開リポジトリを分けることで、Github Pages に公開されたすべての記事が審査済みで、draft 状態の記事が漏れることはありません。
また Github Action を使用して、コミットごとに敏感な情報をスキャンし、敏感な情報がある場合はコミットを許可しないようにすることもできます。詳細は trufflehog を参照してください。
この記事で共有した正規表現検索は、シンプルな例示であり、何らかのプロセスに統合されていません。自分のニーズに合わせてさらにカスタマイズし、プロセスに統合することもできます。