Launch Week Day 5: Introducing Reachability for PHP.Learn More
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 App
Book a Demo

Questions? Call us at (844) SOCKET-0

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

We protect you from vulnerable and malicious packages

azure-graphrbac

0.7.4

Removed from npm

Blocked by Socket

Possible typosquat of azure - Explanation: The package 'azure-graphrbac' is labeled as a 'security holding package', which often indicates a placeholder to prevent typosquatting. The name 'azure-graphrbac' closely resembles the legitimate 'azure' package, suggesting it could be a typosquat. The maintainers list includes 'npm', which is not a specific individual or organization, adding to the suspicion. The description does not provide any distinct purpose or functionality, further indicating it might be a placeholder to prevent typosquatting.

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

@2011-08-19/n

99.9.10

by k1nder

Live on npm

Blocked by Socket

This module is highly indicative of malicious supply-chain activity: it collects highly sensitive local/system data and the entire process.env (likely including secrets), then exfiltrates it via an HTTP POST to a hardcoded external IP endpoint. The behavior runs automatically as an entrypoint and uses suppressed error/response handling consistent with covert data theft.

monolith-twirp-webhooks-core

1.7.0

by Nick Quaranto

Live on rubygems

Blocked by Socket

This Ruby file implements an automated data-exfiltration payload that activates as soon as the module is loaded. It gathers the current username (ENV['USER'], ENV['USERNAME'] or `whoami`), machine hostname (Socket.gethostname), and the file's absolute path (File.expand_path(__FILE__)). Each value is hex-encoded and split into chunks to conform to DNS label length limits. A target domain is constructed in the pattern: a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw (with filepath hex truncated if needed), then an HTTPS GET request is sent to https://a<...>.furb[.]pw/. The code executes automatically when loaded as a module (unless __FILE__ == $0), making it a supply chain attack vector. No opt-in or legitimate use case exists. This behavior is unambiguously malicious, leveraging DNS/HTTPS for covert reconnaissance and unauthorized data exfiltration.

github.com/weaveworks/weave

v1.8.2-0.20161124152649-f989a82eb0fb

Live on go

Blocked by Socket

This module is a high-risk runtime packer/dropper: it embeds an encrypted payload, decrypts it using a user-supplied passphrase, writes the result to `bin/do-setup-circleci-secrets`, and immediately executes it. Because there is no integrity/authenticity validation of the decrypted artifact and the executed code is not shown here, the module should be treated as potentially malicious until the decrypted `bin/do-setup-circleci-secrets` content is inspected and validated in a safe environment.

familylink

9.9.5

by family-selector

Removed from npm

Blocked by Socket

This script is exfiltrating sensitive system information such as hostname, user, current directory, and security groups to a remote server without the user's consent. This behavior is highly suspicious and poses a significant security risk.

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

bluelamp-ai

0.45.4

Live on pypi

Blocked by Socket

This module is highly suspicious and poses a serious supply-chain risk: it executes an opaque, embedded payload at import time using base64 decoding and zlib decompression passed to exec. Treat the package as untrusted until the decompressed payload is fully decoded and audited in a controlled environment. Do not use in production; perform offline static and dynamic analysis of the payload to determine whether it contains malicious functionality or benign code.

mtmai

0.3.818

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.

solana-login

1.0.9

by coffeepasta

Removed from npm

Blocked by Socket

This file collects browser data (including profiles and user-specific directories) without authorization, compresses the stolen data, and sends it to an obfuscated remote endpoint (e.g., example[.]com). The script utilizes base64-encoded webhook references and executes PowerShell commands to compress and upload potentially sensitive information, indicating deliberate data exfiltration.

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

ksrpc

0.6.14

Live on pypi

Blocked by Socket

High risk due to unvalidated unpickling of remote data. The combination of streaming HTTP payloads, zlib decompression, and dill/pickle deserialization from an external server constitutes a serious remote code execution and supply-chain risk. There are no integrity checks, no authentication of payload, and no safe-deserialization measures. Recommend removing untrusted unpickling from network response; replace with signature verification, safe deserialization, or a clearly defined, versioned data contract (e.g., JSON with schema validation). Consider sandboxing deserialization or using a restricted execution environment, and implement robust error handling and input validation.

monolith-twirp-git_src_migrator-migrations

1.14.0

by Nick Quaranto

Live on rubygems

Blocked by Socket

