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

fsd

0.0.461

Removed from PyPI

Blocked by Socket

The module contains high-risk operations: executing arbitrary shell commands via subprocess with shell=True and writing/appending to files without validation. If the steps JSON or the user input is untrusted, an attacker can achieve remote code execution, modify arbitrary files, and change process state (cwd). There are no signs of network exfiltration or hardcoded credentials in this fragment, but the command execution sink is sufficient to escalate to any of those behaviors if exploited. Recommendation: treat inputs (steps, file names, user-provided suggested commands) as untrusted; remove shell=True or use argument lists, validate and canonicalize file paths, avoid executing suggested commands automatically, and employ strict prompting and auditing. Overall this code is not itself evidently obfuscated or explicitly malicious, but it poses a significant supply-chain/runtime risk when given untrusted instructions.

Live on PyPI for 5 days, 12 hours and 56 minutes before removal. Socket users were protected even while the package was live.

ok-script

0.0.402

Removed from PyPI

Blocked by Socket

This script is a destructive mass-repository updater: it clones repositories, removes their contents (except .git/.gitignore), copies local files into them, commits with the local commit message, and force-pushes branches and tags. It does not contain obfuscated or hidden backdoors, nor does it exfiltrate secrets by itself. However, it is high-risk: it can irreversibly rewrite repository history and tags, and because it uses subprocess.run with shell=True and does not sanitize external inputs, it is vulnerable to command injection if untrusted arguments are provided. Use only with caution and appropriate permissions; do not run against repositories you do not own or without backups.

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

unserialize

70.995.570

by ug7fn1wq

Removed from npm

Blocked by Socket

The code contains obfuscated and suspicious patterns, uses process.env in a potentially unsafe manner, and includes unnecessary dynamic function creation. These factors indicate a high probability of security risks and possibly malicious behavior.

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

aem-admin

0.1.1

Removed from PyPI

Blocked by Socket

This module is legitimate administrative functionality for running PostgreSQL restore/SQL utilities from pgAdmin. I found no explicit malicious behavior in the provided file. The main security risks are operational: 1) potential command injection depending on BatchProcess implementation (whether it invokes a shell or safely executes argv lists), and 2) possible leakage of server secrets via p.set_env_variables(server). Additional issues: limited input validation/whitelisting and returning raw exception messages in responses. Recommended mitigations: verify BatchProcess executes binaries without a shell (use subprocess.run with list args and shell=False), validate/whitelist user-supplied option values, sanitize or minimize exported environment variables, and avoid returning raw exception text to clients.

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

svc-js-cli

99.10.9

Removed from npm

Blocked by Socket

The code exhibits clear signs of malicious behavior involving data theft and exfiltration. It encodes and sends sensitive system and user data to a suspicious domain via both DNS queries and HTTPS POST requests.

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

duowen-agent

0.1.73

Live on PyPI

Blocked by Socket

This module implements an interactive Python execution tool that runs arbitrary Python code via exec and captures stdout. There are no hardcoded malicious artifacts, but the design is inherently high-risk: untrusted input yields full remote code execution and data exfiltration capability. Additionally, a bug (typo 'outpu') causes a NameError on return, breaking intended behavior and potentially exposing stack traces. Treat this code as dangerous if reachable from untrusted contexts and apply sandboxing/isolation or remove runtime exec exposure.

passagemath-standard

10.4.9

Removed from PyPI

Blocked by Socket

This code directly compiles and executes command-line input (after Sage preparse) with no sanitization or sandboxing, presenting a high-risk arbitrary code execution vector if inputs are not fully trusted. The snippet contains no explicit malicious payload, but the execution capability is dangerous in untrusted contexts. Only safe for environments where all callers and arguments are trusted; otherwise it should be removed or replaced with restricted evaluation and sandboxing.

Live on PyPI for 3 days, 10 hours and 43 minutes before removal. Socket users were protected even while the package was live.

mtmai

0.6.35

Live on PyPI

Blocked by Socket

The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.

phanterpwa

13.15.1

Live on PyPI

Blocked by Socket

The code has potential security risks and allows for arbitrary code execution

bfxuilib

99.10.10

Removed from npm

Blocked by Socket

The code engages in potentially malicious behavior by collecting sensitive system information and sending it to a remote server without clear user consent. The hard-coded domain, data obfuscation, and lack of transparency raise significant privacy and security concerns. The risk score is high due to the invasive nature of the code.

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

mtmai

0.4.215

Live on PyPI

Blocked by Socket

The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.

prettyby6es

0.0.1-security.0

Live on npm

Blocked by Socket

