mutex-core
Mutex and semaphore primitives for synchronizing asynchronous JavaScript and TypeScript workflows
This report shows the evidence for mutex-core@2.1.2, the only known version.
AI Security Review
scanned 2mo ago · by lpm-firewall-aiThe package embeds a concealed, cryptographically gated decrypt-and-spawn chain in its primary Mutex implementation. This is concrete malicious runtime behavior, not an unused static primitive.
Decision evidence
public snapshot- `Mutex.runExclusive` contains a hidden SHA-256-gated `callback.meta.jobId` branch.
- The branch decrypts opaque `lib/withMutex.min.js` with the supplied job ID and writes the result to disk.
- It launches the decrypted result with detached `node`, ignored stdio, and `unref()`.
- `lib/common.js` implements scrypt and AES-256-GCM payload decryption.
- package.json has no install lifecycle hook.
- The declared entrypoint exports normal mutex/semaphore APIs; the payload activates only through the hidden runtime condition.
Source & flagged code
6 flagged · loading sourcePackage source references dynamic require/import behavior.
lib/Semaphore.jsView on unpkg · L2Findings
Affected versions and remediation
This report applies to mutex-core@2.1.2.
The versions list below shows the verdict for each recorded version.
- Avoid installing mutex-core@2.1.2. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.