This Ruby script gathers sensitive host data (username via ENV or `whoami`, hostname via Socket.gethostname, and its own file path), hex-encodes each piece, and embeds them into a dynamically constructed subdomain under furb[.]pw (e.g. a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw). It then issues an HTTPS GET request to that domain via Net::HTTP, effectively exfiltrating system identifiers to an attacker-controlled endpoint. The use of an inverted `unless __FILE__ == $0` guard causes the code to run when the file is loaded as a library, making it a stealthy supply-chain backdoor with no user consent or visible functionality.

checkmate5

4.1.0.dev30

Removed from pypi

Blocked by Socket

The code is a legitimate developer utility but contains multiple high-risk patterns: exec()/eval() on command-line input and constructing shell commands from unsanitized argv. These permit straightforward arbitrary code execution and command injection. Not malware in intent, but dangerous to run with untrusted inputs. Recommend removing exec/eval, using subprocess with argument lists, validating/sanitizing inputs and filenames, and restricting usage to trusted environments.

Live on pypi for 1 minute before removal. Socket users were protected even while the package was live.

mtmai

0.3.983

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.

9router

0.3.63

by decolua

Live on npm

Blocked by Socket

Best report selection: Report 1 is the most complete and balanced in mapping endpoints and sinks; however, it overstates certainty of malware. Based on this fragment alone, the module is best characterized as a high-risk remote-control interface for a MITM/DNS/certificate-trust capability that accepts and caches privileged credentials. While explicit exfiltration or stealth is not proven in this snippet, the presence of start/stop MITM service and DNS/cert trust operations driven by HTTP inputs is a strong security alert and should be treated as potentially malicious unless access control and helper implementations are thoroughly verified.

github.com/patbcole117/haunt

v0.0.0-20230929170914-2cf6ae3ec270

Live on go

Blocked by Socket

This module implements remote-controlled command execution: it polls a remote endpoint for JSON commands and executes any CURSE_TYPE_TAXES command locally via exec.Command without validation, then returns outputs/errors to the controller. This is a high-risk backdoor pattern enabling remote code execution and data exfiltration. Treat the package as malicious/untrusted unless its use is explicitly authorized and protected by strong authentication, command whitelisting, transport security, and sandboxing. Immediate remediation options: remove remote-exec functionality, require signed and authenticated commands, enforce a strict allowlist of permitted operations, implement argument parsing that enforces allowed binaries/paths, add timeouts and resource limits, and avoid sending sensitive error output back to the controller.

chanh-master-master-server

0.0.4

by chanhproject

Live on npm

Blocked by Socket

This module is a high-risk obfuscated loader: it embeds an encoded payload, reconstructs a JavaScript string at runtime, executes it via (0, eval)(s), and then sabotages the evaluated object by overwriting functions with constant-return stubs. The final export delegates to a local server module with a caller-provided argument, consistent with a staged supply-chain compromise architecture. This behavior is strongly indicative of malicious intent rather than legitimate dependency functionality.

@eqproject/eqp-dynamic-module

2.3.31

by eqp

Live on npm

Blocked by Socket

This component has a high-severity client-side injection/backdoor vector: it executes eval(action.Action) where action.Action comes from a dynamically fetched configuration (form.ActionsOnRecord). If an attacker can influence the form definition or endpoint responses (via supply-chain/config compromise or server misconfiguration), they can run arbitrary JavaScript in the application context. Additional risks include unsanitized JSON.parse of backend data into UI-bound objects, possible HTML-string rendering concerns for boolean icons, and potential data exposure via debug logging.

ldhpgemrdhs92007

1.250829.11407

by ongtrieuhau861.001

Live on npm

Blocked by Socket

This file implements an unattended update mechanism that fetches and installs .tgz archives from unverified remote sources—both the npm registry (registry[.]npmjs[.]org) and a configurable Firebase-style database URL—by downloading, extracting them into the application directory and then restarting PM2-managed processes. Because there is no cryptographic signature or checksum validation beyond a simple version check, a compromised registry account or database endpoint could deliver arbitrary code to every host running this updater. Additionally, on startup the script gathers extensive system and package metadata—including public IP (via api[.]ipify[.]org), local IP addresses, hostname, OS/platform, Node.js version, CPU/memory statistics, load averages, working directory and package.json fields—and posts it to a configurable Discord webhook endpoint (discordapp[.]com). This behavior poses both a supply-chain risk and a telemetry/privacy exposure risk, as sensitive host information is sent to an external service without explicit user consent or granular control.

tplus-portaltouch

3.27.11

by tplus

Live on npm

Blocked by Socket

