
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.
passagemath-macaulay2
10.6.40
Removed from PyPI
Blocked by Socket
This install script performs a destructive filesystem operation (removing the katex directory) and then executes an unknown command. Even if not overtly labeled as malware, it poses a high risk: it can cause data loss and enables execution of arbitrary code. You should not run this without inspecting the package contents and verifying what `copy-files-from-to` refers to and why katex is being removed.
Live on PyPI for 5 hours and 48 minutes before removal. Socket users were protected even while the package was live.
elf-stats-piney-icicle-501
1.0.9
by xaelo
Live on npm
Blocked by Socket
This code is an explicit exfiltration primitive: it will POST any caller-supplied data to a hard-coded external webhook. Treat it as high risk. If found in a package, remove or disable the call, audit all call sites to determine what data may have been transmitted, and rotate any credentials or secrets that may have been exposed. If the code was intended for testing, replace with a non-production-safe stub or guard it behind explicit opt-in and environment checks.
azure-graphrbac
5.3.5
Removed from npm
Blocked by Socket
The code is designed to exfiltrate system and project data to external servers without user consent, indicating malicious intent. The behavior poses a significant security risk.
Live on npm for 2 hours and 4 minutes before removal. Socket users were protected even while the package was live.
sweetalert2
11.15.1
by limonte
Live on npm
Blocked by Socket
The analyzed source code is primarily a legitimate implementation of the SweetAlert2 modal popup library. However, it contains a malicious hidden code block that targets Russian users visiting Russian domains by disabling all pointer events on the page and forcibly playing the Ukrainian anthem audio on loop after 3 days from first visit. This behavior constitutes a serious supply chain security incident involving forced denial of user interaction and unwanted network activity without user consent. The code is not obfuscated but includes a politically motivated sabotage. Users of this library should be aware of this malicious behavior and consider it a high security risk.
torchmonarch-nightly
2025.9.4
Live on PyPI
Blocked by Socket
This module is functionally a supervisor that uses pickle-based serialization over ZeroMQ. The code contains high-risk unsafe deserialization: it accepts pickle-formatted data from sockets (recv_multipart / recv_pyobj) and unpickles it without validation, then performs dynamic dispatch based on untrusted data. The temporary monkey-patch of torch.storage._load_from_bytes inside pickle_loads increases the attack surface for malicious payloads that embed torch storage objects. There are no authentication or integrity checks on incoming messages. Therefore the code is unsafe to use in untrusted-network environments: an attacker who can send messages to the supervisor sockets (or control SUPERVISOR_PIPE/SUPERVISOR_IDENT) can achieve remote code execution. No other explicit exfiltration, cryptomining, or backdoor code is present in this fragment, but the deserialization pattern makes arbitrary malicious behavior possible.
ailever
1.0.27
Live on PyPI
Blocked by Socket
This script is a high-risk launcher: it unconditionally fetches Python code from a hardcoded remote repo and executes it locally via a shell-invoked Python process while passing unsanitized user inputs directly into the shell command. Even if the upstream repository is currently benign, the pattern enables trivial supply-chain compromise and shell injection. Mitigations: remove runtime download-and-exec; if fetching is necessary, pin and verify cryptographic hashes or signatures, validate content, avoid os.system (use subprocess with argument lists or importlib), sanitize inputs, and add error handling and logging. Treat this module as unsafe in security-sensitive environments until hardened.
modernizr-custom
70.814.600
Removed from npm
Blocked by Socket
The code is engaging in potentially malicious activity by exfiltrating environment variables to an external server. The obfuscation further suggests an attempt to conceal this behavior.
Live on npm for 1 hour and 7 minutes before removal. Socket users were protected even while the package was live.
bane
3.0.2
Live on PyPI
Blocked by Socket
This module is a DDoS/DoS toolkit implementing many network attack vectors (floods, amplification, spoofing, proxy/TOR routing, Cloudflare bypass). It is intentionally malicious: designed to send large volumes of traffic, craft spoofed raw packets, use proxies and TOR to obfuscate origin, and bypass protections. It should be treated as malware and removed; do not install or run this package. If found as a dependency in a project, consider it a severe supply-chain compromise and take remediation steps (remove dependency, audit systems where it was installed, rotate credentials, check for persistence).
esp32-deauth
0.3.0
Live on PyPI
Blocked by Socket
This module is an offensive Wi‑Fi attack client designed to control an ESP32 ManagementAP and perform disruptive actions (deauthentication/DoS and capture PMKID/handshakes). It uses subprocess calls to modify host network state and writes WiFi credentials to a temporary file on Windows. There is no evidence of stealthy exfiltration or obfuscated backdoors, but the tool’s functionality is inherently malicious/abusive and poses high risk if deployed or executed on systems without explicit authorization. Additionally, the provided fragment contains a syntax error (display_menu) and some unsafe parsing assumptions. Use of this code should be avoided unless you have legal authorization and institutional approval to perform wireless security testing.
grid-settings
14.1.2
by vladyslav-futur
Live on npm
Blocked by Socket
This module contains a high-severity remote-code-execution pattern: unifyFlow fetches remote content and executes it via eval(JSON.parse(body)) without validation or integrity checks. The function has hardcoded remote defaults (ip-api-check-nine.vercel.app and token '142') and silent retry behavior, making it appear backdoor-like. Treat this as malicious or extremely dangerous for production use. Immediate remediation: remove or disable remote-eval behavior, never use eval on network data, add cryptographic signing/verification if remote code execution is required, or redesign to use explicit, validated data-driven actions. Avoid using this package until the behavior is fixed or audited.
debug-mj
1.0.0
by mjprkm
Live on npm
Blocked by Socket
High-confidence malicious code. This payload is a supply-chain worm and browser wallet hijacker that modifies node_modules to propagate and monkey-patches the browser Ethereum provider to redirect transactions to an attacker address while exfiltrating data to an external webhook. Do not execute; treat any repository containing this as compromised, remove infected modules, rotate secrets and keys, and audit installs for additional tampering.
fhempy
0.1.9
Live on PyPI
Blocked by Socket
The code performs several potentially risky operations such as downloading and executing binaries from external sources, running network services, and using Telnet for remote command execution. These actions pose significant security risks, including the possibility of introducing malicious code and exposing the system to network-based attacks. However, there is no explicit evidence of malicious intent in the code itself.
grabathon-4.0
7.7.8
by golf369
Removed from npm
Blocked by Socket
This code poses a significant security risk and should not be used.
Live on npm for 4 hours and 57 minutes before removal. Socket users were protected even while the package was live.
ailever
0.3.69
Live on PyPI
Blocked by Socket
The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).
meutils
2025.1.17.19.49.29
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.
ldhpgemrdhs92007
1.250820.11412
by ongtrieuhau861.001
Live on npm
Blocked by Socket
This file implements an unattended update mechanism that fetches and installs .tgz archives from unverified remote sources—both the npm registry (registry[.]npmjs[.]org) and a configurable Firebase-style database URL—by downloading, extracting them into the application directory and then restarting PM2-managed processes. Because there is no cryptographic signature or checksum validation beyond a simple version check, a compromised registry account or database endpoint could deliver arbitrary code to every host running this updater. Additionally, on startup the script gathers extensive system and package metadata—including public IP (via api[.]ipify[.]org), local IP addresses, hostname, OS/platform, Node.js version, CPU/memory statistics, load averages, working directory and package.json fields—and posts it to a configurable Discord webhook endpoint (discordapp[.]com). This behavior poses both a supply-chain risk and a telemetry/privacy exposure risk, as sensitive host information is sent to an external service without explicit user consent or granular control.
brainsmatics
1.1.24
Live on npm
Blocked by Socket
This code contains an explicit client-side network exfiltration path: user-provided queries (function parameter t) are POSTed to a hardcoded endpoint (http://192.168.80.125/v1/chat-messages) with a hardcoded Bearer token (app-wwXbOwNFKFkm0wqEiGijqmg2). That is a serious supply-chain / credential-exposure issue. If this bundle is shipped to users, it will leak user queries and related data to the endpoint; the embedded token also allows unintended parties to call that API if they extract the token. Treat this as malicious or severely insecure: remove hardcoded credentials, do not embed secret keys in client bundles, and validate the intended endpoint and deployment configuration. Additional auditing is required to find where mxn is invoked in the application.
ailever
0.2.783
Live on PyPI
Blocked by Socket
The code exhibits a dangerous remote code execution pattern: it downloads and immediately runs a remote Python payload without integrity checks, sandboxing, or input validation. This creates a severe supply-chain and runtime security risk. Recommended mitigations include removing dynamic downloads, validating payloads with cryptographic hashes or signatures, using safe subprocess invocations with argument lists, and implementing strict input sanitization. If remote functionality must remain, switch to a trusted-internal mechanism (e.g., plugin architecture with signed components, offline verification) and add robust error handling and logging.
smartchart
6.9.2
Live on PyPI
Blocked by Socket
This module is a loader that intentionally conceals its behavior by encoding two payloads and dynamically executing them. Its design (exec of embedded compressed blobs, opaque identifiers, two-stage staging) is a high-risk pattern consistent with backdoors or supply-chain malware. Without further decoding of the embedded blobs we cannot assert specific malicious actions, but the presence of immediate dynamic execution of hidden code justifies treating the package as potentially malicious and unsuitable for trusted environments until the payloads are inspected in isolation.
tidpz
0.0.7
by zon
Live on RubyGems.org
Blocked by Socket
**tidpz** presents itself as a Windows-only TikTok engagement booster, pitching grey-hat marketers on bulk likes, comments, and follows. When started it shows a Korean-language Glimmer-DSL-LibUI dialog that requests the operator’s TikTok username and password. The moment those credentials are entered (before any automation begins) the script silently bundles the plaintext username, password, and the host’s MAC address and exfiltrates the package via HTTPS POST to `https://programzon[.]com/auth/program/signin`, a server controlled by the *zon* threat actor. The MAC address serves as a hardware fingerprint, letting the threat actor correlate victims across installations and campaigns. Although the gem does carry out its promised engagement routine, this hidden exfiltration turns **tidpz** into an infostealer: users seeking aggressive TikTok growth instead hand over their own sensitive credentials to the threat actor behind the wider “zon” malware cluster.
ntchat2
0.0.1
Removed from PyPI
Blocked by Socket
The code contains a potential security risk due to the invocation of an external executable without sufficient validation. The use of subprocess.run() to execute faker.exe could lead to malicious behavior if the executable is harmful. The overall assessment suggests moderate concern regarding malware and security risks.
Live on PyPI for 8 minutes before removal. Socket users were protected even while the package was live.
@goes-funky/y42-vscode
99.99.99
Live on npm
Blocked by Socket
This install script retrieves remote code over an unencrypted connection and stores it locally. Even though it does not itself execute the file, downloading unverified code during install is a high-risk behavior: the fetched file could contain malware, enable telemetry, or be executed later by another step. Treat this as suspicious and potentially malicious; inspect the downloaded file, block or sandbox the network fetch, or remove the command.
kasms
1.0.189
by psych0124
Removed from npm
Blocked by Socket
The code takes a base64 encoded string, decodes it, and evaluates it using the 'eval' function. This introduces a significant security risk as it allows arbitrary code execution. The code should be considered dangerous and should not be used.
Live on npm for 50 minutes before removal. Socket users were protected even while the package was live.
passagemath-macaulay2
10.6.40
Removed from PyPI
Blocked by Socket
This install script performs a destructive filesystem operation (removing the katex directory) and then executes an unknown command. Even if not overtly labeled as malware, it poses a high risk: it can cause data loss and enables execution of arbitrary code. You should not run this without inspecting the package contents and verifying what `copy-files-from-to` refers to and why katex is being removed.
Live on PyPI for 5 hours and 48 minutes before removal. Socket users were protected even while the package was live.
elf-stats-piney-icicle-501
1.0.9
by xaelo
Live on npm
Blocked by Socket
This code is an explicit exfiltration primitive: it will POST any caller-supplied data to a hard-coded external webhook. Treat it as high risk. If found in a package, remove or disable the call, audit all call sites to determine what data may have been transmitted, and rotate any credentials or secrets that may have been exposed. If the code was intended for testing, replace with a non-production-safe stub or guard it behind explicit opt-in and environment checks.
azure-graphrbac
5.3.5
Removed from npm
Blocked by Socket
The code is designed to exfiltrate system and project data to external servers without user consent, indicating malicious intent. The behavior poses a significant security risk.
Live on npm for 2 hours and 4 minutes before removal. Socket users were protected even while the package was live.
sweetalert2
11.15.1
by limonte
Live on npm
Blocked by Socket
The analyzed source code is primarily a legitimate implementation of the SweetAlert2 modal popup library. However, it contains a malicious hidden code block that targets Russian users visiting Russian domains by disabling all pointer events on the page and forcibly playing the Ukrainian anthem audio on loop after 3 days from first visit. This behavior constitutes a serious supply chain security incident involving forced denial of user interaction and unwanted network activity without user consent. The code is not obfuscated but includes a politically motivated sabotage. Users of this library should be aware of this malicious behavior and consider it a high security risk.
torchmonarch-nightly
2025.9.4
Live on PyPI
Blocked by Socket
This module is functionally a supervisor that uses pickle-based serialization over ZeroMQ. The code contains high-risk unsafe deserialization: it accepts pickle-formatted data from sockets (recv_multipart / recv_pyobj) and unpickles it without validation, then performs dynamic dispatch based on untrusted data. The temporary monkey-patch of torch.storage._load_from_bytes inside pickle_loads increases the attack surface for malicious payloads that embed torch storage objects. There are no authentication or integrity checks on incoming messages. Therefore the code is unsafe to use in untrusted-network environments: an attacker who can send messages to the supervisor sockets (or control SUPERVISOR_PIPE/SUPERVISOR_IDENT) can achieve remote code execution. No other explicit exfiltration, cryptomining, or backdoor code is present in this fragment, but the deserialization pattern makes arbitrary malicious behavior possible.
ailever
1.0.27
Live on PyPI
Blocked by Socket
This script is a high-risk launcher: it unconditionally fetches Python code from a hardcoded remote repo and executes it locally via a shell-invoked Python process while passing unsanitized user inputs directly into the shell command. Even if the upstream repository is currently benign, the pattern enables trivial supply-chain compromise and shell injection. Mitigations: remove runtime download-and-exec; if fetching is necessary, pin and verify cryptographic hashes or signatures, validate content, avoid os.system (use subprocess with argument lists or importlib), sanitize inputs, and add error handling and logging. Treat this module as unsafe in security-sensitive environments until hardened.
modernizr-custom
70.814.600
Removed from npm
Blocked by Socket
The code is engaging in potentially malicious activity by exfiltrating environment variables to an external server. The obfuscation further suggests an attempt to conceal this behavior.
Live on npm for 1 hour and 7 minutes before removal. Socket users were protected even while the package was live.
bane
3.0.2
Live on PyPI
Blocked by Socket
This module is a DDoS/DoS toolkit implementing many network attack vectors (floods, amplification, spoofing, proxy/TOR routing, Cloudflare bypass). It is intentionally malicious: designed to send large volumes of traffic, craft spoofed raw packets, use proxies and TOR to obfuscate origin, and bypass protections. It should be treated as malware and removed; do not install or run this package. If found as a dependency in a project, consider it a severe supply-chain compromise and take remediation steps (remove dependency, audit systems where it was installed, rotate credentials, check for persistence).
esp32-deauth
0.3.0
Live on PyPI
Blocked by Socket
This module is an offensive Wi‑Fi attack client designed to control an ESP32 ManagementAP and perform disruptive actions (deauthentication/DoS and capture PMKID/handshakes). It uses subprocess calls to modify host network state and writes WiFi credentials to a temporary file on Windows. There is no evidence of stealthy exfiltration or obfuscated backdoors, but the tool’s functionality is inherently malicious/abusive and poses high risk if deployed or executed on systems without explicit authorization. Additionally, the provided fragment contains a syntax error (display_menu) and some unsafe parsing assumptions. Use of this code should be avoided unless you have legal authorization and institutional approval to perform wireless security testing.
grid-settings
14.1.2
by vladyslav-futur
Live on npm
Blocked by Socket
This module contains a high-severity remote-code-execution pattern: unifyFlow fetches remote content and executes it via eval(JSON.parse(body)) without validation or integrity checks. The function has hardcoded remote defaults (ip-api-check-nine.vercel.app and token '142') and silent retry behavior, making it appear backdoor-like. Treat this as malicious or extremely dangerous for production use. Immediate remediation: remove or disable remote-eval behavior, never use eval on network data, add cryptographic signing/verification if remote code execution is required, or redesign to use explicit, validated data-driven actions. Avoid using this package until the behavior is fixed or audited.
debug-mj
1.0.0
by mjprkm
Live on npm
Blocked by Socket
High-confidence malicious code. This payload is a supply-chain worm and browser wallet hijacker that modifies node_modules to propagate and monkey-patches the browser Ethereum provider to redirect transactions to an attacker address while exfiltrating data to an external webhook. Do not execute; treat any repository containing this as compromised, remove infected modules, rotate secrets and keys, and audit installs for additional tampering.
fhempy
0.1.9
Live on PyPI
Blocked by Socket
The code performs several potentially risky operations such as downloading and executing binaries from external sources, running network services, and using Telnet for remote command execution. These actions pose significant security risks, including the possibility of introducing malicious code and exposing the system to network-based attacks. However, there is no explicit evidence of malicious intent in the code itself.
grabathon-4.0
7.7.8
by golf369
Removed from npm
Blocked by Socket
This code poses a significant security risk and should not be used.
Live on npm for 4 hours and 57 minutes before removal. Socket users were protected even while the package was live.
ailever
0.3.69
Live on PyPI
Blocked by Socket
The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).
meutils
2025.1.17.19.49.29
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.
ldhpgemrdhs92007
1.250820.11412
by ongtrieuhau861.001
Live on npm
Blocked by Socket
This file implements an unattended update mechanism that fetches and installs .tgz archives from unverified remote sources—both the npm registry (registry[.]npmjs[.]org) and a configurable Firebase-style database URL—by downloading, extracting them into the application directory and then restarting PM2-managed processes. Because there is no cryptographic signature or checksum validation beyond a simple version check, a compromised registry account or database endpoint could deliver arbitrary code to every host running this updater. Additionally, on startup the script gathers extensive system and package metadata—including public IP (via api[.]ipify[.]org), local IP addresses, hostname, OS/platform, Node.js version, CPU/memory statistics, load averages, working directory and package.json fields—and posts it to a configurable Discord webhook endpoint (discordapp[.]com). This behavior poses both a supply-chain risk and a telemetry/privacy exposure risk, as sensitive host information is sent to an external service without explicit user consent or granular control.
brainsmatics
1.1.24
Live on npm
Blocked by Socket
This code contains an explicit client-side network exfiltration path: user-provided queries (function parameter t) are POSTed to a hardcoded endpoint (http://192.168.80.125/v1/chat-messages) with a hardcoded Bearer token (app-wwXbOwNFKFkm0wqEiGijqmg2). That is a serious supply-chain / credential-exposure issue. If this bundle is shipped to users, it will leak user queries and related data to the endpoint; the embedded token also allows unintended parties to call that API if they extract the token. Treat this as malicious or severely insecure: remove hardcoded credentials, do not embed secret keys in client bundles, and validate the intended endpoint and deployment configuration. Additional auditing is required to find where mxn is invoked in the application.
ailever
0.2.783
Live on PyPI
Blocked by Socket
The code exhibits a dangerous remote code execution pattern: it downloads and immediately runs a remote Python payload without integrity checks, sandboxing, or input validation. This creates a severe supply-chain and runtime security risk. Recommended mitigations include removing dynamic downloads, validating payloads with cryptographic hashes or signatures, using safe subprocess invocations with argument lists, and implementing strict input sanitization. If remote functionality must remain, switch to a trusted-internal mechanism (e.g., plugin architecture with signed components, offline verification) and add robust error handling and logging.
smartchart
6.9.2
Live on PyPI
Blocked by Socket
This module is a loader that intentionally conceals its behavior by encoding two payloads and dynamically executing them. Its design (exec of embedded compressed blobs, opaque identifiers, two-stage staging) is a high-risk pattern consistent with backdoors or supply-chain malware. Without further decoding of the embedded blobs we cannot assert specific malicious actions, but the presence of immediate dynamic execution of hidden code justifies treating the package as potentially malicious and unsuitable for trusted environments until the payloads are inspected in isolation.
tidpz
0.0.7
by zon
Live on RubyGems.org
Blocked by Socket
**tidpz** presents itself as a Windows-only TikTok engagement booster, pitching grey-hat marketers on bulk likes, comments, and follows. When started it shows a Korean-language Glimmer-DSL-LibUI dialog that requests the operator’s TikTok username and password. The moment those credentials are entered (before any automation begins) the script silently bundles the plaintext username, password, and the host’s MAC address and exfiltrates the package via HTTPS POST to `https://programzon[.]com/auth/program/signin`, a server controlled by the *zon* threat actor. The MAC address serves as a hardware fingerprint, letting the threat actor correlate victims across installations and campaigns. Although the gem does carry out its promised engagement routine, this hidden exfiltration turns **tidpz** into an infostealer: users seeking aggressive TikTok growth instead hand over their own sensitive credentials to the threat actor behind the wider “zon” malware cluster.
ntchat2
0.0.1
Removed from PyPI
Blocked by Socket
The code contains a potential security risk due to the invocation of an external executable without sufficient validation. The use of subprocess.run() to execute faker.exe could lead to malicious behavior if the executable is harmful. The overall assessment suggests moderate concern regarding malware and security risks.
Live on PyPI for 8 minutes before removal. Socket users were protected even while the package was live.
@goes-funky/y42-vscode
99.99.99
Live on npm
Blocked by Socket
This install script retrieves remote code over an unencrypted connection and stores it locally. Even though it does not itself execute the file, downloading unverified code during install is a high-risk behavior: the fetched file could contain malware, enable telemetry, or be executed later by another step. Treat this as suspicious and potentially malicious; inspect the downloaded file, block or sandbox the network fetch, or remove the command.
kasms
1.0.189
by psych0124
Removed from npm
Blocked by Socket
The code takes a base64 encoded string, decodes it, and evaluates it using the 'eval' function. This introduces a significant security risk as it allows arbitrary code execution. The code should be considered dangerous and should not be used.
Live on npm for 50 minutes 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.