Ged wrote:

>Is there a safety level ( http://www.rubycentral.com/book/taint.html )
>that can prevent this methods from being used?
>  
>

As far as I can tell, no.

You could just undefine those methods. You can do that on a per-object 
basis:

o = Object.new

class << o
    undef :instance_eval
    undef :instance_variable_set
    undef :instance_variable_get
    # etc
end

o.instance_eval { @a = 1 }  #=> error