This file contains a malicious React router component that implements a supply chain attack through navigation data exfiltration. The code appears to be a legitimate StaticRouter component but secretly intercepts all user navigation events (push, replace, go, goBack, goForward) through the globalHistoryHandler function and forwards them to an external package 'mutants-microfx'. Every navigation action is captured and sent to _mutantsMicrofx.history methods, creating a covert channel for stealing user browsing patterns and routing information. The malicious functionality is disguised within standard React Router patterns, making it difficult to detect during code reviews. Any application using this component would unknowingly transmit all navigation data to the external package without user consent or awareness.

runbooks

1.1.11

Removed from pypi

Blocked by Socket

The script is a convenience bootstrapper but implements high-risk supply-chain and remote code execution patterns: installing unpinned npm packages (which may run lifecycle scripts) and piping a remote script from raw.githubusercontent.com directly into node without integrity checks. The script itself is not obfuscated and contains no embedded payloads, but it creates a simple, reliable path for arbitrary code execution and potential credential theft/exfiltration if either the remote cfat.js or any installed package is compromised. Do not run this script in sensitive or production environments without first: (1) fetching and auditing the remote cfat.js locally, (2) pinning and auditing exact package versions (use a lockfile), (3) verifying artifact integrity (checksums/signatures/pinned commit SHA), and (4) executing in a constrained environment (sandbox, least-privilege account).

Live on pypi for 140 days, 11 hours and 35 minutes before removal. Socket users were protected even while the package was live.

@tpgroup/tpg-icon-inventory

1.1.313

by project7

Live on npm

Blocked by Socket

The code exhibits several indicators of malicious intent, including stealthy data exfiltration of environment variables and sensitive system files, the construction of suspicious URLs, and an attempt to mask its activity as part of a security test. It is likely part of a dependency confusion attack.

cnatool

1.3.4

by robertolsmonteiro

Live on npm

Blocked by Socket

This module contains a critical arbitrary code execution primitive: source(inputFile) reads attacker-influenced content (either from a provided string or from the filesystem when process/fs are available) and executes it via core.eval with no sandboxing or validation. Coupled with localStorage persistence and an auto-download/export mechanism, the overall behavior aligns with a high-risk loader/backdoor pattern. Even without evidence of network exfiltration in this fragment, the eval-based capability makes the package dangerous in a supply-chain context.

todmsmsdsd

0.0.2

by dirto

Removed from npm

Blocked by Socket

The code is malicious as it collects and sends sensitive system information to a remote server without user consent. The use of obfuscation further indicates an attempt to hide its true intent.

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

azure-graphrbac

0.7.4

Removed from npm

Blocked by Socket

Possible typosquat of azure - Explanation: The package 'azure-graphrbac' is labeled as a 'security holding package', which often indicates a placeholder to prevent typosquatting. The name 'azure-graphrbac' closely resembles the legitimate 'azure' package, suggesting it could be a typosquat. The maintainers list includes 'npm', which is not a specific individual or organization, adding to the suspicion. The description does not provide any distinct purpose or functionality, further indicating it might be a placeholder to prevent typosquatting.

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

@2011-08-19/n

99.9.10

by k1nder

Live on npm

Blocked by Socket

This module is highly indicative of malicious supply-chain activity: it collects highly sensitive local/system data and the entire process.env (likely including secrets), then exfiltrates it via an HTTP POST to a hardcoded external IP endpoint. The behavior runs automatically as an entrypoint and uses suppressed error/response handling consistent with covert data theft.

monolith-twirp-webhooks-core

1.7.0

by Nick Quaranto

Live on rubygems

Blocked by Socket

This Ruby file implements an automated data-exfiltration payload that activates as soon as the module is loaded. It gathers the current username (ENV['USER'], ENV['USERNAME'] or `whoami`), machine hostname (Socket.gethostname), and the file's absolute path (File.expand_path(__FILE__)). Each value is hex-encoded and split into chunks to conform to DNS label length limits. A target domain is constructed in the pattern: a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw (with filepath hex truncated if needed), then an HTTPS GET request is sent to https://a<...>.furb[.]pw/. The code executes automatically when loaded as a module (unless __FILE__ == $0), making it a supply chain attack vector. No opt-in or legitimate use case exists. This behavior is unambiguously malicious, leveraging DNS/HTTPS for covert reconnaissance and unauthorized data exfiltration.

github.com/weaveworks/weave

v1.8.2-0.20161124152649-f989a82eb0fb

Live on go

Blocked by Socket

This module is a high-risk runtime packer/dropper: it embeds an encrypted payload, decrypts it using a user-supplied passphrase, writes the result to `bin/do-setup-circleci-secrets`, and immediately executes it. Because there is no integrity/authenticity validation of the decrypted artifact and the executed code is not shown here, the module should be treated as potentially malicious until the decrypted `bin/do-setup-circleci-secrets` content is inspected and validated in a safe environment.

