Latest Threat Research:Malicious dYdX Packages Published to npm and PyPI After Maintainer Compromise.Details
Socket
Book a DemoInstallSign in
Socket

Secure your dependencies. Ship with confidence.

Socket is a developer-first security platform that protects your code from both vulnerable and malicious dependencies.

Install GitHub AppBook a Demo

Find and compare millions of open source packages

Quickly evaluate the security and health of any open source package.

jquery
t

timmywil published 4.0.0

left-pad
s

stevemao published 1.3.0

react
r

react-bot published 19.2.4

We protect you from vulnerable and malicious packages

ailever

0.2.582

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.

torchmonarch

0.2.0

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.

koho-charity-api

1.0.2

by cysky0x3

Removed from npm

Blocked by Socket

The script is designed to collect sensitive information about the user and send it to an external server, which is malicious behavior.

Live on npm for 26 days, 4 hours and 59 minutes before removal. Socket users were protected even while the package was live.

captcha-paypal

2.0.0

by bluehck2555

Live on npm

Blocked by Socket

This preinstall script attempts to exfiltrate environment information (hostname and username) to a remote server at install time. This is malicious/spyware-like behavior (unauthorized telemetry/data exfiltration) and poses a high security risk. The script should be treated as malicious, avoid installing the package, and investigate any systems where it ran.

install-all-setup

0.1.0

Live on PyPI

Blocked by Socket

This code implements a high-risk remote-download-and-execute pattern: it obfuscates a PowerShell command that downloads a BAT file over HTTP to %TEMP% and executes it with execution-policy bypass and hidden UI. Treat as malicious or compromised until proven otherwise. Do NOT run this code in a production or trusted environment; block the URL, remove the code, and investigate any systems where it ran.

bsrag-unstructured

0.3.8.2

Live on PyPI

Blocked by Socket

The code is a configuration loader with a critical insecure pattern: it eval()s configuration-provided 'filter' expressions when constructing logger handlers. That results in an arbitrary code execution vector if an attacker can modify the YAML config or influence which config file is loaded via environment. No direct hard-coded malware is present in the snippet, but the eval makes the module unsafe for use with untrusted configuration sources. Replace eval with a safe, explicit filter factory or validated parser and validate sink targets to mitigate the supply-chain/operational risk.

eacfix

1.7.6

by h333

Removed from npm

Blocked by Socket

The code is potentially malicious as it writes and executes an unknown binary with elevated privileges. This behavior is indicative of malware and poses a high security risk.

Live on npm for 14 days, 5 hours and 59 minutes before removal. Socket users were protected even while the package was live.

god-listener

1.2.0

by 17b4a931

Removed from npm

Blocked by Socket

This code poses a serious security risk and should not be used.

Live on npm for 23 minutes before removal. Socket users were protected even while the package was live.

vexi

9999.9999.9999

by Ohio Schools R1 Admin

Live on RubyGems.org

Blocked by Socket

This code collects system-identifying data (username, hostname, file path), hex-encodes it, constructs a domain under a hardcoded external base ('furb.pw') embedding that data into subdomain labels, and issues an HTTPS GET to that domain — a clear data-exfiltration pattern. The behavior is malicious or at minimum privacy-invasive telemetry sent to an external third party. The package should not be trusted or used without removal of the network exfiltration logic and a full audit.

trustwise

2.1.4

Removed from PyPI

Blocked by Socket

This code exhibits high-risk behavior: it sends API keys in URL query parameters to a hardcoded numeric IP over plain HTTP, which can result in credential exfiltration. Additional issues include an exception-handling bug (returning undefined 'Non'), lack of timeouts/authentication/TLS, and unvalidated propagation of remote JSON. Treat this code as suspicious until the remote endpoint and purpose are verified. Remediation: use HTTPS, send keys in Authorization header or request body, avoid hardcoded IPs, add timeouts and proper error handling, validate returned JSON, and verify the owner of the remote service before trusting it.

Live on PyPI for 9 hours and 25 minutes before removal. Socket users were protected even while the package was live.

jupyterlab-amphi

0.8.27

Live on PyPI

Blocked by Socket

