You can be sure because every native object inherits from Object.prototype (except for the Global object, whose [[Prototpye]] is implementation dependant, but it is an instance of Object in most browsers).
Edit
Some clarifications.
Native objects are those constructed using ECMAScript, e.g.
function foo() {}
var obj = {};
var arr = [];
and so on. They all have Object.prototype on their [[Prototype]] chain, which makes them instances of Object (and whatever other constructor's prototype is on the chain). An ECMAScript object can inherit from more than one prototype and hence be an instance of more than one object:
function Foo(){}
Foo instanceof Function; // true
Foo instanceof Object; // true
var foo = new Foo();
foo instanceof Foo; //true
foo instanceof Object; //true
Built–in objects are those supplied by ECMAScript, e.g.
Global instanceof Object; // might be true
Array instanceof Object; // true
Math instanceof Object; // true
Object instanceof Object; // true - Object is an Object :-)
Date instanceof Object; // true
Function instanceof Object; // true
and so on. Most of the above are also instances of Function (including Function).
Host objects are those supplied by the host environment, such as everything in the DOM, e.g.
document
document.createElement
window
var element = document.createElement('img');
var nodeList = element.getElementsByTagName();
and so on. These object only have to follow the most basic rules of ECMAScript, they don't need to have any inheritance model and may even throw errors when simply tested with instanceof or typeof operators (which is a nasty behaviour but some versions of some browsers do - many IE host objects implemented as ActiveX controls do, hence their creation within try..catch blocks).
Read the section on "Native ECMAScript Objects" (ES 3) and "Standard Built-in ECMAScript Objects" (ES 5) objects in the specification (ECMA–262), it's all there.