What you suggested seems good to me.
builtin = dir(__builtins__)
def is_builtin(tested_object):
return tested_object.__class__.__name__ in builtin
Bear in mind, however, that built-in types can be overshadowed.
Update after comment from Rob:
def is_builtin(tested_object):
return tested_object.__class__.__module__ == '__builtin__'