Это действительно не очень хорошая идея делать это с прототипом нативного объекта, это имеет некоторые сильные последствия для производительности, как описано здесь
Теперь, когда вы были предупреждены, есличтобы продолжить, просто используйте:
Object.defineProperty(Array.prototype, "push", {writable: false});
Лучшее решение без затрат на производительность - установить для параметра writeable значение false специально для объектов массива, которые вы хотите «защитить».