rehanift/engine.js — comment on commit e8d3bbf90fbbdb65b68e2aea509ffef46deab6db
File:  line 0
By bmeck:

This is a viable fix as the Function prototype as long as calling using Function.prototype.constructor is not used by any code that requires this module, instead of having a global side effect, it is much safer to not allow direct access to functions (as this may expose problematic implementation details from code translators or things that attempt to implement some form of inheritance via the .constructor property, both unlikely but they do exist). Also, Function and eval are still also available via the global which can be gotten at. So... people may end up passing a function that explicitly references these 2 functions and you will have the same problem.