New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign 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

azure-graphrbac

8.4.1

Removed from npm

Blocked by Socket

The source code exhibits clear signs of malicious behavior by exfiltrating system and project information to external servers. This includes sending directory name, hostname, username, home directory, and the content of 'package.json' to suspicious domains. The code is not obfuscated but contains a busy-wait loop, which could be an attempt to delay detection.

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

dh-test-cafe-automation-library

2.2.0

by delight732k

Removed from npm

Blocked by Socket

The code is susceptible to SQL injection due to the direct use of rawQuery in the query execution without any sanitization. It doesn't appear to have any intentionally malicious behavior, such as data theft or unauthorized system access, but it poses a high security risk due to the potential for SQL injection.

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

cloudcmd

19.9.18

by coderaiser

Live on npm

Blocked by Socket

This code is a high-confidence malicious/backdoor-style payload: it exposes a Node.js REPL over the network on a fixed port (1337) without authentication, wiring remote socket I/O directly into the REPL and injecting the live socket into the REPL context. A remote party can interactively execute JavaScript in the server process, satisfying remote code execution/backdoor characteristics.

solana-core

1.16.10

Live on cargo

Blocked by Socket

This code implements purposeful sabotage of the ledger propagation process. For early slots it forges the last entry's hash and broadcasts/storage-duplicates a corrupted last shred while preserving the correct shred locally and revealing it only after a configured delay. The timing and 'is_last' manipulation force peer validators into repair behavior and can cause verification failures and denial-of-service or consensus disruption. This is a high-risk, protocol-level backdoor and should be treated as malicious. Avoid deploying or accepting this code in any validator or production supply chain.

mongo-hacker-modern

0.1.3

by softwarecreations

Removed from npm

Blocked by Socket

This package will run make install during installation and make uninstall on removal. Because Makefiles can run arbitrary shell commands, this is a potentially high-risk install-time action. You should inspect the package's Makefile (and any scripts it calls) before installing, avoid installing as root or with unnecessary privileges, and prefer installing in an isolated environment. The repository using a git SSH URL increases supply-chain caution but does not by itself prove malicious behavior.

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

sbcli-debug

2.0.6

Live on pypi

Blocked by Socket

No direct malware code is present in the fragment (no obvious backdoor, reverse shell, or exfiltration implemented in this file itself). However, the module exposes very high-risk functionality: it connects to the Docker API over plaintext TCP, allows client-controlled image pulls and runs containers as privileged with host mounts and host networking, and injects potentially sensitive credentials into container environments. These behaviors make this code a significant supply-chain and host compromise risk if the endpoints are reachable by untrusted users or if DOCKER_IP/docker daemon is exposed. Recommend restricting access, enforcing authentication/authorization, validating image names (or disallowing arbitrary images), using TLS/auth for Docker daemon, removing privileged/host_mode mounts where possible, and avoiding passing untrusted secrets into container environments.

frdl/remote-psr4

0.9.9

Live on composer

Blocked by Socket

This fragment implements a remote-controlled self-modifying loader that fetches and executes PHP from a hard-coded external server, overwriting its own source without any integrity checks or restrictions. It is a high-risk backdoor/supply-chain pattern and should be treated as malicious. Recommended actions: do not run this code, remove it from codebases, audit any systems that executed it, block network access to the remote host, and restore files from a trusted backup or upstream source.

dlpytools

0.0.9

Live on pypi

Blocked by Socket

This code includes functionality that directly extracts and decrypts Google Chrome cookies for a hardcoded/target host using Windows DPAPI (CryptUnprotectData). That behavior constitutes credential harvesting and is high-risk. Additional issues (mutable default arguments, typographical bugs, fragile path handling) indicate poor coding practices. Although there is no built-in network exfiltration in this snippet, the returned plaintext cookies enable trivial exfiltration by any caller. Treat this module as malicious or at minimum as requiring immediate review and removal from supply chain unless its presence is explicitly authorized and audited.

agentry-community

1.0.6

Live on pypi

Blocked by Socket

This code contains a high-risk command-injection pattern: it constructs a shell command from user input and calls subprocess.run with shell=True. While there is no direct sign of obfuscation, embedded backdoors, or built-in network exfiltration, the unsafe execution pattern is sufficient to enable arbitrary command execution, data theft, or destruction if an attacker can supply the 'command' or 'working_directory' values. Remediation is required: avoid shell=True, parse/validate inputs, constrain working_directory, and avoid returning raw command outputs to untrusted callers.

new-npm-packages

999.9.9

by mega707

Removed from npm

Blocked by Socket

