Malicious code in async-mutex-lock (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (e195fef439eb6af3d28576857a30030e4bd839406fa36b2f939279743f12188e) The package is advertised as a mutex-lock utility but ships none of the documented API (no Mutex/lock/unlock). Its sole export, getPlugin in index.js, assembles a URL from split protocol/domain/path variables resolving to https://31.97.137.157:45000/icons/108, fetches a JSON response, and passes the response field data.credits to new Function(...) invoked with full require/process/Buffer context — executing attacker-controlled JavaScript on the caller's host. Variable framing references CDN names (cloudflare, fastly, akamai, cdnjs/font-awesome) as a decoy over a bare-IP destination unrelated to any CDN. Declared dependencies (@primno/dpapi, node-machine-id, better-sqlite3, socket.io-client) are consistent with infostealer staging (DPAPI decryption, machine fingerprinting, SQLite reads of browser stores, socket-based C2). The name resembles the popular async-mutex package. ## Source: ghsa-malware (1f07bc4e9d844bdfd01a18eb7fb1efecbba0e9a1380f2b23bddf708fa4c24c52) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
AI Analysis
Technical Summary
The async-mutex-lock npm package version 5.3.1 is advertised as a mutex-lock utility but does not provide the documented API. Its sole export, getPlugin, constructs a URL pointing to a bare IP address (https://31.97.137.157:45000/icons/108), fetches a JSON response, and executes the 'data.credits' field as JavaScript code with full access to require, process, and Buffer contexts. The package attempts to disguise its malicious intent by referencing well-known CDN names while actually contacting an unrelated IP address. It declares dependencies (@primno/dpapi, node-machine-id, better-sqlite3, socket.io-client) that align with infostealer malware capabilities, including DPAPI decryption, machine fingerprinting, SQLite browser store access, and socket-based command and control communication. The package name closely resembles the legitimate async-mutex package, likely to deceive users.
Potential Impact
This package enables remote code execution of attacker-controlled JavaScript on the host environment, potentially allowing attackers to steal sensitive information such as machine identifiers, decrypted credentials, and browser data. The presence of infostealer-related dependencies indicates a high risk of data exfiltration and system compromise. Users installing this package version may unknowingly execute malicious code leading to significant security breaches.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should immediately avoid installing or remove version 5.3.1 of async-mutex-lock. Verify package authenticity before installation, prefer official and well-maintained packages, and monitor for updates or advisories from trusted sources. Since this is a malicious package impersonating a legitimate one, consider using package integrity verification tools and supply chain security measures to prevent similar threats.
Malicious code in async-mutex-lock (npm)
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (e195fef439eb6af3d28576857a30030e4bd839406fa36b2f939279743f12188e) The package is advertised as a mutex-lock utility but ships none of the documented API (no Mutex/lock/unlock). Its sole export, getPlugin in index.js, assembles a URL from split protocol/domain/path variables resolving to https://31.97.137.157:45000/icons/108, fetches a JSON response, and passes the response field data.credits to new Function(...) invoked with full require/process/Buffer context — executing attacker-controlled JavaScript on the caller's host. Variable framing references CDN names (cloudflare, fastly, akamai, cdnjs/font-awesome) as a decoy over a bare-IP destination unrelated to any CDN. Declared dependencies (@primno/dpapi, node-machine-id, better-sqlite3, socket.io-client) are consistent with infostealer staging (DPAPI decryption, machine fingerprinting, SQLite reads of browser stores, socket-based C2). The name resembles the popular async-mutex package. ## Source: ghsa-malware (1f07bc4e9d844bdfd01a18eb7fb1efecbba0e9a1380f2b23bddf708fa4c24c52) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The async-mutex-lock npm package version 5.3.1 is advertised as a mutex-lock utility but does not provide the documented API. Its sole export, getPlugin, constructs a URL pointing to a bare IP address (https://31.97.137.157:45000/icons/108), fetches a JSON response, and executes the 'data.credits' field as JavaScript code with full access to require, process, and Buffer contexts. The package attempts to disguise its malicious intent by referencing well-known CDN names while actually contacting an unrelated IP address. It declares dependencies (@primno/dpapi, node-machine-id, better-sqlite3, socket.io-client) that align with infostealer malware capabilities, including DPAPI decryption, machine fingerprinting, SQLite browser store access, and socket-based command and control communication. The package name closely resembles the legitimate async-mutex package, likely to deceive users.
Potential Impact
This package enables remote code execution of attacker-controlled JavaScript on the host environment, potentially allowing attackers to steal sensitive information such as machine identifiers, decrypted credentials, and browser data. The presence of infostealer-related dependencies indicates a high risk of data exfiltration and system compromise. Users installing this package version may unknowingly execute malicious code leading to significant security breaches.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should immediately avoid installing or remove version 5.3.1 of async-mutex-lock. Verify package authenticity before installation, prefer official and well-maintained packages, and monitor for updates or advisories from trusted sources. Since this is a malicious package impersonating a legitimate one, consider using package integrity verification tools and supply chain security measures to prevent similar threats.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-12513
- Osv Schema Version
- 1.7.4
- Ecosystems
- ["npm"]
Threat ID: 6a735742bf8831d5391598c2
Added to database: 08/05/2026, 15:31:14 UTC
Last enriched: 08/05/2026, 17:09:19 UTC
Last updated: 09/18/2026, 02:23:29 UTC
Views: 18
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.