IT用語集 › セキュリティ › コード内のシークレット

コード内のシークレット

セキュリティ Svenska → 更新: 2026-10-23

APIキー、パスワード、トークン、秘密鍵といった機密データがソースコードやバージョン履歴にコミットされてしまうこと。ありふれていて深刻な問題で、いったんgit履歴に入ると、後のコミットで「消して」も永遠に残る。

典型例は、開発者が「一時的に」キーをコードに直書きして忘れる、あるいはシークレットを含む設定ファイルを誤ってコミットするケースだ。リポジトリが共有されたり公開されたり流出したりすれば、秘密も露出する。最悪なのは、git rmしても履歴からは消えず、過去のコミットから掘り出せる点だ。ボットはGitHubをリアルタイムで走査し、数分以内にキーを悪用する。対策は、CIやpre-commitフックでのシークレットスキャン(gitleaks、trufflehog、GitHub標準のスキャナ)によるコミット前の検出、漏れたシークレットの即時ローテーション(侵害されたものとみなす)、コードではなくシークレット管理サービスの利用、そして漏洩時の履歴の掃除(BFG、git filter-repo)である。シークレットが侵害される最も一般的な経路の一つだ。

← 用語集に戻る