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

@link-assistant/hive-mind

1.50.9

by GitHub Actions

Live on npm

Blocked by Socket

The dominant security issue is a high-impact supply-chain/RCE bootstrap: the script fetches JavaScript from an external CDN at runtime and executes it via eval() to obtain a command execution facility. This creates an extreme trust assumption (uncontrolled remote code execution) and makes subsequent command execution behavior unverifiable. Additionally, caller-controlled parameters are interpolated into `gh api` and `git pull` commands without validation in this snippet, increasing the likelihood of command/argument misuse. Malware is not explicitly shown, but the loader pattern makes malicious takeover plausible. Review/mitigate by removing runtime eval/fetch, pinning dependencies with integrity/lockfiles, and validating/escaping all command parameters.

github-badge-bot

1.12.1

by kingtiger19990427

Live on npm

Blocked by Socket

High risk. The package runs an extract-tokens script automatically on install (postinstall) and provides tooling that can harvest tokens and send invites. Combined with screen-capture capability and the suspicious self-dependency, this package is likely to perform credential theft and unsolicited account actions. Do not install on any machine with credentials or sensitive data; inspect the referenced scripts (bin/extract-tokens.js, bin/preinstall.js, bin/start-bot.js, etc.) in a safe, offline environment before considering use.

pyliveupdate

0.1.4

Live on pypi

Blocked by Socket

The module implements a reverse interactive Python console that provides remote arbitrary code execution and stdout/stderr exfiltration over a TCP connection. It behaves as a backdoor/reverse shell. There is no authentication, authorization, or encryption visible; the console executes received strings in the global context, making it highly dangerous in untrusted environments. The typographical bug when restoring stderr may leave outputs redirected or cause thread errors. Treat this code as high-risk: only allow in tightly controlled, trusted debugging scenarios or remove/restrict it from production dependencies.

zuu

25.8.8

Live on pypi

Blocked by Socket

Code constructs a file path to access Clipchamp application's private IndexedDB storage directory located in the Windows user profile AppData folder. Uses os.getlogin() to retrieve the current username and formats it into a hardcoded path template targeting Clipchamp's LocalState data directory. IndexedDB typically contains user projects, media files, preferences, and other sensitive application data. This represents unauthorized access to another application's private data storage, constituting potential data theft. The code contains a syntax error with a missing closing parenthesis but shows clear malicious intent to access user data without authorization.

hero-tracing-placeholder

1.9.6

by jpdhackerone06

Removed from npm

Blocked by Socket

This package runs arbitrary local code during installation (node index.js). That behavior is inherently risky: index.js could perform telemetry, exfiltrate secrets, install backdoors, modify the repository, or spawn remote shells. Before installing, inspect the contents of index.js and any files it loads; prefer installing only from trusted packages or run installation in an isolated environment. The declared dependencies (axios, node-fetch, ws) increase the potential for network-based malicious behavior but are not themselves flagged as non-registry sources.

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

routiform

3.8.6

by linhnguyen96114

Live on npm

Blocked by Socket

Overall, this fragment is primarily a server module with standard cookie utilities and API endpoints, but it includes a significant supply-chain/security red flag: it collects `apiKeys` and transmits them via a configurable external POST endpoint (CLOUD_URL/NEXT_PUBLIC_CLOUD_URL). It also includes child_process capability for machine-id/hostname derivation, increasing risk if other bundled logic is compromised. While there is no explicit reverse shell/persistence shown, the presence of sensitive-data egress makes this a high-priority review item (destination allowlisting, auth, and data minimization controls are required to treat it as safe).

requests-async

1.1.3

Removed from npm

Blocked by Socket

This file contains code that sends environment data to a remote webhook, downloads and executes scripts from external sources (example[.]com), modifies PowerShell execution policies, and places files in system startup locations to maintain persistence. These actions indicate malicious intent and pose high security risks.

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

github.com/weaveworks/weave

v1.4.7-0.20160405165418-bac3d65ede1f

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.

