code: def is_safe_attribute(self, obj, attr, value):
          
          return not (attr.startswith('_') or is_internal_attribute(obj, attr))
docs: The sandboxed environment will call this method to check if the
          attribute of an object is safe to access.  Per default all attributes
          starting with an underscore are considered private as well as the
          special attributes of internal python objects as returned by the
          :func:`is_internal_attribute` function.