UNPKG

vm2-fixed

Version:

vm2-fixed is a fork of vm2 with vulnerability fixes. vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. Securely!

36 lines (28 loc) 718 B
'use strict'; const pa = require('path'); const {NodeVM, VMError} = require('../'); if (process.argv[2]) { const path = pa.resolve(process.argv[2]); console.log(`\x1B[90m[vm] creating VM for ${path}\x1B[39m`); const started = Date.now(); try { NodeVM.file(path, { verbose: true, require: { external: true } }); console.log(`\x1B[90m[vm] VM completed in ${Date.now() - started}ms\x1B[39m`); } catch (ex) { if (ex instanceof VMError) { console.error(`\x1B[31m[vm:error] ${ex.message}\x1B[39m`); } else { const {stack} = ex; if (stack) { console.error(`\x1B[31m[vm:error] ${stack}\x1B[39m`); } else { console.error(`\x1B[31m[vm:error] ${ex}\x1B[39m`); } } } }