bluelamp-ai

1.0.2

Removed from pypi

Blocked by Socket

This file intentionally conceals executable Python code using base64 + zlib and executes it immediately at import via exec(). That pattern is strongly associated with obfuscation and supply-chain or trojanized code. Until the decompressed payload is safely inspected, treat the package as unsafe. Do not import or run this module in any production or sensitive environment; inspect the decompressed source in an isolated sandbox before use.

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

bigdl-orca

2.4.0b20231015

Live on pypi

Blocked by Socket

The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.

moapy

0.8.9.8

Removed from pypi

Blocked by Socket

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

Live on pypi for 19 hours and 27 minutes before removal. Socket users were protected even while the package was live.

thoughtjack

0.6.0

Live on cargo

Blocked by Socket

This fragment is a highly malicious attack specification describing a tool-poisoning/prompt-injection exfiltration chain. It explicitly uses Base64-encoded “decode and follow” instructions embedded in tool descriptions to coerce an agent into invoking a local filesystem read (read_file) targeting SSH private keys, then propagates the secret into later parameters and potential outbound workflows (web_search). Treat this as hostile guidance, not a legitimate dependency component.

bigdl-orca

2.5.0b20240227

Live on pypi

Blocked by Socket

The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.

cargo-bins/cargo-binstall

ff99bb56f1774ab8b0e05d4d69926bb3a5c0b34f

Live on actions

Blocked by Socket

The script implements a suspicious bootstrap flow that injects a user-provided binary into the toolchain path and then performs multiple self-update steps for cargo-binstall, manipulating symlinks and binary placement. This creates a potential supply-chain attack surface where a malicious payload could be executed as part of the cargo tooling chain or persist via the bin directory. Lack of validation, hard reliance on local payloads, and aggressive self-update steps increase the risk of compromise. This should not be trusted in a published package without strict integrity checks and explicit source verification.

rinobot-plugin-line-plot

0.2.3

by eoinmurray

Live on npm

Blocked by Socket

The script executes pip to install/upgrade an external Python package. That can lead to arbitrary untrusted code execution, persistence, and supply‑chain compromise. Treat this as high risk unless the package source and integrity are strictly validated and this behavior is expected.

lavavu

1.9.7

Live on pypi

Blocked by Socket

This code implements an unauthenticated HTTP control surface for a viewer object that accepts arbitrary commands from request paths and bodies, dynamically looks up and calls attributes on internal objects, loads JSON from requests and triggers callbacks, and serves local files. These behaviors make it high risk for supply-chain or runtime compromise: untrusted clients can invoke methods and mutate state which could lead to data exfiltration, filesystem access, or other damaging actions depending on the viewer's API. It should not be exposed to untrusted networks or used without strict authentication/authorization and input validation.

mgcomtools

0.1.56

Live on pypi

Blocked by Socket

