at posts/single.html

安全なプログラムって?

連休で出かけているうちに旬は過ぎたかもしれないけど、先日の日記の続き。 話の発端となったアソシエイトIDの書き換えは、作者のミスだったらしいし、ここでは Greasemonkey の危険性に話を絞るよ。

キミガタメ「ハ」から TrackBack を送られたけど、少し誤解されて伝わっちゃってるかも。以下、 TrackBack 元から引用。

さくっとまとめると、「Greasemonkey はいろいろできて危ない。だから、使う前にはソース読め」でしょう。正論なんだけどさ、ただの正論です。

確かにこれだけじゃただの正論だよね。 最初に「Greasemonkey はソースを読める人しか使うべきではないというのは同意」と書いたのがいけなかったのかも。 本当に言いたかったのは、その後の部分。

個人的には、使う前にソースを読まなきゃいけないような Greasemonkey は使えないと思っているし、使っていない。そもそも、ソースを読めるからといって、そのプログラムの安全性を評価できる訳じゃないしね。

FireFox の拡張機能や ActiveX などが署名を使ってプログラムの安全性を担保しようとしているのに対して、 Greasemonkey にはそういう仕組みが無いことが問題かと。

原理的には Greasemonkey に限らず、どんなプログラムにも悪意のあるコードが入っている可能性がある。 だから、インターネット上の情報を無条件で信用しない方がいいのと同じように、インターネット上のプログラムも無条件で信用しない方がいい。 といっても、心配するばかりじゃ何もできないから、どうやって信用できるものを見つけるかが大切かと。 HsbtDiaryで、『この問題は信頼性の担保を何処におくかという話でぶつかっているんじゃ?』と書かれている通りかな。

FireFox の拡張機能は、本家サイトに情報を集約することとデジタル署名を付与することで信頼性を担保しようとしている*1。 こういった信頼性を担保する仕組みが、 Greasemonkey にはちゃんと整っていないのが危険かな…と。 Greasemonkey まとめサイトみたいなところで、コミュニティに認められたスクリプトだけを登録するような仕組みがあるといいよね(既にあるのなら教えてください)。

少なくとも、 Greasemonkey を使う側の自衛策は、「信頼できる人が作っている」もしくは「信頼できる人がチェックしている」かどうかを事前にチェックすることかと。 単純にはてなブックマークの数で判断するのは、ちと確実じゃないかも。

関連リンク

FireFox 本体側の信頼性については、Mozilla Party JP 7.0で話題になったみたい。 全般的に興味深い内容だけど、特に興味を引いたのは以下の引用部分。

安全性の追求と、自由さ・間口の広さというのは、トレードオフにならざるを得ないのではないか。安全性の低い、しかし間口の広い状況であったがゆえに、現在のように多数のユニークな拡張機能が登場したことは事実だろう。皮肉な事だ。

確かに、最初から安全性を追求しすぎても上手くいかなかったりするんだよね…。

関連する日記