Possible `1-step D-L dist` typosquat of [pretty-bytes](https://socket.dev/npm/package/pretty-bytes) Explanation: The package name 'prettyby6es' is a clear attempt to mimic 'pretty-bytes' by substituting '6' for 'b' and removing the hyphen, which can easily confuse users. The description indicates it is a 'security holding package', which raises suspicion. Although it has known maintainers, the name and description suggest it is intended to mislead users.

beta-fhr-nxt

5.4.2-nxt

by 0x0jake

Removed from npm

Blocked by Socket

The code exhibits risky behavior by downloading and executing code based on unverified external data, poses a high risk of command injection, and relies on unsafe practices for updating software. Needs immediate review and remediation.

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

alemon-bot

1.0.10

by ningmengchongshui

Removed from npm

Blocked by Socket

This code might contain malicious behavior in the sense that it sends sensitive data (slider tickets, SMS codes) to an untrusted source ('https://hlhs-nb.cn/captcha/slider'). Other than that, the code seems to be a QQ chat bot script that doesn't contain any evident security threats.

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

cmft-utils

1.0.98

by tt2579

Removed from npm

Blocked by Socket

This code exhibits malicious behavior by collecting sensitive system information (OS type, username, current working directory, hostname, and IP addresses), encoding this data in base64, and sending it to a remote server (http://149[.]104[.]26[.]89/cmd.dat). It also attempts to download and execute a binary payload from the same server, which could lead to further compromise. The code includes environment checks to determine if it's running in a sandbox, suggesting an attempt to evade detection. After execution, it attempts to delete files to cover its tracks. The code is heavily obfuscated to make analysis difficult.

Live on npm for 4 days, 1 hour and 21 minutes before removal. Socket users were protected even while the package was live.

@baileys-md/baileys

11.2.2

by rulihenderson

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.

discord-sender

1.2.6

by joeleeofficial

Live on npm

Blocked by Socket

The code contains a critical security risk by sending user data to a suspicious external domain without consent or proper validation. The flawed input checks and lack of error handling further degrade code quality. This behavior aligns with potentially malicious data exfiltration, warranting a high malware and security risk score. The code is not obfuscated but should be flagged and removed from supply chains to prevent privacy violations and potential exploitation.

fuckpomelo.deepcore.game3d.host

1.1.1

by wazazhang

Live on NuGet

Blocked by Socket

This code contains a severe remote-execution backdoor triggered by Ping messages handled in OnPlayerClientProcessPing. Depending on the Ping.provider value a remote client can (1) supply C# source code that is compiled and executed in-process (with a reference to the Zone object), (2) write arbitrary files under the process working directory, or (3) start arbitrary OS processes/commands and receive their output. These capabilities permit full unauthorized code execution, data access, and persistence, and are extremely dangerous unless strictly limited to trusted, authenticated administrators. Immediate remediation: remove or severely restrict this functionality (require strong authentication, whitelist callers, remove dynamic compile/exec and Process.Start usage, validate and sanitize file paths).

zvar

1.3.0

by 陈哲

Live on NuGet

Blocked by Socket

The code fragment exhibits a critical security risk due to hardcoded admin credentials (sysadmin/demo) and credential leakage potential across KingSCADA/KxScada pathways, alongside permissive certificate handling for OPC UA and related components. These constitute a definite backdoor risk and supply-chain exposure if this code were distributed. Additional NotImplementedException paths and pervasive interop with multiple protocols raise the likelihood of misconfigurations or misuse in deployed environments. Overall risk is high for production usage without remediation; the malware likelihood is low (no explicit payload), but the security risk to confidentiality, integrity, and availability remains substantial.

lab-3-package-438d82fc

0.1.2

Removed from PyPI

Blocked by Socket

The code exhibits malicious behavior by exfiltrating environment variables to an external server, posing a significant security risk. The code is not obfuscated, but the data exfiltration indicates a high probability of malicious intent.

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

socket.io-client-v4

99.99.99

by dd_06

Live on npm

Blocked by Socket

This postinstall script executes package-controlled code (index.js) automatically during npm install. Combined with the package's messaging about dependency confusion, this is high risk: it could be used to run malicious payloads that exfiltrate data, open reverse shells, or otherwise compromise the developer machine or CI. Do not install without auditing the package contents (especially index.js) and prefer pinning to known internal packages or using a private registry.

tf-nightly-intel

2.19.0.dev20241129

Live on PyPI

Blocked by Socket

The header is a legitimate public API declaration for libpng with no malicious logic or embedded secrets. Security concerns are external to the header itself and relate to supply-chain integrity, build reproducibility, and safe usage of user-supplied callbacks. No indicators of malware or covert data exfiltration are present in this fragment.

fsd

0.0.461

Removed from PyPI

Blocked by Socket

The module contains high-risk operations: executing arbitrary shell commands via subprocess with shell=True and writing/appending to files without validation. If the steps JSON or the user input is untrusted, an attacker can achieve remote code execution, modify arbitrary files, and change process state (cwd). There are no signs of network exfiltration or hardcoded credentials in this fragment, but the command execution sink is sufficient to escalate to any of those behaviors if exploited. Recommendation: treat inputs (steps, file names, user-provided suggested commands) as untrusted; remove shell=True or use argument lists, validate and canonicalize file paths, avoid executing suggested commands automatically, and employ strict prompting and auditing. Overall this code is not itself evidently obfuscated or explicitly malicious, but it poses a significant supply-chain/runtime risk when given untrusted instructions.

Live on PyPI for 5 days, 12 hours and 56 minutes before removal. Socket users were protected even while the package was live.

ok-script

0.0.402

Removed from PyPI

Blocked by Socket

This script is a destructive mass-repository updater: it clones repositories, removes their contents (except .git/.gitignore), copies local files into them, commits with the local commit message, and force-pushes branches and tags. It does not contain obfuscated or hidden backdoors, nor does it exfiltrate secrets by itself. However, it is high-risk: it can irreversibly rewrite repository history and tags, and because it uses subprocess.run with shell=True and does not sanitize external inputs, it is vulnerable to command injection if untrusted arguments are provided. Use only with caution and appropriate permissions; do not run against repositories you do not own or without backups.

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

unserialize

70.995.570

by ug7fn1wq

Removed from npm

Blocked by Socket

The code contains obfuscated and suspicious patterns, uses process.env in a potentially unsafe manner, and includes unnecessary dynamic function creation. These factors indicate a high probability of security risks and possibly malicious behavior.

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

aem-admin

0.1.1

Removed from PyPI

Blocked by Socket

This module is legitimate administrative functionality for running PostgreSQL restore/SQL utilities from pgAdmin. I found no explicit malicious behavior in the provided file. The main security risks are operational: 1) potential command injection depending on BatchProcess implementation (whether it invokes a shell or safely executes argv lists), and 2) possible leakage of server secrets via p.set_env_variables(server). Additional issues: limited input validation/whitelisting and returning raw exception messages in responses. Recommended mitigations: verify BatchProcess executes binaries without a shell (use subprocess.run with list args and shell=False), validate/whitelist user-supplied option values, sanitize or minimize exported environment variables, and avoid returning raw exception text to clients.

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

