<p dir="auto">There should be a mode of Deno that is maximum sandbox -<br>
-No file system access at all (including modules, etc) except for the initial deno command. Put the onus on the developer to package all js/ts in a single file.<br>
-No network at all, except for the ability to respond to http requests from localhost on a single port. no call-out of any kind.<br>
-No console access at all.<br>
-Any error should just successfully exit the process, no error reporting into the OS?<br>
-No command execution at all (except for the initial Deno)<br>
-No nothing of anything else. Just CPU, Memory, the ability to read a single file on startup, and the ability to respond to a single http response to another process on localhost.<br>
-Would be nice to limit the request/response size of the http request</p>
<p dir="auto">The OS/public facing process will handle<br>
-if the process runs too long<br>
-if Deno attempts to use too much ram or cpu time or use multiple cores</p>
<p dir="auto">This consists of</p>
<ol dir="auto">
<li>Setting the random number generator seed. We have this already.</li>
<li>Disabling all I/O - so turn off allow-read, allow-write, allow-net, allow-run, allow-plugin - etc.</li>
<li>Controlling the Date object</li>
<li>need a custom v8::Platform which will allow us to control the date precisely. Then we can add some APIs to allow people to change it. (Probably from the command line would be ideal?)<br>
<a href="https://github.com/v8/v8/blob/cc1b741ef34b56d1b29cb24cb391ef38a1172ce8/include/v8-platform.h#L532-L545">https://github.com/v8/v8/blob/cc1b741ef34b56d1b29cb24cb391ef38a1172ce8/include/v8-platform.h#L532-L545</a> So the fix is really in rusty_v8 - we need to expose those primatives</li>
</ol>