普段使うブラウザの拡張機能を、すべて自作した。
以前なら、必要な機能を思いついたら、まず拡張機能のストアで探していた。評価が高く、利用者が多ければ、とりあえず使ってみる。それが普通だったと思う。
けれど、ブラウザ拡張は思っている以上に深い場所へ触れる。
表示しているページ、Cookie、閲覧中のデータ。便利な機能を実現するために、強い権限を必要とすることもある。
第三者が作ったものに何かが仕込まれている可能性を、利用者側から完全に排除することは難しい。作者に悪意がなくても、開発環境が侵害されたり、使っているコードに脆弱性が見つかったりすることも考えられる。
もちろん、自作すれば絶対に安全というわけではない。自分で書いたコードにも、AIが生成したコードにも間違いは入りうる。
それでも、何をしているのかを自分で確認でき、必要な権限だけに絞れる。その違いは大きいと感じた。
便利だけれど、少し怖かったもの
最初に作りたかったのは、Cookieを見る、削除する、編集するための拡張機能だった。
Cookieにはログイン状態に関わる情報が含まれることもある。そのため、サードパーティー製のCookie管理ツールは便利そうだと思いながら、これまで使わずにいた。
これまでは、必要になるたびにブラウザの開発者ツールを開き、そこからCookieを修正していた。使ったことがある人ならわかると思うが、目的のCookieへたどり着いて値を変更するまでには、意外と手数が多い。
一度だけなら、それほど気にならない。けれど、いろいろな条件でテストしていると、同じ操作を何度も繰り返すことになる。そのたびに開発者ツールを行き来するのが、少しずつ負担になっていた。
制作や検証をしていると、Cookieの中身を確認したい場面はある。必要性はずっと感じていたので、自分で作ることにした。
ひとつ作ると、日常の小さな不便も目につくようになった。
- JavaScriptのオン・オフ
- ページの文字コードの切り替え
- サイト全体のスクリーンショット
- キャッシュのクリア
- サーバーのIPアドレスやサーバー名の確認
- サイトごとの独自CSSの適用
文字コードの変更は、UTF-8以外で作られた古いシステムなどを開いたとき、文字化けを直すために使う。ストアにも同じ用途の拡張機能はあるが、利用者が少ないものは、コードを確認したり不具合を検証したりする人も少ないのではないかという不安があった。
サイト全体のスクリーンショットには、別の心配があった。過去に人気の拡張機能を二つほど使っていたが、どちらも後に規約違反などを理由に使えなくなった経験がある。便利な道具を外部へ預けていると、ある日突然なくなることもある。
サーバーのIPアドレスやサーバー名などを、ボタン一つで確認する拡張機能も作った。これはキャッシュクリアの次によく使っている。
依頼されたサイトがどのサーバーで動いているのかを、クリック一つで調べられるからだ。利用しているサーバーがわかれば、その環境の仕様や、問題になりそうな点にも見当をつけやすくなる。
キャッシュクリアや独自CSSの適用も含め、どれも派手な機能ではない。けれど、自分の仕事には確実に役立つ、小さな道具ばかりだ。
AIで「探す」から「作る」へ
以前なら、これだけの拡張機能を一つずつ作るのは、時間に見合わないと考えていたと思う。
今はAIに必要な機能を伝え、コードを確認しながら形にできる。ゼロからすべてを書くより負担が小さく、機能の追加や修正もしやすい。
ストアで理想に近いものを探し、権限や更新履歴を調べ、それでも少し不安を残したまま使う。その時間と手間を考えると、単純なものは最初から作ったほうが早い場面が増えてきた。
AIは、誰かが作った便利なものを選ぶための道具ではなく、自分に必要な道具を自分で持つための道具にもなっている。
自作するという、小さな安心
自作した拡張機能にも、検証と見直しは必要だ。権限を広げすぎていないか、意図しない通信をしていないか、更新したコードに問題がないか。作った本人だからこそ、そこは雑にしたくない。
安全を保証してくれる魔法の方法ではない。
ただ、わからないまま誰かに預ける部分を減らし、自分の目が届く範囲を増やすことはできる。
AIによって、小さなソフトウェアを作るコストは大きく下がった。これからは、無料で配られているものを探すだけでなく、作れるものは自分で作る、という選択がもっと身近になっていく気がする。
便利さを手に入れるために、何を許可しているのか。
その答えを自分で確かめられることが、今回いちばん欲しかった機能なのかもしれない。
この記事は人間による下書きからAIのサポートを経て、最後に人間がチェックして投稿しております。
