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.
Modify your objects with a mongo like syntax. This is mostly forked code of a modify function of Meteor's brilliant minimongo package, changed to work without Meteor context, and included nice, readable tests based on a mongodb documentation.
The usage is shown in the src/modify.test.js file, but to show a simple example:
import modify from 'modifyjs';
const myObject = { _id: 1, scores: [ 0, 2, 5, 5, 1, 0 ] };
const updatedObject = modify(myObject, {$pullAll: {scores: [0, 5]}});
const expectedObject = {_id: 1, scores: [2, 1]};
expect(updatedObject).toEqual(expectedObject);
npm install modifyjs
$min
✓ updates a field when the passed value is lower than an existing one (3ms)
✓ doesn't update a field when the passed value is higher than an existing one
$max
✓ updates a field when the passed value is higher than an existing one
✓ doesn't update a field when the passed value is lower than an existing one (1ms)
$inc
✓ can increment with positive and negative values at the same time
$set
✓ sets top-level fields (1ms)
✓ sets fields in embedded documents (1ms)
✓ sets elements in arrays
$unset
✓ deletes a particular field (1ms)
$push
✓ appends a value to an array
✓ appends multiple values to an array (1ms)
$pushAll
✓ appends multiple values to an array without $each
$addToSet
✓ appends array with an array
✓ adds element to an array if element doesn't already exist (1ms)
✓ doesn't add an element to the array if it does already exists
✓ adds multiple values to the array field with $each modifier, omitting existing ones
$pop
✓ removes the first element from an array (1ms)
✓ removes the last item of an array
$pullAll
✓ removes all instances of the specified values from an existing array (1ms)
$rename
✓ updates the name of a field
$currentDate
$pull (but $pullAll works)
$push with $sort modifier
FAQs
Modify your objects with a mongo syntax.
The npm package modifyjs receives a total of 7,978 weekly downloads. As such, modifyjs popularity was classified as popular.
We found that modifyjs 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.