From: matz@... (Yukihiro Matsumoto) Date: 2003-10-09T13:23:05+09:00 Subject: [ruby-dev:21566] Re: IO#puts with tainted string まつもと ゆきひろです In message "[ruby-dev:21564] IO#puts with tainted string" on 03/10/09, Tanaka Akira writes: |マニュアルのセキュリティモデルの項には、 | |レベル 1 で禁止される操作として、 | | ・ 汚染された文字列を引数とした以下の操作 | □ Dir, IO, File、FileTestのクラスメソッド、メソッド | |というものがあげられていますが、 | |% ruby -e '$SAFE = 1; STDOUT.puts "xxx".taint' |xxx | |というように、レベル 1 で、汚染された文字列を、IO のメソッドである所の |puts の引数に渡しても動作するようです。これは意図的でしょうか? 意図的です。説明が悪かったですね(これを書いたのは私です)。 禁止したかったのは、ファイル実体に関する情報の取り出しであっ て、出力ではありません。なんと表現すべきだったかな。