незадумывался никогда.
но если сначало отрабатывает код расширений,
то думаю скрипт мог бы проверить интерисубщие его обьекты на безопасность.
Думаю отличить нативную функция от скиптовой труда не составит.
alert(alert);
alert( function(){alert(100) });
var x=function(){alert(100)};
alert(x.toString().length);
if ( test(x,23) ) alert ('функцию подменили');
else alert('функция в порядке');
var x=function(){alert(100500)};
if ( test(x,23) ) alert ('функцию подменили');
else alert('функция в порядке');
function test(f,c){
return f.toString().length!=c;
}