class ExploitableBackDoor def exploited? @exploited_through_setter || @exploited_through_init_with || @exploited_through_ivars end def exploited_through_setter? @exploited_through_setter end def exploited_through_init_with? @exploited_through_init_with end def exploited_through_ivars? self.instance_variables.any? end def init_with(command) # Note: this is how bad this COULD be. # system("#{command}") @exploited_through_init_with = true end def []=(command, arguments) # Note: this is how bad this COULD be. # system("#{command} #{arguments}") @exploited_through_setter = true end end