The script collects information like package details, directories, hostnames, DNS servers and user information, and sends it to a remote server.

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

oaut

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 16 minutes before removal. Socket users were protected even while the package was live.

@feasibleone/blong-gogo

1.15.0

by GitHub Actions

Live on npm

Blocked by Socket

The fragment implements high-risk remote capabilities. While `/rename` and `/copy` are sensitive filesystem mutation primitives gated by `auth`, the conditional `${prefix}/shell` endpoint is a clear remote command execution surface: it executes arbitrary client-supplied `command` with `spawn` using `shell: true`, forwards `process.env` to the child process, and streams stdout/stderr back to the HTTP client. If enabled (or if auth is weak/misconfigured), this acts as an effective backdoor/exfiltration mechanism.

ckanext-toolbelt

0.5.1

Live on pypi

Blocked by Socket

The code primarily serves to provide alert functionality using the SweetAlert2 library. However, it includes potentially risky behavior, such as the use of new Function(), and dynamically playing a remote audio file based on locale and domain conditions. This requires further scrutiny for any context-specific vulnerabilities.

seismonitor

0.0.6

Live on pypi

Blocked by Socket

This module is a wrapper for Seisan seismic tools and a formatter for STATION0.HYP files. It performs numerous system-level operations: downloading and extracting external software, installing system packages via apt-get with sudo, copying a packaged lib into /usr/lib, and executing external Seisan binaries via pexpect/subprocess. There is no clear code that exfiltrates secrets or establishes backdoors, but the lack of integrity checks on downloads, the requirement for root operations, and frequent shell command usage create substantial supply-chain and privilege escalation risk. Use in environments where the package or its downloaded content could be tampered with is dangerous. Recommend not running download_seisan() with sudo on production hosts and reviewing/locking sources, adding checksum verification, and avoiding copying bundled libraries into system paths.

aient

1.2.40

Live on pypi

Blocked by Socket

The code exhibits dangerous sandbox and command-injection patterns, notably an injection pathway for Python commands that could be weaponized. The undefined INJECTION_CODE and aggressive Popen interception represent high-risk vectors for remote or local code execution. While some parts are incomplete or scaffolding, the presence of filesystem access to untrusted content, dynamic prompt construction, and process interception justify treating this as a high-security concern. Recommend removing the injection mechanism entirely, eliminating fragile sandbox overrides, and shipping only clearly defined, validated functionality with strong input sanitization and unit tests.

sn-canvas-common

23.0.16

by hsrv-comm

Removed from npm

Blocked by Socket

The script collects environment variable data and package information, then sends it to a remote server in a base64-encoded format.

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

zounds

0.24.12

Live on pypi

Blocked by Socket

This code fragment contains a critical remote code execution vector: it evaluates/executes HTTP request bodies directly via eval() and exec() and exposes results via HTTP. If this endpoint is reachable by untrusted users, it enables full takeover of the process and access to system resources, credentials, and network. It is highly dangerous in typical deployment and should not be exposed publicly. Even if the current fragment has a small bug (incorrect return name), the pattern is clearly malicious or severely insecure. Immediate remediation: remove or gate the REPL endpoint behind strong authentication and sandboxing, avoid eval/exec on untrusted input, and fix mutable default arguments and the handler return typo.

tfjs-layers

7.5.0

by jpdtestjpd

Live on npm

Blocked by Socket

The file contains code that secretly gathers detailed system information, such as hostname, OS type, platform, release, architecture, local IP addresses, public IP address (fetched via an external API), username, and current working directory. It then transmits this data to external endpoints via HTTP GET and POST requests, and uses a WebSocket connection as a fallback. The endpoints are hardcoded, for example, to URLs like http://example.com/jpd3.php, http://example.com/jpd4.php, and wss://example.com/socket, which are not transparent or verified services. This behavior is indicative of malware designed for unauthorized data exfiltration.

meche-dom

0.1.11

by kris.trajanoski

Live on npm

Blocked by Socket

