Пытаюсь создать в браузере песочницу
Чтобы в пределах этой песочницы можно было выполнить сторонний(недоверенный) скрипт, выдать ему минимально необходимые для работы объекты/методы, и при этом он не смог никак бы влиять на работу основного скрипта, и своих соседей, либо сделать что-то на что ему основной скрипт не дал явного права.
В частности, скрипт в песочнице не должен ни при каких условиях получить доступ к глобальному объекту window, либо к иному объекту, окромя специально переданных.
Пока получилась такая версия:
http://jsfiddle.net/EyZD6/7/
Скрипт для песочницы - в script#sandbox
Посмотрите, как можно выбраться из такой песочницы, и как ее можно улучшить, чтобы предотвратить способы выбраться.
PS Из-за вмешательства в Function.prototype для механизма песочницы нужно выделить отдельный фрейм, в котором можно запускать неограниченное число недоверенных скриптов.