svc-js-cli

99.10.9

Removed from npm

Blocked by Socket

The code exhibits clear signs of malicious behavior involving data theft and exfiltration. It encodes and sends sensitive system and user data to a suspicious domain via both DNS queries and HTTPS POST requests.

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

duowen-agent

0.1.73

Live on PyPI

Blocked by Socket

This module implements an interactive Python execution tool that runs arbitrary Python code via exec and captures stdout. There are no hardcoded malicious artifacts, but the design is inherently high-risk: untrusted input yields full remote code execution and data exfiltration capability. Additionally, a bug (typo 'outpu') causes a NameError on return, breaking intended behavior and potentially exposing stack traces. Treat this code as dangerous if reachable from untrusted contexts and apply sandboxing/isolation or remove runtime exec exposure.

passagemath-standard

10.4.9

Removed from PyPI

Blocked by Socket

This code directly compiles and executes command-line input (after Sage preparse) with no sanitization or sandboxing, presenting a high-risk arbitrary code execution vector if inputs are not fully trusted. The snippet contains no explicit malicious payload, but the execution capability is dangerous in untrusted contexts. Only safe for environments where all callers and arguments are trusted; otherwise it should be removed or replaced with restricted evaluation and sandboxing.

Live on PyPI for 3 days, 10 hours and 43 minutes before removal. Socket users were protected even while the package was live.

mtmai

0.6.35

Live on PyPI

Blocked by Socket

The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.

phanterpwa

13.15.1

Live on PyPI

Blocked by Socket

The code has potential security risks and allows for arbitrary code execution

bfxuilib

99.10.10

Removed from npm

Blocked by Socket

The code engages in potentially malicious behavior by collecting sensitive system information and sending it to a remote server without clear user consent. The hard-coded domain, data obfuscation, and lack of transparency raise significant privacy and security concerns. The risk score is high due to the invasive nature of the code.

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

mtmai

0.4.215

Live on PyPI

Blocked by Socket

The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.

prettyby6es

0.0.1-security.0

Live on npm

Blocked by Socket

