永井@知能.九工大です.

$SAFE=4 では autoload を一切禁止しているのはなぜでしょうか.

もちろん $SAFE=4 で autoload や autoload? メソッドの呼び出しを
禁止するのは当然なのですが,すでに autoload で登録済のものまで
読み込みを禁止する必要があるのだろうかと思いまして.

登録済ということは,より低いセキュリティレベルで autoload メソッドの
呼び出しが行われたはずですから,その呼び出し時点で問題がなかったのなら
ライブラリの require を行っても問題がなさそうに感じます.

ついでに,patch がなくて申し訳ないのですが,
$SAFE=4 で autoload に失敗したときの例外メッセージが
---------------------------------------------------
Insecure operation `(null)' at level 4 (SecurityError)
---------------------------------------------------
というようになってしまうのは修正すべきかと思います.
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai / ai.kyutech.ac.jp