
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
copy-descriptor
Advanced tools
The copy-descriptor npm package is designed for copying property descriptors from one object to another. It allows for precise control over how properties are copied, including their enumerability, configurability, writability, and whether they are getters/setters. This can be particularly useful when you want to replicate the behavior of an object's properties without altering the original object.
Copying a single property descriptor
This feature allows you to copy a single property descriptor from the source object to the target object. The code sample demonstrates copying the getter for the 'foo' property from the source object to the target object, then logging the descriptor of the 'foo' property on the target to show that it has been copied.
const copyDescriptor = require('copy-descriptor');
let target = {};
let source = { get foo() { return 'bar'; } };
copyDescriptor(target, source, 'foo');
console.log(Object.getOwnPropertyDescriptor(target, 'foo'));
Copying multiple property descriptors
This feature enables the copying of multiple property descriptors from the source object to the target object in a single call. The code sample shows how to copy both the 'foo' getter and the 'bar' value property from the source to the target, then logs the descriptors to demonstrate that both properties have been successfully copied.
const copyDescriptor = require('copy-descriptor');
let target = {};
let source = { get foo() { return 'bar'; }, bar: 'baz' };
copyDescriptor(target, source, ['foo', 'bar']);
console.log(Object.getOwnPropertyDescriptor(target, 'foo'));
console.log(Object.getOwnPropertyDescriptor(target, 'bar'));
object-assign is a package that allows for copying properties from one or more source objects to a target object. It is similar to copy-descriptor in that it facilitates the copying of properties, but it does not provide control over copying property descriptors with their specific characteristics like enumerability or configurability.
extend-shallow is another npm package that offers functionality to copy properties from one object to another. It is designed for shallow copying, similar to Object.assign. While it allows for the extension of objects, it does not focus on copying property descriptors with their full definitions and characteristics, making it less precise than copy-descriptor for tasks requiring detailed control over property attributes.
FAQs
Copy a descriptor from object A to object B
The npm package copy-descriptor receives a total of 9,651,599 weekly downloads. As such, copy-descriptor popularity was classified as popular.
We found that copy-descriptor 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.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.