Overall this package appears to be a legitimate JupyterLab extension with normal build/setup scripts. However, there are two security concerns: 1) The resolutions override redirects @amphi/pipeline-components-manager to a local file: path (file:./../pipeline-components-manager). Per the provided critical rules, redirecting or resolving dependencies to non-registry sources (file:, git:, tarball:, etc.) and using resolutions/overrides for that is a known supply-chain attack vector and should be considered high-risk. 2) The inclusion of posthog-js introduces a telemetry/analytics capability that could exfiltrate usage data depending on runtime behavior. You should inspect the local package at ../pipeline-components-manager and any post-install or runtime code that initializes posthog to confirm there is no malicious behavior or data exfiltration. If you cannot verify the local filesystem package or if this package.json is published to a registry but the resolution forces a local path, treat this as a high supply-chain risk.

nexon-js

4.7.8

by nexonnjs

Removed from npm

Blocked by Socket

The code appears to implement a complex scraping and data manipulation tool, with a focus on web content and media. While scraping and media handling in itself is not inherently malicious, the obfuscated function at the beginning raises suspicions about the intent of the code. The hardcoded values and potential file operations also warrant caution. However, there is not enough evidence to conclusively determine the presence of malware without a clearer understanding of the URLs being accessed and the full context of the code's use.

Live on npm for 16 minutes before removal. Socket users were protected even while the package was live.

github.com/milvus-io/milvus

v0.10.3-0.20211021144711-d9abce676449

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.

core-guest-loop-routes

99.99.99

by lob0

Removed from npm

Blocked by Socket

The code is collecting and encrypting system information, then sending it to an external domain (spacehog.net) via DNS lookups and an HTTP GET request. This behavior is highly suspicious and indicative of potential data exfiltration. The hardcoded password and use of execSync add to the security concerns.

Live on npm for 18 minutes before removal. Socket users were protected even while the package was live.

moapy

0.6.8

Removed from PyPI

Blocked by Socket

This script performs potentially dangerous operations: it gathers local source and metadata and uploads them to remote services, reads credentials from environment variables and obtains a token which it forwards to a local service, and includes a hard-coded API key used to call an external execution endpoint. These behaviors constitute data-exfiltration and credential-leakage risks. While there is no explicit evidence of destructive malware (no reverse shell, no obfuscation, no direct system-damage commands), the presence of embedded secrets and automatic upload/execution of local code make this high-risk in terms of supply-chain or privacy/security exposure. I recommend not running this code in sensitive environments, removing hardcoded keys, and avoiding automatic upload of local source without explicit, authenticated, and audited consent.

Live on PyPI for 52 minutes before removal. Socket users were protected even while the package was live.

wagmi-adapter

1.0.2

by penetrationtester

Removed from npm

Blocked by Socket

The source code is highly suspicious and likely malicious, as it attempts to exfiltrate sensitive data such as Chrome passwords and execute commands via Discord. The code is obfuscated, which is often used to hide malicious intent. The risk of data theft and unauthorized access is significant.

Live on npm for 2 days, 2 hours and 14 minutes before removal. Socket users were protected even while the package was live.

ory-config

100.0.0

by faique

Removed from npm

Blocked by Socket

The script is making a request to a remote server, which can be potentially risky. The content of the response and the purpose of this request should be further investigated to determine if it poses any security risks.

Live on npm for 14 hours and 31 minutes before removal. Socket users were protected even while the package was live.

rqeactjs

1.1.2

by nepz

Live on npm

Blocked by Socket

This code is malicious. It performs unauthorized data exfiltration of system network interface IP addresses and hostname to an attacker-controlled Discord webhook. This behavior constitutes malware and poses a high security risk. The code is clear and not obfuscated, but the embedded webhook and silent transmission of system information without user consent make it dangerous and privacy-invasive.

ailever

0.2.861

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.

sbcli-dev

10.1.38

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).

sbcli-dev-spdk

1.0.4

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).

@aztec/noir-protocol-circuits-types

0.77.0-testnet-ignition.17

by charlielye

Live on npm

Blocked by Socket

The fragment strongly indicates a hidden, potentially malicious payload delivered via an opaque base64 blob with minimal visible logic. The risk of supply-chain compromise is high unless there is a transparent, verifiable decoding/execution pathway. Recommended actions: isolate the artifact, locate and review the exact decoding/execution code, search for eval-like constructs or dynamic imports, attempt to deobfuscate, and replace with auditable resources. If decoding/execution cannot be justified, remove the payload.

mtmai

0.3.1176

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.

ailever

0.2.582

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.

torchmonarch

0.2.0

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.

koho-charity-api

1.0.2

by cysky0x3

Removed from npm

Blocked by Socket

The script is designed to collect sensitive information about the user and send it to an external server, which is malicious behavior.

