Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
exec-limiter
Advanced tools
Limit the shell execution commands to calls same time.
# Using npm
npm install --save exec-limiter
# Using yarn
yarn add exec-limiter
:bulb: ProTip: You can install the cli version of this module by running npm install --global exec-limiter-cli
(or yarn global add exec-limiter-cli
).
// Dependencies
var ExecLimiter = require("exec-limiter");
// Constants
const COMMAND = "sleep 5; date;";
// Create an instance of exec limiter
var el = new ExecLimiter(2);
// #1
el.add("sleep 5", function (err) {
console.log(err || "Waited 5 seconds for the first time.");
});
// #2
el.add("sleep", ["7"], function (err) {
console.log(err || "Waited another 7 seconds but probably I was ran in parallel with the other process.");
});
// #3
el.add("sleep 5", function (err) {
console.log(err || "I was ran in parallel with the second process and finished fine.");
});
// #4
el.add("ls", ["-l"], { ignoreStdout: false }, function (err, stdout) {
console.log(err || "The spawned 'ls -l' returned:\n" + stdout);
});
// These will be executed like below:
//
// Timeline: 0-1-2-3-4-5-6-7-8-9-10-11
//
// #1: ==========
// #2: ==============
// #3: ============
// #4: ==
//
// Notice how they run in parallel, but not more than 2 in the same time.
There are few ways to get help:
ExecLimiter(limit)
Creates a new instance of ExecLimiter
.
limit
: The limit of commands to run same time.ExecLimiter
instance.add(command, args, options, callback)
Adds a new command to run in the buffer.
Usage:
el.add(command, fn); // exec
el.add(command, args, fn); // spawn
el.add(command, options, fn); // exec
el.add(command, args, options, fn); // spawn
command
: The command to run as string.args
: The command arguments as array of strings (optional).options
: The options passed to the spawn/exec function, but extended with the following fields:ignoreStdout
(Boolean): If false
, then the stdout output will be stored ant called back.callback
: The callback function.ExecLimiter
instance.Have an idea? Found a bug? See how to contribute.
I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).
However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:
Starring and sharing the projects you like :rocket:
—I love books! I will remember you after years if you buy me one. :grin: :book:
—You can make one-time donations via PayPal. I'll probably buy a coffee tea. :tea:
—Set up a recurring monthly donation and you will get interesting news about what I'm doing (things that I don't share with everyone).
Bitcoin—You can send me bitcoins at this address (or scanning the code below): 1P9BRsmazNQcuyTxEqveUsnf5CERdq35V6
Thanks! :heart:
If you are using this library in one of your projects, add it in this list. :sparkles:
gry
engine-tools
git-stat
exec-limiter-cli
npmreserve
@isysd/gpm
gpm
FAQs
Limit the shell execution commands to <x> calls same time.
The npm package exec-limiter receives a total of 32,622 weekly downloads. As such, exec-limiter popularity was classified as popular.
We found that exec-limiter demonstrated a not healthy version release cadence and project activity because the last version was released 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
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.