# instinct: シークレットをMarkdown/Skillファイルに直書きするとgit historyに残り永続漏洩になる
## 根本原因
DBパスワードが `MEMORY.md` と `morning/SKILL.md` に平文で記録されgit commitされた。
ネットワーク面はTailscaleで保護されていたが、git historyにパスワードが残ることは深刻なセキュリティ違反。
## ポイント
- MEMORY.md・SKILL.md等のAI管理ファイルにシークレットを書かない。`<.pgpass経由で取得>` 等のプレースホルダーにする
- Skill内のコマンドは `${PGPASSWORD:-$(grep '^DATABASE_PASSWORD=' ~/.pgpass | cut -d= -f2)}` の形式でenvから取得
- gitleaksを CI に組み込んで secret commit を自動検出する
- 漏洩後はgit historyの書き換えも必要(`git-filter-repo --replace-text`)
- パスワードが変わるたびにdeploy keyではなく `.pgpass` を更新するフローにする
## 関連Issue
- infra#440 / infra PR#456
instinct: シークレットをMarkdown/Skillファイルに直書きするとgit historyに残り永続漏洩になる