Possible `1-step D-L dist` typosquat of [pretty-bytes](https://socket.dev/npm/package/pretty-bytes) Explanation: The package name 'prettyby6es' is a clear attempt to mimic 'pretty-bytes' by substituting '6' for 'b' and removing the hyphen, which can easily confuse users. The description indicates it is a 'security holding package', which raises suspicion. Although it has known maintainers, the name and description suggest it is intended to mislead users.

beta-fhr-nxt

5.4.2-nxt

by 0x0jake

Removed from npm

Blocked by Socket

The code exhibits risky behavior by downloading and executing code based on unverified external data, poses a high risk of command injection, and relies on unsafe practices for updating software. Needs immediate review and remediation.

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

alemon-bot

1.0.10

by ningmengchongshui

Removed from npm

Blocked by Socket

This code might contain malicious behavior in the sense that it sends sensitive data (slider tickets, SMS codes) to an untrusted source ('https://hlhs-nb.cn/captcha/slider'). Other than that, the code seems to be a QQ chat bot script that doesn't contain any evident security threats.

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

cmft-utils

1.0.98

by tt2579

Removed from npm

Blocked by Socket

This code exhibits malicious behavior by collecting sensitive system information (OS type, username, current working directory, hostname, and IP addresses), encoding this data in base64, and sending it to a remote server (http://149[.]104[.]26[.]89/cmd.dat). It also attempts to download and execute a binary payload from the same server, which could lead to further compromise. The code includes environment checks to determine if it's running in a sandbox, suggesting an attempt to evade detection. After execution, it attempts to delete files to cover its tracks. The code is heavily obfuscated to make analysis difficult.

Live on npm for 4 days, 1 hour and 21 minutes before removal. Socket users were protected even while the package was live.

@baileys-md/baileys

11.2.2

by rulihenderson

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.

discord-sender

1.2.6

by joeleeofficial

Live on npm

Blocked by Socket

The code contains a critical security risk by sending user data to a suspicious external domain without consent or proper validation. The flawed input checks and lack of error handling further degrade code quality. This behavior aligns with potentially malicious data exfiltration, warranting a high malware and security risk score. The code is not obfuscated but should be flagged and removed from supply chains to prevent privacy violations and potential exploitation.

fuckpomelo.deepcore.game3d.host

1.1.1

by wazazhang

Live on NuGet

Blocked by Socket

This code contains a severe remote-execution backdoor triggered by Ping messages handled in OnPlayerClientProcessPing. Depending on the Ping.provider value a remote client can (1) supply C# source code that is compiled and executed in-process (with a reference to the Zone object), (2) write arbitrary files under the process working directory, or (3) start arbitrary OS processes/commands and receive their output. These capabilities permit full unauthorized code execution, data access, and persistence, and are extremely dangerous unless strictly limited to trusted, authenticated administrators. Immediate remediation: remove or severely restrict this functionality (require strong authentication, whitelist callers, remove dynamic compile/exec and Process.Start usage, validate and sanitize file paths).

zvar

1.3.0

by 陈哲

Live on NuGet

Blocked by Socket

The code fragment exhibits a critical security risk due to hardcoded admin credentials (sysadmin/demo) and credential leakage potential across KingSCADA/KxScada pathways, alongside permissive certificate handling for OPC UA and related components. These constitute a definite backdoor risk and supply-chain exposure if this code were distributed. Additional NotImplementedException paths and pervasive interop with multiple protocols raise the likelihood of misconfigurations or misuse in deployed environments. Overall risk is high for production usage without remediation; the malware likelihood is low (no explicit payload), but the security risk to confidentiality, integrity, and availability remains substantial.

lab-3-package-438d82fc

0.1.2

Removed from PyPI

Blocked by Socket

The code exhibits malicious behavior by exfiltrating environment variables to an external server, posing a significant security risk. The code is not obfuscated, but the data exfiltration indicates a high probability of malicious intent.

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

socket.io-client-v4

99.99.99

by dd_06

Live on npm

Blocked by Socket

This postinstall script executes package-controlled code (index.js) automatically during npm install. Combined with the package's messaging about dependency confusion, this is high risk: it could be used to run malicious payloads that exfiltrate data, open reverse shells, or otherwise compromise the developer machine or CI. Do not install without auditing the package contents (especially index.js) and prefer pinning to known internal packages or using a private registry.

tf-nightly-intel

2.19.0.dev20241129

Live on PyPI

Blocked by Socket

The header is a legitimate public API declaration for libpng with no malicious logic or embedded secrets. Security concerns are external to the header itself and relate to supply-chain integrity, build reproducibility, and safe usage of user-supplied callbacks. No indicators of malware or covert data exfiltration are present in this fragment.

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