Open viebel opened 6 years ago
Thanks for reaching out! We’d be happy to help you integrate klipse and Stopify.
To answer your questions:
The default settings for the Stopify compiler and runtime make sure that the code does not freeze the web page.
When compiling with Stopify, you get access to an interface called AsyncRun (documentation details below) that allows you to implement stopping, pausing, breakpointing etc.
Just to clarify, does klipse already have some way to mitigate this?
While Stopify has quite a few options, to tweak, default options work fine most of the time. The best way to get started would be to take a look at the docs here: https://stopify.readthedocs.io/en/latest/ and particularly going through the examples here: https://stopify.readthedocs.io/en/latest/illustrative_examples.html AsyncRun documentation here: https://stopify.readthedocs.io/en/latest/runtime.html
Just for reference, the code for stopify.org lives here: https://github.com/plasma-umass/stopify.org
Once you have a sense of the interface, please feel free to update the comment thread and I’d be happy to work more directly with you in integrating klipse and Stopify.
Also, if you have any questions, ping us here and we’ll be able to answer you.
cc @baxtersa @arjunguha
Hi @viebel, thanks for your interest in Stopify. About malicious code, Stopify has a runtime setting that controls the set of "external" symbols:
https://stopify.readthedocs.io/en/latest/compiler.html#external-symbols-externals
If you don't put things like window
and document
in the list of externals, you will go a long way toward thwarting malicious code. I won't say that Stopify guarantees isolation---it wasn't designed to do that, but it is something that could be built up.
Started work here: https://github.com/viebel/klipse/pull/314
As you guys suggested here, I'd be happy to integrate Stopify with Klipse.
Your help would me much appreciated.