0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サイト上の「怪しい送信」を最後の保険としてブロックする Chrome 拡張を作ってみた

Posted at

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 生成コードをそのまま公開
  • 使用前に必ず中身を確認することを強く推奨

「こういう拡張があったら便利かも」という実験的な位置づけで、
参考程度に見ていただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?