
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.
meshcentral
0.2.6-p
by ysainthilaire
Live on npm
Blocked by Socket
This code fragment implements a remote-access/tunneling component that enables an external controller to open interactive shells and retrieve local system and database information. The disabled TLS verification, absence of visible authorization, and direct piping of a shell to a remote socket are high-risk behaviors consistent with a backdoor or RAT. Treat this component as hostile unless you have explicit, audited reason to trust it and robust operational controls. Remediate by removing the code, blocking outbound connections to unknown endpoints, enforcing TLS verification, adding strong authentication/authorization, and auditing systems for compromise.
@dingsongwong/security-research
1.0.3
by dingsongwong
Live on npm
Blocked by Socket
This file runs arbitrary commands on the host system and transmits their outputs to a remote server at malicious-endpoint[.]example[.]com (base64-decoded at runtime). It also fetches the system’s external IP address and reports it to the same server. Furthermore, it initiates a local tunnel, exposing local services to remote access without user awareness. Together, these capabilities facilitate unauthorized remote control, data exfiltration, and potentially open the system to further compromise.
pinokiod
3.8.22
by cocktailpeanut
Live on npm
Blocked by Socket
The SweetAlert2 library code is mostly benign and serves as a UI modal dialog tool. However, it contains a suspicious and potentially malicious snippet that targets Russian users on certain domains to play an unsolicited audio prank, disabling pointer events and potentially disrupting user interaction. This behavior is unexpected and should be considered a moderate security risk and potential malware. The rest of the code shows no signs of malicious intent. The provided reports were invalid and unhelpful. Users should be cautious about this version of the library due to the embedded prank behavior.
baron-baileys
2.2.6
by schwarzebaron
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.
achilles
0.0.170
Live on PyPI
Blocked by Socket
This module implements a remote-controlled worker node that deserializes dill payloads received over the network and executes deserialized Python callables locally (including via multiprocessing). That design allows remote code execution and information leakage (host IP and CPU count) with no authentication or validation. If used in an untrusted network or with an untrusted controller, this is a high-risk backdoor capability and should be treated as dangerous. Use only in tightly controlled/trusted environments, or replace dill with a safe, explicit protocol and add strong authentication and input validation.
mtmai
0.5.14
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
fca-horizon-remake
4.8.4
by horizonlucius
Removed from npm
Blocked by Socket
The code is heavily obfuscated and relies on dynamic evaluation of code, which makes it difficult to analyze its true intent through static analysis alone. The extensive use of eval, global object manipulation, and conditional checks suggests a high level of complexity that could be indicative of malicious behavior. Due to the obfuscated nature and the presence of several red flags, this code poses a significant security risk and should be treated with caution.
Live on npm for 32 minutes before removal. Socket users were protected even while the package was live.
fluro-ui
1.0.14
by jpdhackerone05
Removed from npm
Blocked by Socket
The source code exhibits behavior consistent with data exfiltration malware. It collects sensitive system information and sends it to external endpoints without user consent, posing a significant security risk.
Live on npm for 7 days, 2 hours and 23 minutes before removal. Socket users were protected even while the package was live.
azure-graphrbac
6.9.2
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 41 minutes before removal. Socket users were protected even while the package was live.
lol1234
1.2.0
by gaurishkvapt
Removed from npm
Blocked by Socket
This script is highly malicious as it attempts to exfiltrate sensitive system information and user data to an external server.
ivp.notification
1.0.12
by Pratham Shetty
Live on NuGet
Blocked by Socket
The code contains an explicit, targeted, time-delayed malicious payload that disables page interactivity and autoplays audio from a hardcoded third-party host for users with Russian language/browser settings on specific TLDs. This behavior is unrelated to the library's purpose and constitutes sabotage/harassment. Treat this package as malicious — remove, audit upstream, and replace with a clean version. Projects that depended on this version should rotate deployments, revert to a known-good release, and consider investigation of supply-chain compromise.
json-hook-trigger
1.3.0
by we684123
Live on npm
Blocked by Socket
This code contains critical security vulnerabilities through extensive use of eval() with unsanitized input and a plugin system that executes arbitrary file contents. The dynamic code execution capabilities make this extremely dangerous for supply chain attacks.
capesolo
0.4.15
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors consistent with tools intended to evade detection and modify system identity and state: changing MachineGuid/ProductId, modifying Office security and MRU entries, masking virtualization indicators, attempting system-level execution via psexec, and adding persistent routes. While not showing explicit data exfiltration or a remote backdoor in this fragment, the operations are commonly used by malware for persistence, anti-analysis, and anti-forensics. Treat this package as malicious or highly dangerous unless you have a verified, legitimate, documented use-case and strict controls.
@daffadeveloper/baileys
4.0.0
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.
relap-adroom
0.22.99
by zantadyl
Removed from npm
Blocked by Socket
The code is highly suspicious and exhibits behaviors consistent with malware, including data exfiltration through DNS and execution of remote code. It poses a significant security risk.
Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.
strsql2-mysql
1.0.0
by kongge
Removed from npm
Blocked by Socket
While the main functionality of the code appears to be legitimate for database management, the use of obfuscation and potentially encoded strings introduces suspicion. It's possible there could be hidden malicious functionality, but without deciphering the obfuscated parts or understanding the context of encoded strings, a definitive conclusion cannot be reached. Caution is advised.
Live on npm for 15 minutes before removal. Socket users were protected even while the package was live.
hackerman
0.10.9
Live on PyPI
Blocked by Socket
This module implements a likely malicious C2/backdoor client: it listens for commands over a DNS covert channel and can execute shell commands, change directories, and execute arbitrary Python code via exec/eval, then exfiltrate results. The absence of authentication, the covert transport, and presence of exec/eval constitute a high-severity security risk. Treat this package as malicious/untrusted and do not run it. Further investigation of related modules (transport, crypto, utils) is required to determine full scope.
github.com/milvus-io/milvus
v0.10.3-0.20211007072402-5c8ed75baf4e
Live on Go Modules
Blocked by Socket
This code implements an insecure, unauthenticated RPC mechanism that allows remote clients to cause arbitrary code execution and exfiltrate files/system information. Using pickle over an untrusted network and invoking methods by client-supplied names are severe supply-chain/backdoor risks. Do not deploy or reuse this code in production; it should be treated as a backdoor/untrusted remote-execution component unless wrapped with strong authentication, authorization, sandboxing, and safe serialization.
setup-assistant
0.1.6
Live on PyPI
Blocked by Socket
This module exhibits high-risk behavior for supply chain compromise: it contains a hardcoded GitHub personal access token and explicit routines that fetch and return repository-stored credentials/API keys. These flows enable programmatic secret retrieval and local persistence of OAuth tokens. There is no need to speculate beyond the file: treat this code as unsafe until the hardcoded token is removed, secrets audited, and secure secret-handling patterns (no hardcoded credentials, least-privilege tokens, secure storage for OAuth tokens, remove prints of secrets) are implemented. Immediate remediation recommended: remove hardcoded token, rotate any exposed tokens/keys, restrict repository access, and avoid returning raw secrets to callers.
mume-with-litvis
0.16.0
by kachkaev
Live on npm
Blocked by Socket
The branch of the codebase presents non-trivial security risks due to dynamic code execution pathways (allowUnsafeEval, allowUnsafeNewFunction, Function wrapper) and a dependency-loading mechanism (loadDependency) that can execute modules from disk based on untrusted inputs. These patterns create strong potential for supply-chain or runtime code injection if inputs/dependencies are tampered. While the rest of the utilities are common for an extension system, the unsafe pathways should be removed or tightly restricted, with explicit whitelisting, sandboxing, and input provenance checks. Recommended actions include eliminating or locking down unsafe evaluators, validating dependencyPath against allowed sets, isolating dependency execution, and minimizing writes to the user’s home directory without strict validation.
learning-pypi-demo-nisimi
0.1.3
Removed from PyPI
Blocked by Socket
This setup.py contains a top-level, unconditional os.system call that executes curl to an external, suspicious domain during import/installation. That behavior constitutes a high-risk supply-chain indicator (installation-time beaconing and potential staging for further payloads). Do not install or run this package in production or untrusted environments. Remove the os.system call or refuse the package until maintainers provide a verifiable, benign justification and replace any network operations with audited, explicit code executed only with user consent.
Live on PyPI for 5 minutes before removal. Socket users were protected even while the package was live.
xlpkg
1.0.0.120
Removed from PyPI
Blocked by Socket
The module is not overtly crypto-mining or actively destructive, but it contains many high-risk patterns: multiple hardcoded credentials and hostnames (SSH, MySQL, Jenkins), direct SSH/SFTP and SSHTunnel code paths, subprocess/os.system usage that can execute arbitrary shell commands, and eval() on constructed strings. These collectively create an easy avenue for credential leakage, unauthorized remote access and code execution if the package is distributed or if inputs can be controlled. I assess this as not obviously intentionally malicious code but as dangerously insecure and inappropriate for inclusion in public/shared dependencies without remediation.
Live on PyPI for 5 hours and 1 minute before removal. Socket users were protected even while the package was live.
meshcentral
0.2.6-p
by ysainthilaire
Live on npm
Blocked by Socket
This code fragment implements a remote-access/tunneling component that enables an external controller to open interactive shells and retrieve local system and database information. The disabled TLS verification, absence of visible authorization, and direct piping of a shell to a remote socket are high-risk behaviors consistent with a backdoor or RAT. Treat this component as hostile unless you have explicit, audited reason to trust it and robust operational controls. Remediate by removing the code, blocking outbound connections to unknown endpoints, enforcing TLS verification, adding strong authentication/authorization, and auditing systems for compromise.
@dingsongwong/security-research
1.0.3
by dingsongwong
Live on npm
Blocked by Socket
This file runs arbitrary commands on the host system and transmits their outputs to a remote server at malicious-endpoint[.]example[.]com (base64-decoded at runtime). It also fetches the system’s external IP address and reports it to the same server. Furthermore, it initiates a local tunnel, exposing local services to remote access without user awareness. Together, these capabilities facilitate unauthorized remote control, data exfiltration, and potentially open the system to further compromise.
pinokiod
3.8.22
by cocktailpeanut
Live on npm
Blocked by Socket
The SweetAlert2 library code is mostly benign and serves as a UI modal dialog tool. However, it contains a suspicious and potentially malicious snippet that targets Russian users on certain domains to play an unsolicited audio prank, disabling pointer events and potentially disrupting user interaction. This behavior is unexpected and should be considered a moderate security risk and potential malware. The rest of the code shows no signs of malicious intent. The provided reports were invalid and unhelpful. Users should be cautious about this version of the library due to the embedded prank behavior.
baron-baileys
2.2.6
by schwarzebaron
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.
achilles
0.0.170
Live on PyPI
Blocked by Socket
This module implements a remote-controlled worker node that deserializes dill payloads received over the network and executes deserialized Python callables locally (including via multiprocessing). That design allows remote code execution and information leakage (host IP and CPU count) with no authentication or validation. If used in an untrusted network or with an untrusted controller, this is a high-risk backdoor capability and should be treated as dangerous. Use only in tightly controlled/trusted environments, or replace dill with a safe, explicit protocol and add strong authentication and input validation.
mtmai
0.5.14
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
fca-horizon-remake
4.8.4
by horizonlucius
Removed from npm
Blocked by Socket
The code is heavily obfuscated and relies on dynamic evaluation of code, which makes it difficult to analyze its true intent through static analysis alone. The extensive use of eval, global object manipulation, and conditional checks suggests a high level of complexity that could be indicative of malicious behavior. Due to the obfuscated nature and the presence of several red flags, this code poses a significant security risk and should be treated with caution.
Live on npm for 32 minutes before removal. Socket users were protected even while the package was live.
fluro-ui
1.0.14
by jpdhackerone05
Removed from npm
Blocked by Socket
The source code exhibits behavior consistent with data exfiltration malware. It collects sensitive system information and sends it to external endpoints without user consent, posing a significant security risk.
Live on npm for 7 days, 2 hours and 23 minutes before removal. Socket users were protected even while the package was live.
azure-graphrbac
6.9.2
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 41 minutes before removal. Socket users were protected even while the package was live.
lol1234
1.2.0
by gaurishkvapt
Removed from npm
Blocked by Socket
This script is highly malicious as it attempts to exfiltrate sensitive system information and user data to an external server.
ivp.notification
1.0.12
by Pratham Shetty
Live on NuGet
Blocked by Socket
The code contains an explicit, targeted, time-delayed malicious payload that disables page interactivity and autoplays audio from a hardcoded third-party host for users with Russian language/browser settings on specific TLDs. This behavior is unrelated to the library's purpose and constitutes sabotage/harassment. Treat this package as malicious — remove, audit upstream, and replace with a clean version. Projects that depended on this version should rotate deployments, revert to a known-good release, and consider investigation of supply-chain compromise.
json-hook-trigger
1.3.0
by we684123
Live on npm
Blocked by Socket
This code contains critical security vulnerabilities through extensive use of eval() with unsanitized input and a plugin system that executes arbitrary file contents. The dynamic code execution capabilities make this extremely dangerous for supply chain attacks.
capesolo
0.4.15
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors consistent with tools intended to evade detection and modify system identity and state: changing MachineGuid/ProductId, modifying Office security and MRU entries, masking virtualization indicators, attempting system-level execution via psexec, and adding persistent routes. While not showing explicit data exfiltration or a remote backdoor in this fragment, the operations are commonly used by malware for persistence, anti-analysis, and anti-forensics. Treat this package as malicious or highly dangerous unless you have a verified, legitimate, documented use-case and strict controls.
@daffadeveloper/baileys
4.0.0
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.
relap-adroom
0.22.99
by zantadyl
Removed from npm
Blocked by Socket
The code is highly suspicious and exhibits behaviors consistent with malware, including data exfiltration through DNS and execution of remote code. It poses a significant security risk.
Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.
strsql2-mysql
1.0.0
by kongge
Removed from npm
Blocked by Socket
While the main functionality of the code appears to be legitimate for database management, the use of obfuscation and potentially encoded strings introduces suspicion. It's possible there could be hidden malicious functionality, but without deciphering the obfuscated parts or understanding the context of encoded strings, a definitive conclusion cannot be reached. Caution is advised.
Live on npm for 15 minutes before removal. Socket users were protected even while the package was live.
hackerman
0.10.9
Live on PyPI
Blocked by Socket
This module implements a likely malicious C2/backdoor client: it listens for commands over a DNS covert channel and can execute shell commands, change directories, and execute arbitrary Python code via exec/eval, then exfiltrate results. The absence of authentication, the covert transport, and presence of exec/eval constitute a high-severity security risk. Treat this package as malicious/untrusted and do not run it. Further investigation of related modules (transport, crypto, utils) is required to determine full scope.
github.com/milvus-io/milvus
v0.10.3-0.20211007072402-5c8ed75baf4e
Live on Go Modules
Blocked by Socket
This code implements an insecure, unauthenticated RPC mechanism that allows remote clients to cause arbitrary code execution and exfiltrate files/system information. Using pickle over an untrusted network and invoking methods by client-supplied names are severe supply-chain/backdoor risks. Do not deploy or reuse this code in production; it should be treated as a backdoor/untrusted remote-execution component unless wrapped with strong authentication, authorization, sandboxing, and safe serialization.
setup-assistant
0.1.6
Live on PyPI
Blocked by Socket
This module exhibits high-risk behavior for supply chain compromise: it contains a hardcoded GitHub personal access token and explicit routines that fetch and return repository-stored credentials/API keys. These flows enable programmatic secret retrieval and local persistence of OAuth tokens. There is no need to speculate beyond the file: treat this code as unsafe until the hardcoded token is removed, secrets audited, and secure secret-handling patterns (no hardcoded credentials, least-privilege tokens, secure storage for OAuth tokens, remove prints of secrets) are implemented. Immediate remediation recommended: remove hardcoded token, rotate any exposed tokens/keys, restrict repository access, and avoid returning raw secrets to callers.
mume-with-litvis
0.16.0
by kachkaev
Live on npm
Blocked by Socket
The branch of the codebase presents non-trivial security risks due to dynamic code execution pathways (allowUnsafeEval, allowUnsafeNewFunction, Function wrapper) and a dependency-loading mechanism (loadDependency) that can execute modules from disk based on untrusted inputs. These patterns create strong potential for supply-chain or runtime code injection if inputs/dependencies are tampered. While the rest of the utilities are common for an extension system, the unsafe pathways should be removed or tightly restricted, with explicit whitelisting, sandboxing, and input provenance checks. Recommended actions include eliminating or locking down unsafe evaluators, validating dependencyPath against allowed sets, isolating dependency execution, and minimizing writes to the user’s home directory without strict validation.
learning-pypi-demo-nisimi
0.1.3
Removed from PyPI
Blocked by Socket
This setup.py contains a top-level, unconditional os.system call that executes curl to an external, suspicious domain during import/installation. That behavior constitutes a high-risk supply-chain indicator (installation-time beaconing and potential staging for further payloads). Do not install or run this package in production or untrusted environments. Remove the os.system call or refuse the package until maintainers provide a verifiable, benign justification and replace any network operations with audited, explicit code executed only with user consent.
Live on PyPI for 5 minutes before removal. Socket users were protected even while the package was live.
xlpkg
1.0.0.120
Removed from PyPI
Blocked by Socket
The module is not overtly crypto-mining or actively destructive, but it contains many high-risk patterns: multiple hardcoded credentials and hostnames (SSH, MySQL, Jenkins), direct SSH/SFTP and SSHTunnel code paths, subprocess/os.system usage that can execute arbitrary shell commands, and eval() on constructed strings. These collectively create an easy avenue for credential leakage, unauthorized remote access and code execution if the package is distributed or if inputs can be controlled. I assess this as not obviously intentionally malicious code but as dangerously insecure and inappropriate for inclusion in public/shared dependencies without remediation.
Live on PyPI for 5 hours and 1 minute before removal. Socket users were protected even while the package was live.
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.