テキストを貼り付けるかファイルを読み込み、漏えいの可能性を確認します。一致はあくまで手がかりで、認証情報が有効かどうかまでは判定しません。
ブラウザ内でローカルに実行パターンマッチは漏えいの可能性を見つける手がかりです。値が有効・稼働中・危険であることまでは証明できません。
貼り付けた抜粋から認証情報や個人データの可能性をこのローカルスキャナーで洗い出します。レポート内の根拠はマスキングされます。テストにはマスキング済みデータを使ってください。
テキストを貼り付けるかファイルを選び、「ローカルでスキャン」を押します。一致した箇所は行番号とマスキング済みの抜粋つきで並び、上部の 4 つのカウンタが結果を要約します。アップロードは行いません。処理はこのブラウザ内で完結します。
ルールは秘密鍵のヘッダー、AWS・GitHub・GitLab・Slack・npm・SendGrid・Google・OpenAI・Stripe・Azure の認証情報、JWT、Bearer トークン、パスワード付きデータベース URL、PASSWORD=… や {"api_key": "…"} のような代入、メールアドレス、IPv4 アドレス、TODO・FIXME のメモを対象にします。
よく漏えいする形を探します。-----BEGIN … PRIVATE KEY----- のヘッダー(RSA・EC・OpenSSH・PGP)、AWS アクセスキー ID、GitHub・GitLab・Slack・npm・SendGrid のトークン、Google API キー、Stripe の live シークレットキー、Azure ストレージアカウントキー、JWT、Bearer トークン、パスワードを含むデータベース URL、名前に TOKEN・SECRET・PASSWORD・API_KEY を含む KEY=VALUE 行({"password": "…"} のような引用符つきキー、.env 行、セミコロン区切りの接続文字列を含む)が対象です。
これはパターンマッチであり、検証ではありません。一致しても認証情報が有効であることや、ファイルが安全であることは証明できません。失効済みの鍵かもしれず、base64 で符号化された値、複数行に分割された値、実行時に組み立てられる値は検出できません。レポートは確認すべき項目の一覧として扱い、リポジトリ全体の検査は CI のスキャナに任せてください。
値を置き換えるだけの文字列は対象外です。your-key、example-token、${API_KEY}、<your-key>、changeme、••••、xxxx などが該当します。バージョンの一部である 4 つの数字の並び(version = "1.2.3.4"、awscli==1.2.3.4)もアドレスとしては報告しません。
個人データとして数えるのは公開 IPv4 アドレスだけです。プライベート・予約・ドキュメント用の範囲(10/8、172.16/12、192.168/16、169.254/16、127/8、192.0.2/24、198.51.100/24、203.0.113/24)は一覧に残りますが、注記として扱います。ログ内の LAN アドレスが探している漏えいであることは少ないためです。
根拠は先頭 4 文字と末尾 3 文字だけに短縮します(sk_l••••ced)。レポートをチケットに貼り付けても秘密の値がそのまま残らないようにするためです。値そのものはタブの外に出ず、保存もしません。
各検出は元の行番号を保ちます。同じ行の同一の一致はまとめ、同じ値が 2 行にあれば 2 件として報告します。巨大なログでページが固まらないよう、一覧は 250 件で打ち切ります。