jsセキュリティ メモ

Components.utils.evalInSandbox - MDC

この記事よかった。PHPregister_globals(だったっけ)みたいな勝手に変数設定されてて思ったのと違う動作をする、っていう視点のセキュリティ考えてなかった。三原則(だったっけ)のintegrity. js(spidermonkey?)も === があるんだー。他の読んでから試してみる。

読んでるけどさっぱりわかんない。


principalが一致するかのチェックが入るので安全なんだけど、その実装に問題があったときにも安全であること、という意味だったら安全じゃない。__parent__経由でchromeのグローバルに変数を作れる。principalのチェックを考慮に入れたら安全。なきがするけんだけどな...


そうだそうだ、そもそもprincipalのレベルでセキュアになることで問題がないとするんだったらXPCNativeWrapperだって必要ないんだ。chrome/contentでセキュリティ、といったらprincipalより上のレイヤでセキュリティを確保できるか、と考えるのが正しいのだろう。

やっぱり自信ない。

wrapperとprincipalの関係をどう捉えたらいいのかがわかんない。

chromeのグローバルに変数が作れるっていうのは Bug 355590 – __parent__ should not expose lexical scope or activation objects でやる感じがするけど、このbugがfixされるよりもまえに書かれた記事なのでこれのことなのかなー。

でもそのあとの(String|Function|Object).prototypeがあれば好き放題できるっていうのもわからないです...