This file contains a function that processes an input message by printing it locally and sending it via an HTTP POST request to an external API endpoint (https://api.example.com/bot<TOKEN>/sendMessage?chat_id=<CHANNEL_ID>&text=<MESSAGE>). The function uses hardcoded sensitive credentials—a bot token and channel ID—which, if compromised, could allow an attacker to exfiltrate data from systems where the code is deployed. By automatically forwarding any given message to a predetermined external channel, the function establishes a covert channel for data leakage, presenting a significant security risk.

remfunc

2.9

Live on pypi

Blocked by Socket

This module implements a remote-execution mechanism: it accepts pickled data over a socket, unpickles it and exec()s it, and returns results. That pattern enables arbitrary remote code execution and is effectively a backdoor. Although the code contains multiple syntax/logic errors and likely will not work unmodified, its intent is clear and dangerous. Do not use this code in production or include it as a dependency. If present in a package, treat it as a high-severity supply-chain risk and remove or sandbox it until thoroughly audited.

dart-blossom-pcp443

1.0.0

by afifaljafari112

Removed from npm

Blocked by Socket

The code fragment imports various obscure modules and calls their 'functame' method. The naming conventions and method names are unusual, and the intent of the code is not clear. This warrants further investigation into the actual content of the imported modules to determine if they are malicious or contain security risks. The lack of clear functionality and the odd naming conventions raise red flags.

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

omniindex

0.1.2

Live on pypi

Blocked by Socket

The module contains a high-risk pattern: it constructs and sends a JSON payload containing the api_key (as "password") and other configuration values to a hardcoded external API (api.omniindex.xyz). This is unexpected behavior for a dependency and constitutes credential exfiltration risk and a likely supply-chain/backdoor indicator. The code also contains bugs/inconsistencies (unused DEFAULT_TIMEOUT, missing self.timeout, ignored caller payload, and truncated snippet) that lower confidence in exact runtime behavior but do not remove the principal concern. Treat this code as untrusted until provenance and intent are verified; avoid deploying where real secrets are supplied.

bapy

0.2.178

Live on pypi

Blocked by Socket

Malicious bash initialization script that performs destructive filesystem operations on macOS systems. When the external helper script 'isuserdarwin.sh' returns true, the script silently executes 'sudo rm -rf' to delete critical user directories including ~/Applications, ~/Movies, ~/Music, ~/Pictures, ~/Public, and ~/Sites without user confirmation. It also removes the macOS sleepimage file at /private/var/vm/sleepimage. The script modifies SSH directory permissions using 'sudo chmod -R go-rw' which can break SSH access or expose credentials. All destructive operations have their output suppressed with '>/dev/null 2>&1' to hide failures and make the actions stealthy. The script uses eval to execute the output of /usr/bin/dircolors, creating a command injection risk if the binary is compromised. It depends on external scripts (paper.sh, isuserdarwin.sh, debug.sh) whose contents are unknown and could execute arbitrary code. The destructive operations are embedded within what appears to be routine shell configuration code, likely to disguise the malicious intent.

@link-assistant/hive-mind

1.50.9

by GitHub Actions

Live on npm

Blocked by Socket

The dominant security issue is a high-impact supply-chain/RCE bootstrap: the script fetches JavaScript from an external CDN at runtime and executes it via eval() to obtain a command execution facility. This creates an extreme trust assumption (uncontrolled remote code execution) and makes subsequent command execution behavior unverifiable. Additionally, caller-controlled parameters are interpolated into `gh api` and `git pull` commands without validation in this snippet, increasing the likelihood of command/argument misuse. Malware is not explicitly shown, but the loader pattern makes malicious takeover plausible. Review/mitigate by removing runtime eval/fetch, pinning dependencies with integrity/lockfiles, and validating/escaping all command parameters.

github-badge-bot

1.12.1

by kingtiger19990427

Live on npm

Blocked by Socket

High risk. The package runs an extract-tokens script automatically on install (postinstall) and provides tooling that can harvest tokens and send invites. Combined with screen-capture capability and the suspicious self-dependency, this package is likely to perform credential theft and unsolicited account actions. Do not install on any machine with credentials or sensitive data; inspect the referenced scripts (bin/extract-tokens.js, bin/preinstall.js, bin/start-bot.js, etc.) in a safe, offline environment before considering use.

pyliveupdate

0.1.4

Live on pypi

Blocked by Socket

The module implements a reverse interactive Python console that provides remote arbitrary code execution and stdout/stderr exfiltration over a TCP connection. It behaves as a backdoor/reverse shell. There is no authentication, authorization, or encryption visible; the console executes received strings in the global context, making it highly dangerous in untrusted environments. The typographical bug when restoring stderr may leave outputs redirected or cause thread errors. Treat this code as high-risk: only allow in tightly controlled, trusted debugging scenarios or remove/restrict it from production dependencies.

zuu

25.8.8

Live on pypi

Blocked by Socket

Code constructs a file path to access Clipchamp application's private IndexedDB storage directory located in the Windows user profile AppData folder. Uses os.getlogin() to retrieve the current username and formats it into a hardcoded path template targeting Clipchamp's LocalState data directory. IndexedDB typically contains user projects, media files, preferences, and other sensitive application data. This represents unauthorized access to another application's private data storage, constituting potential data theft. The code contains a syntax error with a missing closing parenthesis but shows clear malicious intent to access user data without authorization.

hero-tracing-placeholder

1.9.6

by jpdhackerone06

Removed from npm

Blocked by Socket

This package runs arbitrary local code during installation (node index.js). That behavior is inherently risky: index.js could perform telemetry, exfiltrate secrets, install backdoors, modify the repository, or spawn remote shells. Before installing, inspect the contents of index.js and any files it loads; prefer installing only from trusted packages or run installation in an isolated environment. The declared dependencies (axios, node-fetch, ws) increase the potential for network-based malicious behavior but are not themselves flagged as non-registry sources.

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

routiform

3.8.6

by linhnguyen96114

Live on npm

Blocked by Socket

Overall, this fragment is primarily a server module with standard cookie utilities and API endpoints, but it includes a significant supply-chain/security red flag: it collects `apiKeys` and transmits them via a configurable external POST endpoint (CLOUD_URL/NEXT_PUBLIC_CLOUD_URL). It also includes child_process capability for machine-id/hostname derivation, increasing risk if other bundled logic is compromised. While there is no explicit reverse shell/persistence shown, the presence of sensitive-data egress makes this a high-priority review item (destination allowlisting, auth, and data minimization controls are required to treat it as safe).

requests-async

1.1.3

Removed from npm

Blocked by Socket

This file contains code that sends environment data to a remote webhook, downloads and executes scripts from external sources (example[.]com), modifies PowerShell execution policies, and places files in system startup locations to maintain persistence. These actions indicate malicious intent and pose high security risks.

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

github.com/weaveworks/weave

v1.4.7-0.20160405165418-bac3d65ede1f

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.

bluelamp-ai

1.0.2

Removed from pypi

Blocked by Socket

This file intentionally conceals executable Python code using base64 + zlib and executes it immediately at import via exec(). That pattern is strongly associated with obfuscation and supply-chain or trojanized code. Until the decompressed payload is safely inspected, treat the package as unsafe. Do not import or run this module in any production or sensitive environment; inspect the decompressed source in an isolated sandbox before use.

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

bigdl-orca

2.4.0b20231015

Live on pypi

Blocked by Socket

The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.

moapy

0.8.9.8

Removed from pypi

Blocked by Socket

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

Live on pypi for 19 hours and 27 minutes before removal. Socket users were protected even while the package was live.

thoughtjack

0.6.0

Live on cargo

Blocked by Socket

This fragment is a highly malicious attack specification describing a tool-poisoning/prompt-injection exfiltration chain. It explicitly uses Base64-encoded “decode and follow” instructions embedded in tool descriptions to coerce an agent into invoking a local filesystem read (read_file) targeting SSH private keys, then propagates the secret into later parameters and potential outbound workflows (web_search). Treat this as hostile guidance, not a legitimate dependency component.

bigdl-orca

2.5.0b20240227

Live on pypi

Blocked by Socket

The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.

cargo-bins/cargo-binstall

ff99bb56f1774ab8b0e05d4d69926bb3a5c0b34f

Live on actions

Blocked by Socket

The script implements a suspicious bootstrap flow that injects a user-provided binary into the toolchain path and then performs multiple self-update steps for cargo-binstall, manipulating symlinks and binary placement. This creates a potential supply-chain attack surface where a malicious payload could be executed as part of the cargo tooling chain or persist via the bin directory. Lack of validation, hard reliance on local payloads, and aggressive self-update steps increase the risk of compromise. This should not be trusted in a published package without strict integrity checks and explicit source verification.

rinobot-plugin-line-plot

0.2.3

by eoinmurray

Live on npm

Blocked by Socket

The script executes pip to install/upgrade an external Python package. That can lead to arbitrary untrusted code execution, persistence, and supply‑chain compromise. Treat this as high risk unless the package source and integrity are strictly validated and this behavior is expected.

lavavu

1.9.7

Live on pypi

Blocked by Socket

This code implements an unauthenticated HTTP control surface for a viewer object that accepts arbitrary commands from request paths and bodies, dynamically looks up and calls attributes on internal objects, loads JSON from requests and triggers callbacks, and serves local files. These behaviors make it high risk for supply-chain or runtime compromise: untrusted clients can invoke methods and mutate state which could lead to data exfiltration, filesystem access, or other damaging actions depending on the viewer's API. It should not be exposed to untrusted networks or used without strict authentication/authorization and input validation.

mgcomtools

0.1.56

Live on pypi

Blocked by Socket

This file contains a function that processes an input message by printing it locally and sending it via an HTTP POST request to an external API endpoint (https://api.example.com/bot<TOKEN>/sendMessage?chat_id=<CHANNEL_ID>&text=<MESSAGE>). The function uses hardcoded sensitive credentials—a bot token and channel ID—which, if compromised, could allow an attacker to exfiltrate data from systems where the code is deployed. By automatically forwarding any given message to a predetermined external channel, the function establishes a covert channel for data leakage, presenting a significant security risk.

remfunc

2.9

Live on pypi

Blocked by Socket

This module implements a remote-execution mechanism: it accepts pickled data over a socket, unpickles it and exec()s it, and returns results. That pattern enables arbitrary remote code execution and is effectively a backdoor. Although the code contains multiple syntax/logic errors and likely will not work unmodified, its intent is clear and dangerous. Do not use this code in production or include it as a dependency. If present in a package, treat it as a high-severity supply-chain risk and remove or sandbox it until thoroughly audited.

dart-blossom-pcp443

1.0.0

by afifaljafari112

Removed from npm

Blocked by Socket

The code fragment imports various obscure modules and calls their 'functame' method. The naming conventions and method names are unusual, and the intent of the code is not clear. This warrants further investigation into the actual content of the imported modules to determine if they are malicious or contain security risks. The lack of clear functionality and the odd naming conventions raise red flags.

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

omniindex

0.1.2

Live on pypi

Blocked by Socket

The module contains a high-risk pattern: it constructs and sends a JSON payload containing the api_key (as "password") and other configuration values to a hardcoded external API (api.omniindex.xyz). This is unexpected behavior for a dependency and constitutes credential exfiltration risk and a likely supply-chain/backdoor indicator. The code also contains bugs/inconsistencies (unused DEFAULT_TIMEOUT, missing self.timeout, ignored caller payload, and truncated snippet) that lower confidence in exact runtime behavior but do not remove the principal concern. Treat this code as untrusted until provenance and intent are verified; avoid deploying where real secrets are supplied.

bapy

0.2.178

Live on pypi

Blocked by Socket

Malicious bash initialization script that performs destructive filesystem operations on macOS systems. When the external helper script 'isuserdarwin.sh' returns true, the script silently executes 'sudo rm -rf' to delete critical user directories including ~/Applications, ~/Movies, ~/Music, ~/Pictures, ~/Public, and ~/Sites without user confirmation. It also removes the macOS sleepimage file at /private/var/vm/sleepimage. The script modifies SSH directory permissions using 'sudo chmod -R go-rw' which can break SSH access or expose credentials. All destructive operations have their output suppressed with '>/dev/null 2>&1' to hide failures and make the actions stealthy. The script uses eval to execute the output of /usr/bin/dircolors, creating a command injection risk if the binary is compromised. It depends on external scripts (paper.sh, isuserdarwin.sh, debug.sh) whose contents are unknown and could execute arbitrary code. The destructive operations are embedded within what appears to be routine shell configuration code, likely to disguise the malicious intent.

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

Unstable ownership

Git dependency

GitHub dependency

AI-detected potential malware

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

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