危険コードのための参考実装例

パソコンを使用する際に、ファイルを開くということは頻繁に行われます。
Windowsでファイルを開く際には、ファイルの拡張子ともとに、OSにあらかじめ設定されたデフォルトのアプリケーションを使用するように動作します。
Windows10では、OSの設定機能の中のデフォルトアプリケーション設定機能を使うことで、利用者は簡単にこのデフォルトのアプリケーションの設定状態を確認したり変更したりすることができます。

Windows11のリリースが予定されていますが、この新しいOSではこの部分に変更がありました。
Windows10ど同様に、この設定を変更するためには、OSの設定機能の中のデフォルトアプリケーション設定機能を使用する必要があります。
しかし、それだけでは実施したいことは完了しません。
標準のWebブラウザを変更しただけでは、各拡張子(.html、.htm)や各プロトコル(HTTPやHTTPS)のアプリケーションへの関連付けが変更されません。
このため、Web関連の閲覧を従来のように標準のアプリケーションで実施しようとする場合、Windows11を使う場合は、標準のアプリケーションの変更だけでなく、各拡張子の関連付け設定と各プロトコルの関連付け設定をすべて利用者が個別に設定変更する必要があります。

これは、標準のアプリケーションを変更しない人にとってはなんということもないことです。
でも、ひとたび標準のアプリケーションを変更しようとするととても煩雑な作業が必要だということになります。

人気のあるWebブラウザの1つに、Firefoxがあります。
このFirefoxの新しいバージョンは、このWindows11の使いにくい標準のアプリケーション変更を、ワンクリックで実施してくれる機能を実装しました。
設定を変更しようとする利用者は、いちいち面倒な変更を自分自身で実施する必要がありません。
Firefoxを標準のアプリケーションにしようという人の利便性は非常に上がったといえるでしょう。

でも、ちょっと待ってください。
Firefoxはオープンソースのアプリケーションです。
この便利な自動設定変更機能の実装がどのように行われているかはすべて内容を知ることができます。
これって、見る人によっては、PoCのコード(Proof of Concept:概念実証)になっているといえるのではないでしょうか。
見つけやすいところにある標準のアプリケーションの設定部分は変更せず、各拡張子や各プロトコルの設定部分だけ変更する、というコードを書く際に、そのまま参考にできる内容になっているはずです。
多くの人にとっては便利機能なのですが、一部の人にとっては危険コードのための参考実装例になっているといえそうです。

仕様が変わる、ということはよくあることです。
これにどのように対処していくのか、ということもたびたび必要になる取り組みです。
仕様を変更する側も、仕様の変更に対応する側も、落ち着いて進めていくことが必要かもしれません。

参考記事(外部リンク):Firefox now bypasses Windows 11’s messy default browser
settings

www.bleepingcomputer.com/news/microsoft/firefox-now-bypasses-windows-11s-messy-default-browser-settings/