PyPy docsによると、「ビルトイン名は常にビルトインモジュールを参照しており、CPython のように辞書を参照することはありません。ビルトインへの割り当ては効果がありません。」たとえば、CPython では次のようになります。
>>> eval("__import__('os').system('clear')", {'__builtins__':{}})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name '__import__' is not defined
PyPy では、エラーなしで実行されます。利用可能なビルトインを制限する別の方法はありますか?