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.
Execute CLI Statements based upon Opt-In / Out-Out Rules.
Simply install locally as a development dependency to your project's package:
npm install --save-dev opt-cli
The intended usage is within an npm script, for example to opt-in to commit or to opt-out of commit hooks:
"ghooks": {
"precommit": "opt --in precommit --exec \"make test\"",
"prepush": "opt --out prepush --exec \"make lint\"",
}
Given you these files and their content, the hooks above will be executed:
.opt-in
precommit
.opt-out
prepush
Alternatively, you may specify these rules within an npm module's package.json
file:
"config": {
"opt": {
"in": [ "precommit" ],
"out": [ "prepush" ]
}
}
Behavior:
If you specify opt --in
rule then you MUST have the string specified in the .opt-in
file (one rule per file) or in your package.json
's config.opt.in
Array. If you specify an opt --out
then you MUST NOT have the string specified in the .opt-out
file or in your package.json
's config.opt.out
Array, respectively.
The command specified as --exec
optoin would be what to execute in the scenario that it passes the test.
You may also include opt-cli as a library:
var opt = require( 'opt' );
Given the example setup from above, usage would be as follows:
opt.testOptIn( 'precommit' ) === true
opt.testOptOut( 'prepush' ) === true
Using opt.getExplicitOpts()
you would receive:
{
precommit: true,
prepush: false
}
Kent C. Dodds 💻 👀 | Guilherme J. Tramontina 💻 | Andreas Windt 💻 📖 ⚠️ |
---|
This project follows the all-contributors specification (emoji key). Contributions of any kind welcome!
Special thanks to @kentcdodds for encouraging to engage in oss, for the wonderful resources (check out the Egghead videos!) and — together with gtramontina — for coming up with the original idea to this module!
FAQs
Execute CLI Statements based upon Opt-In / Opt-Out Rules.
The npm package opt-cli receives a total of 16,846 weekly downloads. As such, opt-cli popularity was classified as popular.
We found that opt-cli 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.