As far as I can tell, Object.observe(obj) create a notifier in the obj itself which means, after that, if you Object.prototype.whatever = 123; the obj notifier *won't* fire since it's not its own property and I do hope this works with own properties only otherwise not only we can have hijacking attacks but tremendous performance impact ( if a notifier has to automatically create a notifier up to the proto chain until the null prototype ... a non-sense, imho )<br>
<br><div class="gmail_quote">On Fri, Aug 17, 2012 at 11:01 AM, gaz Heyes <span dir="ltr"><<a href="mailto:gazheyes@gmail.com" target="_blank">gazheyes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 17 August 2012 10:57, Andrea Giammarchi <span dir="ltr"><<a href="mailto:andrea.giammarchi@gmail.com" target="_blank">andrea.giammarchi@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
the Notifier is lazily instantiated and I believe not enumerable so JSON.stringify should ever expose this property.<div><br></div><div>Moreover, it does not look like there is a {}.__notifier__ property anywhere, Object.getNotifier(obj) is required indeed so a WeakMap that relates the obj, and its notifier, cannot be serialized in a meaningful way via JSON.stringify neither.</div>

</blockquote></div><div><br>Ah no I wasn't talking about the JSON object but remotely hacking JSON feeds themselves using external scripts and hijacking the Object prototype with Observe. <br></div></div>
</blockquote></div><br>