Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Secure & isolated JS environments for nodejs
翻訳待ち
開発ツールC++ · JavaScriptGitHub @laverdet自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗isolated-vm is a library for nodejs which gives you access to v8's Isolate interface. This
allows you to create JavaScript environments which are completely isolated from each other. This
can be a powerful tool to run code in a fresh JavaScript environment completely free of extraneous
capabilities provided by the nodejs runtime.
The version of isolated-vm you should be using depends on your version of nodejs.
| nodejs version | isolated-vm version |
|---|---|
| 22.x | 5.x or 4.x |
| 24.x | 6.x or 5.x |
| 26.x | 7.x |
You may ask "what about odd-numbered versions of nodejs" and the answer is that we can't support it at this time.
isolated-vm is currently in maintenance mode. It will continue to be supported for as long as is
technically feasible. In the
experimental branch I have been working
on a new version for quite some time. It is worth taking a look if you are interested in this
project, but it is certainly not ready for serious applications.
Please sponsor this project if you feel like it.
This project requires nodejs version 16.x (or later).
🚨 If you are using a version of nodejs 20.x or later, you must pass --no-node-snapshot to node.
Furthermore, to install this module you will need a compiler installed. If you run into errors while
running npm install isolated-vm it is likely you don't have a compiler set up, or your compiler is
too old.
sudo apt-get install python g++ build-essentialsudo apk add python3 make g++sudo yum install gcc72 gcc72-c++sudo pacman -S make gcc pythonsudo dnf install python3 make gcc gcc-c++ zlib-devel brotli-devel openssl-devel libuv-devel c-ares-develScreeps - Screeps is an online JavaScript-based MMO+RPG game. They are using isolated-vm to run arbitrary player-supplied code in secure environments which can persistent for several days at a time.
Fly - Fly is a programmable CDN which hosts dynamic endpoints as opposed to just static resources. They are using isolated-vm to run globally distributed applications, where each application may have wildly different traffic patterns.
Algolia - Algolia is a Search as a Service provider. They use
isolated-vm to power their Custom Crawler product,
which allows them to safely execute user-provided code for content extraction.
Tripadvisor - Tripadvisor is the world’s largest travel platform.
They use isolated-vm to server-side render thousands of React pages per second.
Running untrusted code is an extraordinarily difficult problem which must be approached with great
care. Use of isolated-vm to run untrusted code does not automatically make your application safe.
Through carelessness or misuse of the library it can be possible to leak sensitive data or grant
undesired privileges to an isolate.
At a minimum you should take care not to leak any instances of isolated-vm objects (Reference,
ExternalCopy, etc) to untrusted code. It is usually trivial for an attacker to use these instances
as a springboard back into the nodejs isolate which will yield complete control over a process.
Additionally, it is wise to keep nodejs up to date through point releases which affect v8. You can find these on the nodejs changelog by looking for entries such as "update V8 to 9.1.269.36 (Michaël Zasso) #38273". Historically there have usually been 3-5 of these updates within a single nodejs LTS release cycle. It is not recommended to use odd-numbered nodejs releases since these frequently break ABI and API compatibility and isolated-vm doesn't aim to be compatible with bleeding edge v8.
This is the beginning of the README. Read the rest at the original. Read the full README ↗