Webサイトを閲覧していると、
- 意図しない外部ドメインへの POST
- フォーム送信時の不審な挙動
- JavaScript による裏での情報送信
といった挙動が気になることがあります。
「完全に防ぎたい」というよりも、
万が一の時に止められる“最後の保険”が欲しい という用途向けに、
送信直前にチェックを挟んで怪しければ送信をキャンセルする Chrome 拡張を作成しました。
できること
この拡張は、ページ内で行われる以下の送信処理を対象にします。
- フォーム送信(submit)
- fetch
- XMLHttpRequest
- sendBeacon(一部制限あり)
送信直前に簡易的なヒューリスティックチェックを行い、
「怪しい」と判断した場合は 送信自体をキャンセル します。
主な考え方は次の通りです。
- クロスオリジンへの書き込み系リクエストを疑う
- password / token / auth などのキーを含む送信を警戒
- 異常にサイズの大きい送信を警戒
- 明示的に許可したホストはホワイトリストとして通す
GitHub リポジトリ
Qiita には コードは載せません。
以下の GitHub リポジトリをご参照ください。
manifest v3 対応の Chrome 拡張で、
content script で送信をフックする構成になっています。
重要な注意点(必ず読んでください)
① ChatGPT で作成したコードをほぼそのまま公開しています
この拡張のコードは ChatGPT で生成した内容をほぼそのまま使用しています。
申し訳ありませんが、
作者自身が十分な動作検証を行っているとは言えません。
正直なところ、
「動作チェックが怖いのでそのまま載せています」という状態です。
② 絶対に安全な拡張ではありません
この拡張は、
- 万能なセキュリティ対策
- 不正通信を完全に防ぐ仕組み
- 悪意あるコードを完全検知するツール
ではありません。
信頼度は低めであり、
あくまで「何も無いよりはマシ」「最後の保険」程度の位置づけです。
③ 使用前に必ずコードを確認してください
この拡張は 送信処理を横取りする性質上、非常に強い権限を持ちます。
そのため、
- 情報の抜き取りが含まれていないか
- 外部通信が意図せず行われていないか
- 自分の用途に対して問題がないか
を、必ず ChatGPT などでコードレビューさせた上で使用してください。
「ChatGPT が作った → ChatGPT に確認させる」
くらいの慎重さでちょうど良いと思います。
想定している使い方
- 怪しいサイトを閲覧することがある
- フォーム送信や外部 POST が不安
- 本番のセキュリティ対策までは不要
- 自己責任で拡張をいじれる
という方向けです。
まとめ
- サイト上の送信処理を“送信直前”で止める Chrome 拡張
- 完全防御ではなく、あくまで最後の保険
- ChatGPT 生成コードをそのまま公開
- 使用前に必ず中身を確認することを強く推奨
「こういう拡張があったら便利かも」という実験的な位置づけで、
参考程度に見ていただければ幸いです。