Live on npm for 26 days, 4 hours and 59 minutes before removal. Socket users were protected even while the package was live.

captcha-paypal

2.0.0

by bluehck2555

Live on npm

Blocked by Socket

This preinstall script attempts to exfiltrate environment information (hostname and username) to a remote server at install time. This is malicious/spyware-like behavior (unauthorized telemetry/data exfiltration) and poses a high security risk. The script should be treated as malicious, avoid installing the package, and investigate any systems where it ran.

install-all-setup

0.1.0

Live on PyPI

Blocked by Socket

This code implements a high-risk remote-download-and-execute pattern: it obfuscates a PowerShell command that downloads a BAT file over HTTP to %TEMP% and executes it with execution-policy bypass and hidden UI. Treat as malicious or compromised until proven otherwise. Do NOT run this code in a production or trusted environment; block the URL, remove the code, and investigate any systems where it ran.

bsrag-unstructured

0.3.8.2

Live on PyPI

Blocked by Socket

The code is a configuration loader with a critical insecure pattern: it eval()s configuration-provided 'filter' expressions when constructing logger handlers. That results in an arbitrary code execution vector if an attacker can modify the YAML config or influence which config file is loaded via environment. No direct hard-coded malware is present in the snippet, but the eval makes the module unsafe for use with untrusted configuration sources. Replace eval with a safe, explicit filter factory or validated parser and validate sink targets to mitigate the supply-chain/operational risk.

eacfix

1.7.6

by h333

Removed from npm

Blocked by Socket

The code is potentially malicious as it writes and executes an unknown binary with elevated privileges. This behavior is indicative of malware and poses a high security risk.

Live on npm for 14 days, 5 hours and 59 minutes before removal. Socket users were protected even while the package was live.

god-listener

1.2.0

by 17b4a931

Removed from npm

Blocked by Socket

This code poses a serious security risk and should not be used.

Live on npm for 23 minutes before removal. Socket users were protected even while the package was live.

vexi

9999.9999.9999

by Ohio Schools R1 Admin

Live on RubyGems.org

Blocked by Socket

This code collects system-identifying data (username, hostname, file path), hex-encodes it, constructs a domain under a hardcoded external base ('furb.pw') embedding that data into subdomain labels, and issues an HTTPS GET to that domain — a clear data-exfiltration pattern. The behavior is malicious or at minimum privacy-invasive telemetry sent to an external third party. The package should not be trusted or used without removal of the network exfiltration logic and a full audit.

trustwise

2.1.4

Removed from PyPI

Blocked by Socket

This code exhibits high-risk behavior: it sends API keys in URL query parameters to a hardcoded numeric IP over plain HTTP, which can result in credential exfiltration. Additional issues include an exception-handling bug (returning undefined 'Non'), lack of timeouts/authentication/TLS, and unvalidated propagation of remote JSON. Treat this code as suspicious until the remote endpoint and purpose are verified. Remediation: use HTTPS, send keys in Authorization header or request body, avoid hardcoded IPs, add timeouts and proper error handling, validate returned JSON, and verify the owner of the remote service before trusting it.

Live on PyPI for 9 hours and 25 minutes before removal. Socket users were protected even while the package was live.

jupyterlab-amphi

0.8.27

Live on PyPI

Blocked by Socket

Overall this package appears to be a legitimate JupyterLab extension with normal build/setup scripts. However, there are two security concerns: 1) The resolutions override redirects @amphi/pipeline-components-manager to a local file: path (file:./../pipeline-components-manager). Per the provided critical rules, redirecting or resolving dependencies to non-registry sources (file:, git:, tarball:, etc.) and using resolutions/overrides for that is a known supply-chain attack vector and should be considered high-risk. 2) The inclusion of posthog-js introduces a telemetry/analytics capability that could exfiltrate usage data depending on runtime behavior. You should inspect the local package at ../pipeline-components-manager and any post-install or runtime code that initializes posthog to confirm there is no malicious behavior or data exfiltration. If you cannot verify the local filesystem package or if this package.json is published to a registry but the resolution forces a local path, treat this as a high supply-chain risk.

nexon-js

4.7.8

by nexonnjs

Removed from npm

Blocked by Socket

The code appears to implement a complex scraping and data manipulation tool, with a focus on web content and media. While scraping and media handling in itself is not inherently malicious, the obfuscated function at the beginning raises suspicions about the intent of the code. The hardcoded values and potential file operations also warrant caution. However, there is not enough evidence to conclusively determine the presence of malware without a clearer understanding of the URLs being accessed and the full context of the code's use.

