【元記事】
3行まとめ
- マネーフォワードのGitHub認証情報が漏えいし、ソースコードと個人情報が流出した事件の技術分析
- ソースコード内に本番カードデータ370件と各種認証キーが含まれていた設計・運用上の問題が核心
- シークレットスキャナ導入やシークレット管理サービス移行など、エンジニアが今すぐ実施すべき対策を提言
要約
背景・課題
- GitHub認証情報の漏えい自体は防ぎきれないが、ソースコードに本番データと認証キーを含めていると被害が拡大する
- 流出したリポジトリには本番カード保持者名・カード番号下4桁が370件、各種認証キー・パスワードが含まれていた
- Git履歴に過去のコミットとして残っている場合、最新コードがクリーンでもリスクが残る
アプローチ
- シークレットスキャナ(gitleaks、TruffleHog)をCIとpre-commitに組み込み、過去履歴も含めてスキャンする
- GitHubのシークレットスキャンとプッシュプロテクションを有効化し、サーバ側で検知する
- AWS Secrets Manager等のシークレット管理サービスへの全面移行と、本番データのテスト環境持ち込みを禁止する仕組み化
成果・ポイント
- マネーフォワードの初動対応(認証情報無効化、キー再発行、銀行連携停止)は妥当と評価できる
- 「漏れた瞬間にソースコード以外なにも持っていかれない」状態を作るのがエンジニアの責任
- 歴史の長いサービスほど過去履歴に何が眠っているか不明なため、今週中にgitleaksで確認すべき