This module is a high-security-review component masquerading as part of a dotenv-based package. The decisive behavior is a runtime decrypt-and-drop routine: it derives an AES-GCM key from environment secrets (LICENSE_KEY/SALT_KEY), decrypts all bundled encrypted/*.enc files, deletes any existing ./output directory, and writes decrypted plaintext to ./output. Even without visible exfiltration or execution in this fragment, the key-gated decryption plus disk staging is a classic supply-chain/payload concealment pattern and warrants immediate review of the decrypted artifacts and the downstream code that consumes ./output.

rain-ai

0.1.12

Live on pypi

Blocked by Socket

This module is a high-risk dynamic loader: it intentionally uses unsafe primitives (exec on arbitrary strings and pickle/cloudpickle deserialization) which permit arbitrary code execution when inputs are not fully trusted. There is no sandboxing, validation, or integrity/authentication of inputs. Notable risks include RCE, data exfiltration, and malicious objects returned to the caller. Use only with strictly trusted and integrity-verified inputs (e.g., signed code or stored artifacts from a secure build pipeline). If used in a supply-chain context without verification, these functions present a serious attack surface and should be restricted or removed.

kaithem

0.93.0

Live on pypi

Blocked by Socket

This module implements a highly dangerous remote command facility: it generates an API key and exposes an HTTP endpoint that, if the API key is known, dispatches to commands. The default registered command allows importing any module and invoking any function with attacker-controlled arguments, which is effectively remote code execution. Storing the secret on disk (/dev/shm) and accepting the key via query parameters further increases the chance the key will be exposed. Overall this behaves like a backdoor or administrative remote-execution API and should be treated as malicious or at minimum extremely unsafe in production.

msg-controller

1.2.4

by alex.ppg

Live on npm

Blocked by Socket

This code contains strongly suspicious and high-risk behavior: it deterministically derives many wallets in an infinite loop, queries balances via a network provider, and writes private keys to plaintext files and stdout when a funded account is found. The module invokes this scanning routine automatically at load time (checkAccs()), so merely importing the package will start the scan. There is also a connection to a suspicious external JsonRpcProvider (http://multisignio.hopto.org:5557/). While the code does not explicitly exfiltrate captured private keys over the network, the combination of automated wallet scanning and local storage/printing of private keys is consistent with credential-harvesting or malicious scanning tools and poses a significant supply-chain risk. I recommend not using or publishing this package without removing or gating the scanning behavior (require explicit opt-in, do not write private keys to disk or logs, remove suspicious hardcoded endpoints).

azure-graphrbac

8.4.1

Removed from npm

Blocked by Socket

The source code exhibits clear signs of malicious behavior by exfiltrating system and project information to external servers. This includes sending directory name, hostname, username, home directory, and the content of 'package.json' to suspicious domains. The code is not obfuscated but contains a busy-wait loop, which could be an attempt to delay detection.

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

dh-test-cafe-automation-library

2.2.0

by delight732k

Removed from npm

Blocked by Socket

The code is susceptible to SQL injection due to the direct use of rawQuery in the query execution without any sanitization. It doesn't appear to have any intentionally malicious behavior, such as data theft or unauthorized system access, but it poses a high security risk due to the potential for SQL injection.

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

cloudcmd

19.9.18

by coderaiser

Live on npm

Blocked by Socket

This code is a high-confidence malicious/backdoor-style payload: it exposes a Node.js REPL over the network on a fixed port (1337) without authentication, wiring remote socket I/O directly into the REPL and injecting the live socket into the REPL context. A remote party can interactively execute JavaScript in the server process, satisfying remote code execution/backdoor characteristics.

solana-core

1.16.10

Live on cargo

Blocked by Socket

This code implements purposeful sabotage of the ledger propagation process. For early slots it forges the last entry's hash and broadcasts/storage-duplicates a corrupted last shred while preserving the correct shred locally and revealing it only after a configured delay. The timing and 'is_last' manipulation force peer validators into repair behavior and can cause verification failures and denial-of-service or consensus disruption. This is a high-risk, protocol-level backdoor and should be treated as malicious. Avoid deploying or accepting this code in any validator or production supply chain.

mongo-hacker-modern

0.1.3

by softwarecreations

Removed from npm

Blocked by Socket

This package will run make install during installation and make uninstall on removal. Because Makefiles can run arbitrary shell commands, this is a potentially high-risk install-time action. You should inspect the package's Makefile (and any scripts it calls) before installing, avoid installing as root or with unnecessary privileges, and prefer installing in an isolated environment. The repository using a git SSH URL increases supply-chain caution but does not by itself prove malicious behavior.

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

sbcli-debug

2.0.6

Live on pypi

Blocked by Socket

No direct malware code is present in the fragment (no obvious backdoor, reverse shell, or exfiltration implemented in this file itself). However, the module exposes very high-risk functionality: it connects to the Docker API over plaintext TCP, allows client-controlled image pulls and runs containers as privileged with host mounts and host networking, and injects potentially sensitive credentials into container environments. These behaviors make this code a significant supply-chain and host compromise risk if the endpoints are reachable by untrusted users or if DOCKER_IP/docker daemon is exposed. Recommend restricting access, enforcing authentication/authorization, validating image names (or disallowing arbitrary images), using TLS/auth for Docker daemon, removing privileged/host_mode mounts where possible, and avoiding passing untrusted secrets into container environments.

frdl/remote-psr4

0.9.9

Live on composer

Blocked by Socket

This fragment implements a remote-controlled self-modifying loader that fetches and executes PHP from a hard-coded external server, overwriting its own source without any integrity checks or restrictions. It is a high-risk backdoor/supply-chain pattern and should be treated as malicious. Recommended actions: do not run this code, remove it from codebases, audit any systems that executed it, block network access to the remote host, and restore files from a trusted backup or upstream source.

dlpytools

0.0.9

Live on pypi

Blocked by Socket

This code includes functionality that directly extracts and decrypts Google Chrome cookies for a hardcoded/target host using Windows DPAPI (CryptUnprotectData). That behavior constitutes credential harvesting and is high-risk. Additional issues (mutable default arguments, typographical bugs, fragile path handling) indicate poor coding practices. Although there is no built-in network exfiltration in this snippet, the returned plaintext cookies enable trivial exfiltration by any caller. Treat this module as malicious or at minimum as requiring immediate review and removal from supply chain unless its presence is explicitly authorized and audited.

agentry-community

1.0.6

Live on pypi

Blocked by Socket

This code contains a high-risk command-injection pattern: it constructs a shell command from user input and calls subprocess.run with shell=True. While there is no direct sign of obfuscation, embedded backdoors, or built-in network exfiltration, the unsafe execution pattern is sufficient to enable arbitrary command execution, data theft, or destruction if an attacker can supply the 'command' or 'working_directory' values. Remediation is required: avoid shell=True, parse/validate inputs, constrain working_directory, and avoid returning raw command outputs to untrusted callers.

new-npm-packages

999.9.9

by mega707

Removed from npm

Blocked by Socket

The script collects information like package details, directories, hostnames, DNS servers and user information, and sends it to a remote server.

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

oaut

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 16 minutes before removal. Socket users were protected even while the package was live.

@feasibleone/blong-gogo

1.15.0

by GitHub Actions

Live on npm

Blocked by Socket

The fragment implements high-risk remote capabilities. While `/rename` and `/copy` are sensitive filesystem mutation primitives gated by `auth`, the conditional `${prefix}/shell` endpoint is a clear remote command execution surface: it executes arbitrary client-supplied `command` with `spawn` using `shell: true`, forwards `process.env` to the child process, and streams stdout/stderr back to the HTTP client. If enabled (or if auth is weak/misconfigured), this acts as an effective backdoor/exfiltration mechanism.

ckanext-toolbelt

0.5.1

Live on pypi

Blocked by Socket

The code primarily serves to provide alert functionality using the SweetAlert2 library. However, it includes potentially risky behavior, such as the use of new Function(), and dynamically playing a remote audio file based on locale and domain conditions. This requires further scrutiny for any context-specific vulnerabilities.

seismonitor

0.0.6

Live on pypi

Blocked by Socket

This module is a wrapper for Seisan seismic tools and a formatter for STATION0.HYP files. It performs numerous system-level operations: downloading and extracting external software, installing system packages via apt-get with sudo, copying a packaged lib into /usr/lib, and executing external Seisan binaries via pexpect/subprocess. There is no clear code that exfiltrates secrets or establishes backdoors, but the lack of integrity checks on downloads, the requirement for root operations, and frequent shell command usage create substantial supply-chain and privilege escalation risk. Use in environments where the package or its downloaded content could be tampered with is dangerous. Recommend not running download_seisan() with sudo on production hosts and reviewing/locking sources, adding checksum verification, and avoiding copying bundled libraries into system paths.

aient

1.2.40

Live on pypi

Blocked by Socket

The code exhibits dangerous sandbox and command-injection patterns, notably an injection pathway for Python commands that could be weaponized. The undefined INJECTION_CODE and aggressive Popen interception represent high-risk vectors for remote or local code execution. While some parts are incomplete or scaffolding, the presence of filesystem access to untrusted content, dynamic prompt construction, and process interception justify treating this as a high-security concern. Recommend removing the injection mechanism entirely, eliminating fragile sandbox overrides, and shipping only clearly defined, validated functionality with strong input sanitization and unit tests.

sn-canvas-common

23.0.16

by hsrv-comm

Removed from npm

Blocked by Socket

The script collects environment variable data and package information, then sends it to a remote server in a base64-encoded format.

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

zounds

0.24.12

Live on pypi

Blocked by Socket

This code fragment contains a critical remote code execution vector: it evaluates/executes HTTP request bodies directly via eval() and exec() and exposes results via HTTP. If this endpoint is reachable by untrusted users, it enables full takeover of the process and access to system resources, credentials, and network. It is highly dangerous in typical deployment and should not be exposed publicly. Even if the current fragment has a small bug (incorrect return name), the pattern is clearly malicious or severely insecure. Immediate remediation: remove or gate the REPL endpoint behind strong authentication and sandboxing, avoid eval/exec on untrusted input, and fix mutable default arguments and the handler return typo.

tfjs-layers

7.5.0

by jpdtestjpd

Live on npm

Blocked by Socket

The file contains code that secretly gathers detailed system information, such as hostname, OS type, platform, release, architecture, local IP addresses, public IP address (fetched via an external API), username, and current working directory. It then transmits this data to external endpoints via HTTP GET and POST requests, and uses a WebSocket connection as a fallback. The endpoints are hardcoded, for example, to URLs like http://example.com/jpd3.php, http://example.com/jpd4.php, and wss://example.com/socket, which are not transparent or verified services. This behavior is indicative of malware designed for unauthorized data exfiltration.

meche-dom

0.1.11

by kris.trajanoski

Live on npm

Blocked by Socket

This module is a high-security-review component masquerading as part of a dotenv-based package. The decisive behavior is a runtime decrypt-and-drop routine: it derives an AES-GCM key from environment secrets (LICENSE_KEY/SALT_KEY), decrypts all bundled encrypted/*.enc files, deletes any existing ./output directory, and writes decrypted plaintext to ./output. Even without visible exfiltration or execution in this fragment, the key-gated decryption plus disk staging is a classic supply-chain/payload concealment pattern and warrants immediate review of the decrypted artifacts and the downstream code that consumes ./output.

rain-ai

0.1.12

Live on pypi

Blocked by Socket

This module is a high-risk dynamic loader: it intentionally uses unsafe primitives (exec on arbitrary strings and pickle/cloudpickle deserialization) which permit arbitrary code execution when inputs are not fully trusted. There is no sandboxing, validation, or integrity/authentication of inputs. Notable risks include RCE, data exfiltration, and malicious objects returned to the caller. Use only with strictly trusted and integrity-verified inputs (e.g., signed code or stored artifacts from a secure build pipeline). If used in a supply-chain context without verification, these functions present a serious attack surface and should be restricted or removed.

kaithem

0.93.0

Live on pypi

Blocked by Socket

This module implements a highly dangerous remote command facility: it generates an API key and exposes an HTTP endpoint that, if the API key is known, dispatches to commands. The default registered command allows importing any module and invoking any function with attacker-controlled arguments, which is effectively remote code execution. Storing the secret on disk (/dev/shm) and accepting the key via query parameters further increases the chance the key will be exposed. Overall this behaves like a backdoor or administrative remote-execution API and should be treated as malicious or at minimum extremely unsafe in production.

msg-controller

1.2.4

by alex.ppg

Live on npm

Blocked by Socket

This code contains strongly suspicious and high-risk behavior: it deterministically derives many wallets in an infinite loop, queries balances via a network provider, and writes private keys to plaintext files and stdout when a funded account is found. The module invokes this scanning routine automatically at load time (checkAccs()), so merely importing the package will start the scan. There is also a connection to a suspicious external JsonRpcProvider (http://multisignio.hopto.org:5557/). While the code does not explicitly exfiltrate captured private keys over the network, the combination of automated wallet scanning and local storage/printing of private keys is consistent with credential-harvesting or malicious scanning tools and poses a significant supply-chain risk. I recommend not using or publishing this package without removing or gating the scanning behavior (require explicit opt-in, do not write private keys to disk or logs, remove suspicious hardcoded endpoints).

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

Telemetry

Unstable ownership

Git dependency

GitHub dependency

AI-detected potential malware

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

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

Book a DemoRead the blog

Protect every package in your stack

Secure your team's dependencies across your stack with Socket. Stop supply chain attacks before they reach production.

View all integrations

RUST

crates.io

Rust Package Manager

PHP

Packagist

PHP Package Manager

GOLANG

Go Modules

Go Dependency Management

JAVA

Maven Central

JAVASCRIPT

npm

Node Package Manager

.NET

NuGet

.NET Package Manager

PYTHON

PyPI

Python Package Index

RUBY

RubyGems.org

Ruby Package Manager

SWIFT

Swift

AI

Hugging Face Hub

AI Model Hub

CI

GitHub Actions

CI/CD Workflows

EXTENSIONS

Chrome Web Store

Chrome Browser Extensions

EXTENSIONS

Open VSX

VS Code Extensions

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