
Security News
Research
Destructive npm Packages Disguised as Utilities Enable Remote System Wipe
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.
simple-eval
Advanced tools
Simple JavaScript expression evaluator.
yarn add simple-eval
or if npm is package manager of your choice
npm install simple-eval --save
import simpleEval from 'simple-eval';
simpleEval('2 + 4 * 10 + -4'); // 38
simpleEval('Math.floor(Math.PI * 10)'); // exception
simpleEval('Math.floor(Math.PI * 10)', { Math }); // 31, works because we provided Math
simpleEval('foo.bar.baz ? 10 : Math.random()', {
Math,
foo: {
bar: {
baz: false,
}
}
}); // some random number, as returned by Math.random()
By default, simple-eval
uses jsep
,
but you're free to use any ESTree compliant parser such as acorn
, @babel/parser
, or esprima
.
Although a number of use cases is supported, do note that this library does not aim to be a drop-in replacement for eval
.
By supporting a limited set of instructions, it's arguably safer than eval
, albeit it's still not supposed to be used instead of proper sandbox.
In particular, all kind of declarations and assignments are prohibited.
FAQs
Simple JavaScript expression evaluator
We found that simple-eval demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.
Research
Security News
Malicious Ruby gems typosquat Fastlane plugins to steal Telegram bot tokens, messages, and files, exploiting demand after Vietnam’s Telegram ban.
Research
Security News
Socket uncovered four malicious npm packages that exfiltrate up to 85% of a victim’s Ethereum or BSC wallet using obfuscated JavaScript.