familylink

9.9.5

by family-selector

Removed from npm

Blocked by Socket

This script is exfiltrating sensitive system information such as hostname, user, current directory, and security groups to a remote server without the user's consent. This behavior is highly suspicious and poses a significant security risk.

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

bluelamp-ai

0.45.4

Live on pypi

Blocked by Socket

This module is highly suspicious and poses a serious supply-chain risk: it executes an opaque, embedded payload at import time using base64 decoding and zlib decompression passed to exec. Treat the package as untrusted until the decompressed payload is fully decoded and audited in a controlled environment. Do not use in production; perform offline static and dynamic analysis of the payload to determine whether it contains malicious functionality or benign code.

mtmai

0.3.818

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.

solana-login

1.0.9

by coffeepasta

Removed from npm

Blocked by Socket

This file collects browser data (including profiles and user-specific directories) without authorization, compresses the stolen data, and sends it to an obfuscated remote endpoint (e.g., example[.]com). The script utilizes base64-encoded webhook references and executes PowerShell commands to compress and upload potentially sensitive information, indicating deliberate data exfiltration.

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

ksrpc

0.6.14

Live on pypi

Blocked by Socket

High risk due to unvalidated unpickling of remote data. The combination of streaming HTTP payloads, zlib decompression, and dill/pickle deserialization from an external server constitutes a serious remote code execution and supply-chain risk. There are no integrity checks, no authentication of payload, and no safe-deserialization measures. Recommend removing untrusted unpickling from network response; replace with signature verification, safe deserialization, or a clearly defined, versioned data contract (e.g., JSON with schema validation). Consider sandboxing deserialization or using a restricted execution environment, and implement robust error handling and input validation.

monolith-twirp-git_src_migrator-migrations

1.14.0

by Nick Quaranto

Live on rubygems

Blocked by Socket

This Ruby script gathers sensitive host data (username via ENV or `whoami`, hostname via Socket.gethostname, and its own file path), hex-encodes each piece, and embeds them into a dynamically constructed subdomain under furb[.]pw (e.g. a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw). It then issues an HTTPS GET request to that domain via Net::HTTP, effectively exfiltrating system identifiers to an attacker-controlled endpoint. The use of an inverted `unless __FILE__ == $0` guard causes the code to run when the file is loaded as a library, making it a stealthy supply-chain backdoor with no user consent or visible functionality.

checkmate5

4.1.0.dev30

Removed from pypi

Blocked by Socket

The code is a legitimate developer utility but contains multiple high-risk patterns: exec()/eval() on command-line input and constructing shell commands from unsanitized argv. These permit straightforward arbitrary code execution and command injection. Not malware in intent, but dangerous to run with untrusted inputs. Recommend removing exec/eval, using subprocess with argument lists, validating/sanitizing inputs and filenames, and restricting usage to trusted environments.

Live on pypi for 1 minute before removal. Socket users were protected even while the package was live.

mtmai

0.3.983

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.

9router

0.3.63

by decolua

Live on npm

Blocked by Socket

Best report selection: Report 1 is the most complete and balanced in mapping endpoints and sinks; however, it overstates certainty of malware. Based on this fragment alone, the module is best characterized as a high-risk remote-control interface for a MITM/DNS/certificate-trust capability that accepts and caches privileged credentials. While explicit exfiltration or stealth is not proven in this snippet, the presence of start/stop MITM service and DNS/cert trust operations driven by HTTP inputs is a strong security alert and should be treated as potentially malicious unless access control and helper implementations are thoroughly verified.

github.com/patbcole117/haunt

v0.0.0-20230929170914-2cf6ae3ec270

Live on go

Blocked by Socket

This module implements remote-controlled command execution: it polls a remote endpoint for JSON commands and executes any CURSE_TYPE_TAXES command locally via exec.Command without validation, then returns outputs/errors to the controller. This is a high-risk backdoor pattern enabling remote code execution and data exfiltration. Treat the package as malicious/untrusted unless its use is explicitly authorized and protected by strong authentication, command whitelisting, transport security, and sandboxing. Immediate remediation options: remove remote-exec functionality, require signed and authenticated commands, enforce a strict allowlist of permitted operations, implement argument parsing that enforces allowed binaries/paths, add timeouts and resource limits, and avoid sending sensitive error output back to the controller.

chanh-master-master-server

0.0.4

by chanhproject

Live on npm

Blocked by Socket

This module is a high-risk obfuscated loader: it embeds an encoded payload, reconstructs a JavaScript string at runtime, executes it via (0, eval)(s), and then sabotages the evaluated object by overwriting functions with constant-return stubs. The final export delegates to a local server module with a caller-provided argument, consistent with a staged supply-chain compromise architecture. This behavior is strongly indicative of malicious intent rather than legitimate dependency functionality.

