秘密情報・個人情報スキャナー

テキストを貼り付けるかファイルを読み込み、漏えいの可能性を確認します。一致はあくまで手がかりで、認証情報が有効かどうかまでは判定しません。

ブラウザ内でローカルに実行
解析はすべてこのブラウザ内で実行されます。アップロードや API への送信はありません。
スキャンするソース

パターンマッチは漏えいの可能性を見つける手がかりです。値が有効・稼働中・危険であることまでは証明できません。

検出結果の概要
  • まだスキャンは実行されていません。

コミットやチケットに届く前に、露出した値を見つける

貼り付けた抜粋から認証情報や個人データの可能性をこのローカルスキャナーで洗い出します。レポート内の根拠はマスキングされます。テストにはマスキング済みデータを使ってください。

抜粋をスキャンする手順

テキストを貼り付けるかファイルを選び、「ローカルでスキャン」を押します。一致した箇所は行番号とマスキング済みの抜粋つきで並び、上部の 4 つのカウンタが結果を要約します。アップロードは行いません。処理はこのブラウザ内で完結します。

ルールは秘密鍵のヘッダー、AWS・GitHub・GitLab・Slack・npm・SendGrid・Google・OpenAI・Stripe・Azure の認証情報、JWT、Bearer トークン、パスワード付きデータベース URL、PASSWORD=… や {"api_key": "…"} のような代入、メールアドレス、IPv4 アドレス、TODO・FIXME のメモを対象にします。

  1. コード、.env の内容、設定、ログを欄に貼り付けるか、ローカルファイル(.env / .txt / .log / .json / .yaml / .yml / .js / .ts / .php / .py / .java)を選びます。
  2. 「ローカルでスキャン」を押します。「サンプルを読み込む」は用意された抜粋を入れてその場でスキャンします。
  3. 4 つのカウンタ(潜在的なシークレット/個人データ/確認項目/対応項目)を確認します。
  4. 一覧をたどります。各行には重要度・行番号・一致の種類と、値そのものではなく sk_l••••ced のような抜粋が表示されます。
  5. 「レポートをコピー」でチケットに貼り付け、次のスキャンの前に「クリア」で空にします。

検出できるもの、できないもの

検出できるもの、できないもの

よく漏えいする形を探します。-----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 件で打ち切ります。

最近使ったツール: