はじめに アプリケーション開発において、デバッグやモニタリングのためにログを出力することは一般的です。しかし、うっかりパスワードやAPIキーなどの機密情報をログに含めてしまうと、重大なセキュリティインシデントにつながる可能性があります。 本記事では、Go で書かれたコードを静的解析し、機密情報がログに出力されていないかチェックするツール leakhound を紹介します。 leakhound とは leakhoundは、Go の静的解析を利用して、sensitive:"true" タグが付けられた構造体フィールドが log/slog で誤ってログ出力されていないかを検出するツールです。 名前の由来は、リークを嗅ぎつける猟犬(bloodhound)のように、コード内の潜在的なデータ漏洩リスクを追跡することから来ています。 主な特徴 静的解析によるゼロランタイムコスト: 実行時のパフォーマンス