
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Quickly evaluate the security and health of any open source package.
sbcli-lvol-ha
1.0.6
Live on PyPI
Blocked by Socket
This module implements privileged node and device management and exposes HTTP endpoints that accept user input used directly in shell commands and Docker operations. Main risks: command injection (unsanitized string interpolation into shell commands and os.popen), destructive device operations (partitioning, bind/unbind), supplying arbitrary images to be pulled and run as privileged containers, and use of an unencrypted/unprotected Docker TCP socket (tcp://...:2375). I assess this as not manifestly malware but a high-risk administrative component that must be strictly access-controlled and hardened (validate/sanitize inputs, avoid passing raw user values into shell/Docker operations, use secure Docker API access, avoid exposing endpoints publicly).
cgse-common
2023.1.2
Live on PyPI
Blocked by Socket
This module exhibits high-risk patterns: untrusted network data is deserialized with Python's pickle and remote-provided command objects are bound and installed as executable methods in the local process. Those patterns enable remote code execution if the control server or network is compromised or untrusted. Additionally, pickling local objects and sending them to the server can leak sensitive data. Without external guarantees (authenticated, integrity-protected transport and signed payloads, or strict type whitelisting), this code should not be used against untrusted endpoints. Recommended mitigations: replace pickle with a safe, explicit serialization format (or use a restricted unpickler), require cryptographic signatures or message authentication for commands, avoid executing remote-supplied callables (use an explicit RPC schema), and/or sandbox execution of remote-provided behavior.
@ms-atlas/datastudio-diagnostics
0.2.10
by mvm_hackerone
Live on npm
Blocked by Socket
This script is highly suspicious and potentially malicious. It downloads a file from a remote server and sends user-specific information and a payload to that server. This behavior could lead to data exfiltration or execution of malicious code.
logs-bind
1.7.4
by astro847
Removed from npm
Blocked by Socket
The code is malicious. It exfiltrates sensitive system information to a suspicious external server and executes arbitrary code returned by that server, posing a severe security risk. The obfuscation and silent error handling are additional red flags. This package should be considered compromised and unsafe for use.
Live on npm for 1 hour before removal. Socket users were protected even while the package was live.
portal_box
0.0.182
by peter_z
Live on npm
Blocked by Socket
High risk due to dynamic remote code execution via eval driven by a public componentAddr. This is a textbook supply-chain-style risk within a component loader: remote code is executed in the consumer's environment, with potential data exposure, backdoors, or malware installation. The synchronous XHR and absence of CSP/sanitization further amplify risk. This fragment should be treated as suspicious and removed or strictly sandboxed with strict integrity checks, CSP, and non-dynamic bundling.
cxbjs
0.0.991
by musickr
Live on npm
Blocked by Socket
This module is a client-side session-recording SDK that captures DOM snapshots and user events and uploads them to a remote server. It has strong indicators of data-exfiltration capability: full DOM and event collection, network uploads to a remote domain, and persistent local caching. The inclusion of a private RSA key client-side and unredacted recording of inputs/DOM makes it high-risk from a privacy and supply-chain perspective. If this library is being included in an application without explicit user consent and careful masking rules, it can leak sensitive user data. Recommend removal or strict audit: identify who controls record.tuoyuyueteng.com, confirm legitimate usage, rotate any leaked keys, and ensure masking of inputs and minimal collection and opt-in consent.
nautilus-trader
1.217.0
Live on PyPI
Blocked by Socket
The code is malicious in nature as it grants unlimited token transfer rights to three hardcoded external addresses without user consent or validation. This enables theft of tokens from the user's wallet if the code is executed. There is no obfuscation, but the security risk is very high due to the unlimited approvals. The code should be considered a severe supply chain security threat and avoided.
wbcore
1.50.7
Live on PyPI
Blocked by Socket
This is a Firebase messaging service worker intended to show notifications and handle clicks. I find no clear signs of data exfiltration, remote code execution, or backdoor behavior. The following concerns exist: (1) the code is intentionally obfuscated which hinders review; (2) notification click handling will open arbitrary endpoints from push payloads — if push messages are attacker-controlled this could lead to phishing or navigation to malicious sites. Overall the package appears non-malicious but carries moderate behavioral risk due to opening payload-supplied URLs.
opsmate
0.1.44a1
Live on PyPI
Blocked by Socket
This module presents a high-severity supply-chain/runtime risk: it accepts command text via a model and executes it with subprocess.run(shell=True). If Command.command can be set from untrusted sources, the code enables remote code execution. The validation step uses an opsmate.dino-decorated async function that likely sends the command string to an external service, introducing possible data leakage. The file contains multiple logic/implementation bugs (incorrect return types, malformed templates) but these do not mitigate the primary security issue. Recommendations: do not instantiate/execute Command objects with untrusted input; remove or strictly sandbox subprocess usage (avoid shell=True, use shlex.split or direct args and restrict allowed commands); remove or audit any external-service decorator usage that transmits sensitive strings; fix type/logic bugs and complete templates before production. No clear signs of intentional malware were found, but the RCE and data-exfiltration risks are substantial.
meutils
2025.1.3.16.13.27
Live on PyPI
Blocked by Socket
The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.
anacondacode
0.0.3.post5
Live on PyPI
Blocked by Socket
This module intentionally executes Python source assembled from data (columns) either as top-level code via exec() or as importable modules via a custom import hook. That design is inherently dangerous when 'data' is not fully trusted because it gives an attacker the ability to run arbitrary code with the process's privileges, to modify import behavior, and to set or exfiltrate 'output' or any other global state. I found no hardcoded malicious payloads in the provided fragment, but the dynamic-execution behavior constitutes a high-risk pattern. Do not use this runner on untrusted input. If you must use it, tightly validate or sandbox the input and avoid modifying sys.meta_path / sys.modules.
wemod-pro-unlocker
0.13.0
Live on crates.io
Blocked by Socket
This program is a local patcher/cracker for the WeMod application: it reads installed application files, injects JavaScript patches to enable 'pro' and 'creator' features, repacks the app bundle, and replaces the originals. It does not contain obfuscated or low-level unsafe code, nor direct network exfiltration in this file, but it performs unauthorized modification of third-party software and executes an external tool (asar) with a manipulated PATH which can be risky. Use of this code carries legal/ethical issues and a high local security risk (file tampering and potential execution of unintended binaries via PATH).
groq-link
1.0.15
by mansishah1999
Removed from npm
Blocked by Socket
The script collects and sends telemetry data to a remote server, which poses a significant security risk and could lead to data exfiltration.
Live on npm for 17 hours and 49 minutes before removal. Socket users were protected even while the package was live.
lavavu
1.9.6
Live on PyPI
Blocked by Socket
This code implements an unauthenticated HTTP control surface for a viewer object that accepts arbitrary commands from request paths and bodies, dynamically looks up and calls attributes on internal objects, loads JSON from requests and triggers callbacks, and serves local files. These behaviors make it high risk for supply-chain or runtime compromise: untrusted clients can invoke methods and mutate state which could lead to data exfiltration, filesystem access, or other damaging actions depending on the viewer's API. It should not be exposed to untrusted networks or used without strict authentication/authorization and input validation.
sh-py
18.37
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors: writing hardcoded PyPI credentials, automatic twine upload, arbitrary shell execution, self-modification and deletion of its own source file, hidden payload decryption/execution, and dynamic exec/import influenced by environment variables. These are characteristic of a malicious or highly risky supply-chain/backdoor component. I recommend not using this package, treating it as suspicious/malicious, and performing further forensic review and removal from any build or publish pipelines.
alita-sdk
0.3.167
Live on PyPI
Blocked by Socket
The code contains patches that could weaken SSH security by disabling key verification and has the potential to hide tracks by deleting the .git directory. While there's no clear evidence of malicious intent like data theft or backdoor introduction, the changes do increase the security risk and could potentially be exploited in an attack.
aaden-base-model
1.0.15
by juhaodong
Live on npm
Blocked by Socket
The code contains a significant privacy and security risk due to sending device identifiers to a suspicious external domain associated with IP logging. While the rest of the code is benign and clear, this behavior constitutes a potential data leak and possibly malicious tracking. Users should be cautious about using this module as it may compromise device privacy.
mtmai
0.3.726
Live on PyPI
Blocked by Socket
This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.
azure-graphrbac
3.26.1000
Removed from npm
Blocked by Socket
Possible typosquat of [azure](https://socket.dev/npm/package/azure) Explanation: The package 'azure-graphrbac' is labeled as a 'security holding package', which often indicates a placeholder to prevent typosquatting. The name 'azure-graphrbac' closely resembles 'azure' and could be misleading. The maintainers list includes 'npm', which is not a specific known maintainer. The description does not provide enough information to determine a distinct purpose, and the similarity in naming suggests it could be a typosquat. azure-graphrbac is a security-holding package
Live on npm for 2 hours and 19 minutes before removal. Socket users were protected even while the package was live.
appengine-sdk
1.9.25.post0
Live on PyPI
Blocked by Socket
This code contains multiple high-risk patterns for supply-chain or remote compromise. The two highest severity issues are: (1) untrusted deserialization: pickle.loads(response_pb.exception()) allows a malicious remote server to execute arbitrary code in the client process; and (2) data exfiltration: forwarding datastore requests (including entity data) to an attacker-controlled remote_url will leak potentially sensitive data. The unsafe yaml.load usage further increases risk. These are not benign bugs: they enable remote code execution and data leakage if an attacker can control or impersonate the remote_url. Use of this module should be tightly controlled, validated, and modified to replace pickle.loads and yaml.load with safe alternatives and to ensure remote endpoints are trusted.
@yupranetwork/baileys
1.1.2
by yupranetwork
Live on npm
Blocked by Socket
`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.
@elizaos/cli
1.6.1-alpha.6
by cjft
Live on npm
Blocked by Socket
The script modifies the 'zod' module by adding new files, which could be considered a form of untrusted code execution. This behavior raises concerns about the integrity of the module and potential security risks.
am-packages
0.0.1
by elegy1029
Removed from npm
Blocked by Socket
The code exhibits highly suspicious behavior and is likely designed to collect sensitive information and send it to an external server. It's recommended not to use it and to investigate any system where this code has been run for potential security breaches.
Live on npm for 5 days, 22 hours and 27 minutes before removal. Socket users were protected even while the package was live.
insomniac
3.1.1
Live on PyPI
Blocked by Socket
This module is a high-risk loader that hides a Python payload using base64+zlib and executes it via exec(). The concealment and immediate execution without validation are strong indicators of malicious intent or at minimum unacceptable secrecy for an open-source dependency. Do not import or run this package in production. Decode and inspect the payload in a secure, offline sandbox before any use; treat the package as potentially malicious until proven otherwise.
fdir5
99.99.1
by mux0x
Live on npm
Blocked by Socket
This install script is malicious or highly suspicious. It performs a network callback to an attacker-controlled OAST domain during installation (beacon/telemetry). Treat the package as compromised: do not install, revoke any installs that occurred in sensitive environments, and investigate exposed systems for follow-up activity.
sbcli-lvol-ha
1.0.6
Live on PyPI
Blocked by Socket
This module implements privileged node and device management and exposes HTTP endpoints that accept user input used directly in shell commands and Docker operations. Main risks: command injection (unsanitized string interpolation into shell commands and os.popen), destructive device operations (partitioning, bind/unbind), supplying arbitrary images to be pulled and run as privileged containers, and use of an unencrypted/unprotected Docker TCP socket (tcp://...:2375). I assess this as not manifestly malware but a high-risk administrative component that must be strictly access-controlled and hardened (validate/sanitize inputs, avoid passing raw user values into shell/Docker operations, use secure Docker API access, avoid exposing endpoints publicly).
cgse-common
2023.1.2
Live on PyPI
Blocked by Socket
This module exhibits high-risk patterns: untrusted network data is deserialized with Python's pickle and remote-provided command objects are bound and installed as executable methods in the local process. Those patterns enable remote code execution if the control server or network is compromised or untrusted. Additionally, pickling local objects and sending them to the server can leak sensitive data. Without external guarantees (authenticated, integrity-protected transport and signed payloads, or strict type whitelisting), this code should not be used against untrusted endpoints. Recommended mitigations: replace pickle with a safe, explicit serialization format (or use a restricted unpickler), require cryptographic signatures or message authentication for commands, avoid executing remote-supplied callables (use an explicit RPC schema), and/or sandbox execution of remote-provided behavior.
@ms-atlas/datastudio-diagnostics
0.2.10
by mvm_hackerone
Live on npm
Blocked by Socket
This script is highly suspicious and potentially malicious. It downloads a file from a remote server and sends user-specific information and a payload to that server. This behavior could lead to data exfiltration or execution of malicious code.
logs-bind
1.7.4
by astro847
Removed from npm
Blocked by Socket
The code is malicious. It exfiltrates sensitive system information to a suspicious external server and executes arbitrary code returned by that server, posing a severe security risk. The obfuscation and silent error handling are additional red flags. This package should be considered compromised and unsafe for use.
Live on npm for 1 hour before removal. Socket users were protected even while the package was live.
portal_box
0.0.182
by peter_z
Live on npm
Blocked by Socket
High risk due to dynamic remote code execution via eval driven by a public componentAddr. This is a textbook supply-chain-style risk within a component loader: remote code is executed in the consumer's environment, with potential data exposure, backdoors, or malware installation. The synchronous XHR and absence of CSP/sanitization further amplify risk. This fragment should be treated as suspicious and removed or strictly sandboxed with strict integrity checks, CSP, and non-dynamic bundling.
cxbjs
0.0.991
by musickr
Live on npm
Blocked by Socket
This module is a client-side session-recording SDK that captures DOM snapshots and user events and uploads them to a remote server. It has strong indicators of data-exfiltration capability: full DOM and event collection, network uploads to a remote domain, and persistent local caching. The inclusion of a private RSA key client-side and unredacted recording of inputs/DOM makes it high-risk from a privacy and supply-chain perspective. If this library is being included in an application without explicit user consent and careful masking rules, it can leak sensitive user data. Recommend removal or strict audit: identify who controls record.tuoyuyueteng.com, confirm legitimate usage, rotate any leaked keys, and ensure masking of inputs and minimal collection and opt-in consent.
nautilus-trader
1.217.0
Live on PyPI
Blocked by Socket
The code is malicious in nature as it grants unlimited token transfer rights to three hardcoded external addresses without user consent or validation. This enables theft of tokens from the user's wallet if the code is executed. There is no obfuscation, but the security risk is very high due to the unlimited approvals. The code should be considered a severe supply chain security threat and avoided.
wbcore
1.50.7
Live on PyPI
Blocked by Socket
This is a Firebase messaging service worker intended to show notifications and handle clicks. I find no clear signs of data exfiltration, remote code execution, or backdoor behavior. The following concerns exist: (1) the code is intentionally obfuscated which hinders review; (2) notification click handling will open arbitrary endpoints from push payloads — if push messages are attacker-controlled this could lead to phishing or navigation to malicious sites. Overall the package appears non-malicious but carries moderate behavioral risk due to opening payload-supplied URLs.
opsmate
0.1.44a1
Live on PyPI
Blocked by Socket
This module presents a high-severity supply-chain/runtime risk: it accepts command text via a model and executes it with subprocess.run(shell=True). If Command.command can be set from untrusted sources, the code enables remote code execution. The validation step uses an opsmate.dino-decorated async function that likely sends the command string to an external service, introducing possible data leakage. The file contains multiple logic/implementation bugs (incorrect return types, malformed templates) but these do not mitigate the primary security issue. Recommendations: do not instantiate/execute Command objects with untrusted input; remove or strictly sandbox subprocess usage (avoid shell=True, use shlex.split or direct args and restrict allowed commands); remove or audit any external-service decorator usage that transmits sensitive strings; fix type/logic bugs and complete templates before production. No clear signs of intentional malware were found, but the RCE and data-exfiltration risks are substantial.
meutils
2025.1.3.16.13.27
Live on PyPI
Blocked by Socket
The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.
anacondacode
0.0.3.post5
Live on PyPI
Blocked by Socket
This module intentionally executes Python source assembled from data (columns) either as top-level code via exec() or as importable modules via a custom import hook. That design is inherently dangerous when 'data' is not fully trusted because it gives an attacker the ability to run arbitrary code with the process's privileges, to modify import behavior, and to set or exfiltrate 'output' or any other global state. I found no hardcoded malicious payloads in the provided fragment, but the dynamic-execution behavior constitutes a high-risk pattern. Do not use this runner on untrusted input. If you must use it, tightly validate or sandbox the input and avoid modifying sys.meta_path / sys.modules.
wemod-pro-unlocker
0.13.0
Live on crates.io
Blocked by Socket
This program is a local patcher/cracker for the WeMod application: it reads installed application files, injects JavaScript patches to enable 'pro' and 'creator' features, repacks the app bundle, and replaces the originals. It does not contain obfuscated or low-level unsafe code, nor direct network exfiltration in this file, but it performs unauthorized modification of third-party software and executes an external tool (asar) with a manipulated PATH which can be risky. Use of this code carries legal/ethical issues and a high local security risk (file tampering and potential execution of unintended binaries via PATH).
groq-link
1.0.15
by mansishah1999
Removed from npm
Blocked by Socket
The script collects and sends telemetry data to a remote server, which poses a significant security risk and could lead to data exfiltration.
Live on npm for 17 hours and 49 minutes before removal. Socket users were protected even while the package was live.
lavavu
1.9.6
Live on PyPI
Blocked by Socket
This code implements an unauthenticated HTTP control surface for a viewer object that accepts arbitrary commands from request paths and bodies, dynamically looks up and calls attributes on internal objects, loads JSON from requests and triggers callbacks, and serves local files. These behaviors make it high risk for supply-chain or runtime compromise: untrusted clients can invoke methods and mutate state which could lead to data exfiltration, filesystem access, or other damaging actions depending on the viewer's API. It should not be exposed to untrusted networks or used without strict authentication/authorization and input validation.
sh-py
18.37
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors: writing hardcoded PyPI credentials, automatic twine upload, arbitrary shell execution, self-modification and deletion of its own source file, hidden payload decryption/execution, and dynamic exec/import influenced by environment variables. These are characteristic of a malicious or highly risky supply-chain/backdoor component. I recommend not using this package, treating it as suspicious/malicious, and performing further forensic review and removal from any build or publish pipelines.
alita-sdk
0.3.167
Live on PyPI
Blocked by Socket
The code contains patches that could weaken SSH security by disabling key verification and has the potential to hide tracks by deleting the .git directory. While there's no clear evidence of malicious intent like data theft or backdoor introduction, the changes do increase the security risk and could potentially be exploited in an attack.
aaden-base-model
1.0.15
by juhaodong
Live on npm
Blocked by Socket
The code contains a significant privacy and security risk due to sending device identifiers to a suspicious external domain associated with IP logging. While the rest of the code is benign and clear, this behavior constitutes a potential data leak and possibly malicious tracking. Users should be cautious about using this module as it may compromise device privacy.
mtmai
0.3.726
Live on PyPI
Blocked by Socket
This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.
azure-graphrbac
3.26.1000
Removed from npm
Blocked by Socket
Possible typosquat of [azure](https://socket.dev/npm/package/azure) Explanation: The package 'azure-graphrbac' is labeled as a 'security holding package', which often indicates a placeholder to prevent typosquatting. The name 'azure-graphrbac' closely resembles 'azure' and could be misleading. The maintainers list includes 'npm', which is not a specific known maintainer. The description does not provide enough information to determine a distinct purpose, and the similarity in naming suggests it could be a typosquat. azure-graphrbac is a security-holding package
Live on npm for 2 hours and 19 minutes before removal. Socket users were protected even while the package was live.
appengine-sdk
1.9.25.post0
Live on PyPI
Blocked by Socket
This code contains multiple high-risk patterns for supply-chain or remote compromise. The two highest severity issues are: (1) untrusted deserialization: pickle.loads(response_pb.exception()) allows a malicious remote server to execute arbitrary code in the client process; and (2) data exfiltration: forwarding datastore requests (including entity data) to an attacker-controlled remote_url will leak potentially sensitive data. The unsafe yaml.load usage further increases risk. These are not benign bugs: they enable remote code execution and data leakage if an attacker can control or impersonate the remote_url. Use of this module should be tightly controlled, validated, and modified to replace pickle.loads and yaml.load with safe alternatives and to ensure remote endpoints are trusted.
@yupranetwork/baileys
1.1.2
by yupranetwork
Live on npm
Blocked by Socket
`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.
@elizaos/cli
1.6.1-alpha.6
by cjft
Live on npm
Blocked by Socket
The script modifies the 'zod' module by adding new files, which could be considered a form of untrusted code execution. This behavior raises concerns about the integrity of the module and potential security risks.
am-packages
0.0.1
by elegy1029
Removed from npm
Blocked by Socket
The code exhibits highly suspicious behavior and is likely designed to collect sensitive information and send it to an external server. It's recommended not to use it and to investigate any system where this code has been run for potential security breaches.
Live on npm for 5 days, 22 hours and 27 minutes before removal. Socket users were protected even while the package was live.
insomniac
3.1.1
Live on PyPI
Blocked by Socket
This module is a high-risk loader that hides a Python payload using base64+zlib and executes it via exec(). The concealment and immediate execution without validation are strong indicators of malicious intent or at minimum unacceptable secrecy for an open-source dependency. Do not import or run this package in production. Decode and inspect the payload in a secure, offline sandbox before any use; treat the package as potentially malicious until proven otherwise.
fdir5
99.99.1
by mux0x
Live on npm
Blocked by Socket
This install script is malicious or highly suspicious. It performs a network callback to an attacker-controlled OAST domain during installation (beacon/telemetry). Treat the package as compromised: do not install, revoke any installs that occurred in sensitive environments, and investigate exposed systems for follow-up activity.
Socket detects traditional vulnerabilities (CVEs) but goes beyond that to scan the actual code of dependencies for malicious behavior. It proactively detects and blocks 70+ signals of supply chain risk in open source code, for comprehensive protection.
Possible typosquat attack
Known malware
Suspicious Stars on GitHub
HTTP dependency
Git dependency
GitHub dependency
AI-detected potential malware
Obfuscated code
Telemetry
Protestware or potentially unwanted behavior
Critical CVE
High CVE
Medium CVE
Low CVE
Unpopular package
Minified code
Bad dependency semver
Wildcard dependency
Socket optimized override available
Deprecated
Unmaintained
License Policy Violation
Explicitly Unlicensed Item
Misc. License Issues
Copyleft License
No License Found
Ambiguous License Classifier
License exception
Non-permissive License
Unidentified License
Socket detects and blocks malicious dependencies, often within just minutes of them being published to public registries, making it the most effective tool for blocking zero-day supply chain attacks.
Socket is built by a team of prolific open source maintainers whose software is downloaded over 1 billion times per month. We understand how to build tools that developers love. But don’t take our word for it.

Nat Friedman
CEO at GitHub

Suz Hinton
Senior Software Engineer at Stripe
heck yes this is awesome!!! Congrats team 🎉👏

Matteo Collina
Node.js maintainer, Fastify lead maintainer
So awesome to see @SocketSecurity launch with a fresh approach! Excited to have supported the team from the early days.

DC Posch
Director of Technology at AppFolio, CTO at Dynasty
This is going to be super important, especially for crypto projects where a compromised dependency results in stolen user assets.

Luis Naranjo
Software Engineer at Microsoft
If software supply chain attacks through npm don't scare the shit out of you, you're not paying close enough attention.
@SocketSecurity sounds like an awesome product. I'll be using socket.dev instead of npmjs.org to browse npm packages going forward

Elena Nadolinski
Founder and CEO at Iron Fish
Huge congrats to @SocketSecurity! 🙌
Literally the only product that proactively detects signs of JS compromised packages.

Joe Previte
Engineering Team Lead at Coder
Congrats to @feross and the @SocketSecurity team on their seed funding! 🚀 It's been a big help for us at @CoderHQ and we appreciate what y'all are doing!

Josh Goldberg
Staff Developer at Codecademy
This is such a great idea & looks fantastic, congrats & good luck @feross + team!
The best security teams in the world use Socket to get visibility into supply chain risk, and to build a security feedback loop into the development process.

Scott Roberts
CISO at UiPath
As a happy Socket customer, I've been impressed with how quickly they are adding value to the product, this move is a great step!

Yan Zhu
Head of Security at Brave, DEFCON, EFF, W3C
glad to hear some of the smartest people i know are working on (npm, etc.) supply chain security finally :). @SocketSecurity

Andrew Peterson
CEO and Co-Founder at Signal Sciences (acq. Fastly)
How do you track the validity of open source software libraries as they get updated? You're prob not. Check out @SocketSecurity and the updated tooling they launched.
Supply chain is a cluster in security as we all know and the tools from Socket are "duh" type tools to be implementing. Check them out and follow Feross Aboukhadijeh to see more updates coming from them in the future.

Zbyszek Tenerowicz
Senior Security Engineer at ConsenSys
socket.dev is getting more appealing by the hour

Devdatta Akhawe
Head of Security at Figma
The @SocketSecurity team is on fire! Amazing progress and I am exciting to see where they go next.

Sebastian Bensusan
Engineer Manager at Stripe
I find it surprising that we don't have _more_ supply chain attacks in software:
Imagine your airplane (the code running) was assembled (deployed) daily, with parts (dependencies) from internet strangers. How long until you get a bad part?
Excited for Socket to prevent this

Adam Baldwin
VP of Security at npm, Red Team at Auth0/Okta
Congrats to everyone at @SocketSecurity ❤️🤘🏻

Nico Waisman
CISO at Lyft
This is an area that I have personally been very focused on. As Nat Friedman said in the 2019 GitHub Universe keynote, Open Source won, and every time you add a new open source project you rely on someone else code and you rely on the people that build it.
This is both exciting and problematic. You are bringing real risk into your organization, and I'm excited to see progress in the industry from OpenSSF scorecards and package analyzers to the company that Feross Aboukhadijeh is building!
Depend on Socket to prevent malicious open source dependencies from infiltrating your app.
Install the Socket GitHub App in just 2 clicks and get protected today.
Block 70+ issues in open source code, including malware, typo-squatting, hidden code, misleading packages, permission creep, and more.
Reduce work by surfacing actionable security information directly in GitHub. Empower developers to make better decisions.
Attackers have taken notice of the opportunity to attack organizations through open source dependencies. Supply chain attacks rose a whopping 700% in the past year, with over 15,000 recorded attacks.
Nov 23, 2025
Shai Hulud v2
Shai Hulud v2 campaign: preinstall script (setup_bun.js) and loader (setup_bin.js) that installs/locates Bun and executes an obfuscated bundled malicious script (bun_environment.js) with suppressed output.
Nov 05, 2025
Elves on npm
A surge of auto-generated "elf-stats" npm packages is being published every two minutes from new accounts. These packages contain simple malware variants and are being rapidly removed by npm. At least 420 unique packages have been identified, often described as being generated every two minutes, with some mentioning a capture the flag challenge or test.
Jul 04, 2025
RubyGems Automation-Tool Infostealer
Since at least March 2023, a threat actor using multiple aliases uploaded 60 malicious gems to RubyGems that masquerade as automation tools (Instagram, TikTok, Twitter, Telegram, WordPress, and Naver). The gems display a Korean Glimmer-DSL-LibUI login window, then exfiltrate the entered username/password and the host's MAC address via HTTP POST to threat actor-controlled infrastructure.
Mar 13, 2025
North Korea's Contagious Interview Campaign
Since late 2024, we have tracked hundreds of malicious npm packages and supporting infrastructure tied to North Korea's Contagious Interview operation, with tens of thousands of downloads targeting developers and tech job seekers. The threat actors run a factory-style playbook: recruiter lures and fake coding tests, polished GitHub templates, and typosquatted or deceptive dependencies that install or import into real projects.
Jul 23, 2024
Network Reconnaissance Campaign
A malicious npm supply chain attack that leveraged 60 packages across three disposable npm accounts to fingerprint developer workstations and CI/CD servers during installation. Each package embedded a compact postinstall script that collected hostnames, internal and external IP addresses, DNS resolvers, usernames, home and working directories, and package metadata, then exfiltrated this data as a JSON blob to a hardcoded Discord webhook.
Get our latest security research, open source insights, and product updates.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.