Live on npm for 16 minutes before removal. Socket users were protected even while the package was live.

github.com/milvus-io/milvus

v0.10.3-0.20211021144711-d9abce676449

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.

core-guest-loop-routes

99.99.99

by lob0

Removed from npm

Blocked by Socket

The code is collecting and encrypting system information, then sending it to an external domain (spacehog.net) via DNS lookups and an HTTP GET request. This behavior is highly suspicious and indicative of potential data exfiltration. The hardcoded password and use of execSync add to the security concerns.

Live on npm for 18 minutes before removal. Socket users were protected even while the package was live.

moapy

0.6.8

Removed from PyPI

Blocked by Socket

This script performs potentially dangerous operations: it gathers local source and metadata and uploads them to remote services, reads credentials from environment variables and obtains a token which it forwards to a local service, and includes a hard-coded API key used to call an external execution endpoint. These behaviors constitute data-exfiltration and credential-leakage risks. While there is no explicit evidence of destructive malware (no reverse shell, no obfuscation, no direct system-damage commands), the presence of embedded secrets and automatic upload/execution of local code make this high-risk in terms of supply-chain or privacy/security exposure. I recommend not running this code in sensitive environments, removing hardcoded keys, and avoiding automatic upload of local source without explicit, authenticated, and audited consent.

Live on PyPI for 52 minutes before removal. Socket users were protected even while the package was live.

wagmi-adapter

1.0.2

by penetrationtester

Removed from npm

Blocked by Socket

The source code is highly suspicious and likely malicious, as it attempts to exfiltrate sensitive data such as Chrome passwords and execute commands via Discord. The code is obfuscated, which is often used to hide malicious intent. The risk of data theft and unauthorized access is significant.

Live on npm for 2 days, 2 hours and 14 minutes before removal. Socket users were protected even while the package was live.

ory-config

100.0.0

by faique

Removed from npm

Blocked by Socket

The script is making a request to a remote server, which can be potentially risky. The content of the response and the purpose of this request should be further investigated to determine if it poses any security risks.

Live on npm for 14 hours and 31 minutes before removal. Socket users were protected even while the package was live.

rqeactjs

1.1.2

by nepz

Live on npm

Blocked by Socket

This code is malicious. It performs unauthorized data exfiltration of system network interface IP addresses and hostname to an attacker-controlled Discord webhook. This behavior constitutes malware and poses a high security risk. The code is clear and not obfuscated, but the embedded webhook and silent transmission of system information without user consent make it dangerous and privacy-invasive.

ailever

0.2.861

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.

sbcli-dev

10.1.38

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).

sbcli-dev-spdk

1.0.4

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).

@aztec/noir-protocol-circuits-types

0.77.0-testnet-ignition.17

by charlielye

Live on npm

Blocked by Socket

The fragment strongly indicates a hidden, potentially malicious payload delivered via an opaque base64 blob with minimal visible logic. The risk of supply-chain compromise is high unless there is a transparent, verifiable decoding/execution pathway. Recommended actions: isolate the artifact, locate and review the exact decoding/execution code, search for eval-like constructs or dynamic imports, attempt to deobfuscate, and replace with auditable resources. If decoding/execution cannot be justified, remove the payload.

mtmai

0.3.1176

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.

Detect and block software supply chain attacks

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

Git dependency

GitHub dependency

AI-detected potential malware

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

Protestware or potentially unwanted behavior

42 more alerts

Detect suspicious package updates in real-time

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.

GitHub app screenshot

Developers love Socket

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.

Even more developer love
Install GitHub AppRead the docs

Security teams trust Socket

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.

Even more security team love
Book a DemoRead the blog

Why teams choose Socket

Pro-active security

Depend on Socket to prevent malicious open source dependencies from infiltrating your app.

Easy to install

Install the Socket GitHub App in just 2 clicks and get protected today.

Comprehensive open source protection

Block 70+ issues in open source code, including malware, typo-squatting, hidden code, misleading packages, permission creep, and more.

Develop faster

Reduce work by surfacing actionable security information directly in GitHub. Empower developers to make better decisions.

Supply chain attacks are on the rise

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.

Ready to dive in?

Get protected by Socket with just 2 clicks.

Install GitHub AppBook a Demo

The latest from the Socket team

Get our latest security research, open source insights, and product updates.

View all articles