@eqproject/eqp-dynamic-module

2.3.31

by eqp

Live on npm

Blocked by Socket

This component has a high-severity client-side injection/backdoor vector: it executes eval(action.Action) where action.Action comes from a dynamically fetched configuration (form.ActionsOnRecord). If an attacker can influence the form definition or endpoint responses (via supply-chain/config compromise or server misconfiguration), they can run arbitrary JavaScript in the application context. Additional risks include unsanitized JSON.parse of backend data into UI-bound objects, possible HTML-string rendering concerns for boolean icons, and potential data exposure via debug logging.

ldhpgemrdhs92007

1.250829.11407

by ongtrieuhau861.001

Live on npm

Blocked by Socket

This file implements an unattended update mechanism that fetches and installs .tgz archives from unverified remote sources—both the npm registry (registry[.]npmjs[.]org) and a configurable Firebase-style database URL—by downloading, extracting them into the application directory and then restarting PM2-managed processes. Because there is no cryptographic signature or checksum validation beyond a simple version check, a compromised registry account or database endpoint could deliver arbitrary code to every host running this updater. Additionally, on startup the script gathers extensive system and package metadata—including public IP (via api[.]ipify[.]org), local IP addresses, hostname, OS/platform, Node.js version, CPU/memory statistics, load averages, working directory and package.json fields—and posts it to a configurable Discord webhook endpoint (discordapp[.]com). This behavior poses both a supply-chain risk and a telemetry/privacy exposure risk, as sensitive host information is sent to an external service without explicit user consent or granular control.

tplus-portaltouch

3.27.11

by tplus

Live on npm

Blocked by Socket

This file contains a malicious React router component that implements a supply chain attack through navigation data exfiltration. The code appears to be a legitimate StaticRouter component but secretly intercepts all user navigation events (push, replace, go, goBack, goForward) through the globalHistoryHandler function and forwards them to an external package 'mutants-microfx'. Every navigation action is captured and sent to _mutantsMicrofx.history methods, creating a covert channel for stealing user browsing patterns and routing information. The malicious functionality is disguised within standard React Router patterns, making it difficult to detect during code reviews. Any application using this component would unknowingly transmit all navigation data to the external package without user consent or awareness.

runbooks

1.1.11

Removed from pypi

Blocked by Socket

The script is a convenience bootstrapper but implements high-risk supply-chain and remote code execution patterns: installing unpinned npm packages (which may run lifecycle scripts) and piping a remote script from raw.githubusercontent.com directly into node without integrity checks. The script itself is not obfuscated and contains no embedded payloads, but it creates a simple, reliable path for arbitrary code execution and potential credential theft/exfiltration if either the remote cfat.js or any installed package is compromised. Do not run this script in sensitive or production environments without first: (1) fetching and auditing the remote cfat.js locally, (2) pinning and auditing exact package versions (use a lockfile), (3) verifying artifact integrity (checksums/signatures/pinned commit SHA), and (4) executing in a constrained environment (sandbox, least-privilege account).

Live on pypi for 140 days, 11 hours and 35 minutes before removal. Socket users were protected even while the package was live.

@tpgroup/tpg-icon-inventory

1.1.313

by project7

Live on npm

Blocked by Socket

The code exhibits several indicators of malicious intent, including stealthy data exfiltration of environment variables and sensitive system files, the construction of suspicious URLs, and an attempt to mask its activity as part of a security test. It is likely part of a dependency confusion attack.

cnatool

1.3.4

by robertolsmonteiro

Live on npm

Blocked by Socket

This module contains a critical arbitrary code execution primitive: source(inputFile) reads attacker-influenced content (either from a provided string or from the filesystem when process/fs are available) and executes it via core.eval with no sandboxing or validation. Coupled with localStorage persistence and an auto-download/export mechanism, the overall behavior aligns with a high-risk loader/backdoor pattern. Even without evidence of network exfiltration in this fragment, the eval-based capability makes the package dangerous in a supply-chain context.

todmsmsdsd

0.0.2

by dirto

Removed from npm

Blocked by Socket

The code is malicious as it collects and sends sensitive system information to a remote server without user consent. The use of obfuscation further indicates an attempt to hide its true intent.

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

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

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

Protestware or potentially unwanted behavior

Unstable ownership

55 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 Demo

Questions? Call us at (844) SOCKET-0

Read 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 App
Book a Demo

Questions? Call us at (844) SOCKET-0

The latest from the Socket team

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

View all articles