仕様と根拠

何を見つけるか

リンクの ? から # までをクエリ、# 以降の「名前=値」をフラグメントとして読み、名前が認証情報らしいもの(access_token・id_token・refresh_token・token・api_key・password・secret・session・sid・sig・signature・auth など)を警告にします。名前が一覧になくても、20 文字以上で英字と数字を含み数字が 2 つ以上ある値は「長い乱数様の値」として情報で知らせます。

載せてはいけない理由

MITRE の CWE-598 は、セッション ID・パスワード・アクセストークン・API キーなどをクエリ文字列に含めると、ブラウザの履歴、Referer ヘッダーを通じた外部サイトへの送信、サーバーのログなどに残りうると説明し、対策としてリクエストの本文かヘッダーで送ることを挙げています。

RFC 6750 との関係

OAuth 2.0 のベアラートークンの仕様 RFC 6750 の 2.3 は、access_token をクエリのパラメータで送る方式を SHOULD NOT としており、Authorization ヘッダーや本文で送れない場合に限って使うものとしています。このツールは access_token の警告にその旨を添えます。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
CWE-598: Use of GET Request Method With Sensitive Query Strings(MITRE)2026年10月29日クエリ文字列の機密情報(セッション ID・パスワード・アクセストークン・API キー)は履歴・Referer・ログに残る。対策は本文かヘッダーで送る
RFC 6750 The OAuth 2.0 Bearer Token Usage 2.32026年10月29日access_token をクエリで送る方式は SHOULD NOT(ヘッダーや本文で送れない場合だけ)

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 一覧にない名前や形の値は見つかりません。見つからなくても、安全だと判断しないでください。
  • 本物のトークンを含むリンクを共有してしまった場合は、早めにサービス側で無効化してください。