
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@protontech/mutex-browser
Advanced tools
This library provides mutual exclusion functionality for the browser. It supports two methods:
The mutex backed by a cookie storage can be useful where IndexedDB or localStorage can not be used, for instance through cross-domain cross-window synchronization. For a single domain where IndexedDB can be used, the second method is recommended.
The library requires the support of Promises, async/await, modules, and cookies or IndexedDB.
Chrome, Safari, Firefox, Edge, IE11
import { createIDBMutex, createCookieMutex } from 'mutex-browser'
const options = {
expiry: 1000
};
const mutex = createCookieMutex(options) or createIDBMutex(options)
const synchronized = async () => {
await mutex.lock('name')
// perform work
await mutex.unlock('name')
}
const options = {
expiry: 10000, // Max time in ms before the lock will expire. Note: The function can't take longer than this.
spinTimeout: 20, // The time in ms before with how long the retry should spin. Note: This will be randomized to prevent starving.
id: 'random-uid', // The id of mutex contender. Must be unique.
// for the cookie lock
keyX: (name) => `${name}_lock_x`, // A function for the name to give to the key X
keyY: (name) => `${name}_lock_y`, // A function for the name to give to the key Y
// for the IndexedDB lock
objectStoreName: 'mutex', // The name of the IndexedDB store.
dbName: 'mutex', // The name of the IndexedDB database.
};
Example available in the example/ folder
IndexedDB lock based on the work of Robert Knight https://github.com/robertknight/idb-mutex.
Mattias Svanström (@mmso) - ProtonMail
FAQs
Acquire a mutex in the browser through IndexedDB or cookies
The npm package @protontech/mutex-browser receives a total of 5,919 weekly downloads. As such, @protontech/mutex-browser popularity was classified as popular.
We found that @protontech/mutex-browser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers 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
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.