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

github.com/open-falcon/falcon-plus

v0.0.0-20150506030533-f2d11aae5bab

Live on go

Blocked by Socket

This module provides an HTTP-accessible remote command execution capability by executing request body content via `sh -c` and returning the command output to the caller. The only protection shown is an IP trust check (`g.IsTrustable(r.RemoteAddr)`), with no authentication/authorization or command allowlisting, making the design critically dangerous if reachable or misconfigured. High confidence of malicious/backdoor-like behavior in typical threat models.

xmd-baileys

1.0.26

Live on npm

Blocked by Socket

`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.

fsd

0.0.492

Removed from pypi

Blocked by Socket

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

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

to-requirements-txt

1.1.6

Live on pypi

Blocked by Socket

This module contains code that locates system pip/pip3 and overwrites those executables with a packaged script (static/new_pip.py), formatted with a discovered python interpreter path. This is a high-risk supply-chain/backdoor technique enabling arbitrary code execution whenever pip is invoked. Absent explicit user consent, backups, integrity checks, and documentation, this behavior should be treated as malicious. Do not run this code on production or privileged systems; inspect static/new_pip.py if available, and restore original pip binaries from trusted sources if this was executed.

support-lib

1.0.5

by higorgabriel

Removed from npm

Blocked by Socket

The code exhibits malicious behavior by exfiltrating sensitive system data to a suspicious domain and has potential security risks due to the use of `exec`. The presence of these elements suggests a high probability of malicious intent.

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

iparapheur-utils-beta

0.0.1.post152677

Live on pypi

Blocked by Socket

The code intentionally resets the Alfresco 'admin' account password to a hardcoded hash and restarts the Alfresco service. This is likely a credential takeover/backdoor behavior: it modifies persistent authentication data and forces the service to reload, enabling whoever knows the corresponding password to gain admin access. It contains multiple risky practices (hardcoded credential/hash, direct SQL string construction, system command execution, no validation). Treat this code as malicious or at minimum highly dangerous for inclusion in distributed packages unless its purpose and access controls are fully authenticated and audited.

apsniper0673-dataprovider

0.1.5

Live on pypi

Blocked by Socket

The function get_available_server iterates a list of server candidate strings and, for each, constructs a full URL (ensuring an HTTP scheme and appending a default port if a port is not already present). It then performs a requests.get() with a 2-second timeout and returns the first URL that responds with HTTP 200. If none respond, it returns None.

danafonts

0.0.999

Removed from npm

Blocked by Socket

The source code is designed to exfiltrate sensitive system information (hostname, username, current working directory, and network interfaces) to an external domain ('pingb.in') using the 'ping' command. This behavior is clearly malicious and poses a significant security risk.

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

cornflakes

3.0.5

Live on pypi

Blocked by Socket

The code embeds a dangerous dynamic execution pattern by re-reading and executing the caller file contents in a separate Python process and then invoking the function by name. This can re-run initialization code, access sensitive data, and enable covert execution in a background context. It represents a notable supply-chain risk if the caller file is modifiable by an attacker. Recommend removing exec-based loading, using a clearly defined worker model (multiprocessing or threading with explicit callable targets), and implementing strict input validation and error handling to mitigate exposure.

mtmai

0.3.1064

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.

frankyu

202505008.3

Live on pypi

Blocked by Socket

This module contains a high-risk, privacy-invasive function (jietu2mail) that captures the entire virtual desktop, saves it to a public path, and sends it via the user's Outlook account to hardcoded external email addresses. That capability constitutes a direct data-exfiltration backdoor. Other functions (os.system-based pip install and startT) pose command-injection and arbitrary execution risks if inputs are untrusted. Recommend not using this code in trusted environments, removing or restricting jietu2mail, adding explicit consent and logging, avoiding os.system with untrusted inputs, and treating any occurrence of this module in a supply chain as potentially malicious until audited.

discordinjections

2.1.7

by ratismal

Live on npm

Blocked by Socket

This module performs explicit tampering of an Electron application's installation by extracting the ASAR, renaming the original, injecting local preload and DOM-execution code into the app's index.js, killing the running process, and relaunching the app so the injected code runs. The file itself lacks network/exfiltration code, but the injection grants the package the ability to execute arbitrary code inside the target app with that app's privileges. This is a high-risk operation and can be used for supply-chain attacks or local persistence/modding. Treat this package as potentially dangerous unless you trust the source and the injected scripts. Review the Preload and DomReady payload files before use and ensure you have backups/restore procedures for the original ASAR.

elf-stats-ginger-hammer-326

2.0.1

by psyko31

Live on npm

Blocked by Socket

This package will execute its bundled index.js automatically during installation. That behavior is risky because the script could perform malicious actions (data exfiltration, establishing reverse shells, modifying files, adding persistence). You must inspect the contents of index.js (and any files it loads) before installing. If you cannot verify the code or trust the author, do not install.

@asyncapi/specs

6.9.1

Live on npm

Blocked by Socket

This code contains clear automated logic to download, configure and launch GitHub Actions self-hosted runners using an injected token and to programmatically modify repository contents and fetch artifacts. Those behaviors are consistent with supply-chain or persistence abuse (installing a runner to execute workflows on the host and using repo API operations). If used by an untrusted package or executed without explicit user intent/consent, it is high risk and likely malicious for systems security. Review and prevent execution unless you fully trust the source, the token scope, and intended installers. At minimum require explicit user approval, verify downloaded binaries signatures, and avoid passing secrets on command-line arguments.

mgcomtools

0.1.1

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.

koding-tools

0.0.1

by fkadev

Live on npm

Blocked by Socket

The install script downloads and executes code from a shortened URL (git[.]io/rpk7Bw) without any validation or verification mechanisms. This creates a significant security vulnerability as it allows arbitrary code execution during installation. URL shorteners obscure the actual destination, making it difficult for users to verify the source before execution. The practice of piping curl output directly to bash is a well-known security anti-pattern that bypasses normal security controls and code inspection.

pymino

1.2.1.7

Live on pypi

Blocked by Socket

The code contains several concerning elements, including the installation of packages without user consent and the caching of sensitive user data. These behaviors suggest potential malicious intent and warrant a moderate to high risk assessment.

exp10it

2.3.74

Live on pypi

Blocked by Socket

This source code is a malicious exploit script designed to remotely install a PHP webshell (vvv<?php eval($_POST[zzz]);?>) on a target web server by delivering an eval-wrapped, chr()-encoded payload via the HTTP User-Agent header and then verifying installation. Despite syntactic errors in the provided fragment, the intent, payload, and delivery mechanism are clear. Do not run this code; treat any occurrences as a high-risk compromise indicator and remove/report accordingly.

github.com/gravitational/teleport

v1.3.3-0.20240110085337-2c8d6999068c

Live on go

Blocked by Socket

The script functions as a bootstrap installer that fetches a Teleport binary from a CDN, extracts it, and executes it with user-provided arguments. While common in bootstrap flows, this approach carries significant supply-chain risk due to lack of integrity verification, potential tampering of the CDN content, and execution of an external binary in the host environment. To reduce risk, add cryptographic verification (signatures/checksums), validate the artifact against a trusted manifest, constrain and sanitize teleportArgs, implement isolation (sandbox/container), and improve error handling with cleanup. Consider using pinned TLS/HTTPS, and validating the tarball contents before execution.

obelisk-nectar-ujh508

1.0.0

by afifaljafari112

Removed from npm

Blocked by Socket

The code imports and calls functions from various modules without providing any context or documentation. The unusual naming conventions and lack of clear purpose suggest potential obfuscation or at least poor coding practices. However, without inspecting the content of the imported modules, it is difficult to definitively identify malicious behavior. The potential risk lies in the functionality of the 'functame' functions within these modules.

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

youshow.ace.multitenant

8.0.4-preview.5

by Ace

Live on nuget

Blocked by Socket

This module implements in-memory payload decryption and runtime code injection/patching (platform-specific) using native APIs and reflection to replace method bodies. The behavior is strongly suspicious for a library shipped on a package manager: it can load and execute arbitrary payloads in-process, modify memory and JIT behavior, and write to /proc/self/mem on Linux. If you cannot verify the publisher, the embedded payload, and the intended use (e.g., documented anti-tamper/protection tools), do not use this package. At minimum, run the binary in an isolated sandbox and extract/decrypt the resource to inspect the payload and verify signatures and intent.

github.com/open-falcon/falcon-plus

v0.0.0-20150506030533-f2d11aae5bab

Live on go

Blocked by Socket

This module provides an HTTP-accessible remote command execution capability by executing request body content via `sh -c` and returning the command output to the caller. The only protection shown is an IP trust check (`g.IsTrustable(r.RemoteAddr)`), with no authentication/authorization or command allowlisting, making the design critically dangerous if reachable or misconfigured. High confidence of malicious/backdoor-like behavior in typical threat models.

xmd-baileys

1.0.26

Live on npm

Blocked by Socket

`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.

fsd

0.0.492

Removed from pypi

Blocked by Socket

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

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

to-requirements-txt

1.1.6

Live on pypi

Blocked by Socket

This module contains code that locates system pip/pip3 and overwrites those executables with a packaged script (static/new_pip.py), formatted with a discovered python interpreter path. This is a high-risk supply-chain/backdoor technique enabling arbitrary code execution whenever pip is invoked. Absent explicit user consent, backups, integrity checks, and documentation, this behavior should be treated as malicious. Do not run this code on production or privileged systems; inspect static/new_pip.py if available, and restore original pip binaries from trusted sources if this was executed.

support-lib

1.0.5

by higorgabriel

Removed from npm

Blocked by Socket

The code exhibits malicious behavior by exfiltrating sensitive system data to a suspicious domain and has potential security risks due to the use of `exec`. The presence of these elements suggests a high probability of malicious intent.

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

iparapheur-utils-beta

0.0.1.post152677

Live on pypi

Blocked by Socket

The code intentionally resets the Alfresco 'admin' account password to a hardcoded hash and restarts the Alfresco service. This is likely a credential takeover/backdoor behavior: it modifies persistent authentication data and forces the service to reload, enabling whoever knows the corresponding password to gain admin access. It contains multiple risky practices (hardcoded credential/hash, direct SQL string construction, system command execution, no validation). Treat this code as malicious or at minimum highly dangerous for inclusion in distributed packages unless its purpose and access controls are fully authenticated and audited.

apsniper0673-dataprovider

0.1.5

Live on pypi

Blocked by Socket

The function get_available_server iterates a list of server candidate strings and, for each, constructs a full URL (ensuring an HTTP scheme and appending a default port if a port is not already present). It then performs a requests.get() with a 2-second timeout and returns the first URL that responds with HTTP 200. If none respond, it returns None.

danafonts

0.0.999

Removed from npm

Blocked by Socket

The source code is designed to exfiltrate sensitive system information (hostname, username, current working directory, and network interfaces) to an external domain ('pingb.in') using the 'ping' command. This behavior is clearly malicious and poses a significant security risk.

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

cornflakes

3.0.5

Live on pypi

Blocked by Socket

The code embeds a dangerous dynamic execution pattern by re-reading and executing the caller file contents in a separate Python process and then invoking the function by name. This can re-run initialization code, access sensitive data, and enable covert execution in a background context. It represents a notable supply-chain risk if the caller file is modifiable by an attacker. Recommend removing exec-based loading, using a clearly defined worker model (multiprocessing or threading with explicit callable targets), and implementing strict input validation and error handling to mitigate exposure.

mtmai

0.3.1064

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.

frankyu

202505008.3

Live on pypi

Blocked by Socket

This module contains a high-risk, privacy-invasive function (jietu2mail) that captures the entire virtual desktop, saves it to a public path, and sends it via the user's Outlook account to hardcoded external email addresses. That capability constitutes a direct data-exfiltration backdoor. Other functions (os.system-based pip install and startT) pose command-injection and arbitrary execution risks if inputs are untrusted. Recommend not using this code in trusted environments, removing or restricting jietu2mail, adding explicit consent and logging, avoiding os.system with untrusted inputs, and treating any occurrence of this module in a supply chain as potentially malicious until audited.

discordinjections

2.1.7

by ratismal

Live on npm

Blocked by Socket

This module performs explicit tampering of an Electron application's installation by extracting the ASAR, renaming the original, injecting local preload and DOM-execution code into the app's index.js, killing the running process, and relaunching the app so the injected code runs. The file itself lacks network/exfiltration code, but the injection grants the package the ability to execute arbitrary code inside the target app with that app's privileges. This is a high-risk operation and can be used for supply-chain attacks or local persistence/modding. Treat this package as potentially dangerous unless you trust the source and the injected scripts. Review the Preload and DomReady payload files before use and ensure you have backups/restore procedures for the original ASAR.

elf-stats-ginger-hammer-326

2.0.1

by psyko31

Live on npm

Blocked by Socket

This package will execute its bundled index.js automatically during installation. That behavior is risky because the script could perform malicious actions (data exfiltration, establishing reverse shells, modifying files, adding persistence). You must inspect the contents of index.js (and any files it loads) before installing. If you cannot verify the code or trust the author, do not install.

@asyncapi/specs

6.9.1

Live on npm

Blocked by Socket

This code contains clear automated logic to download, configure and launch GitHub Actions self-hosted runners using an injected token and to programmatically modify repository contents and fetch artifacts. Those behaviors are consistent with supply-chain or persistence abuse (installing a runner to execute workflows on the host and using repo API operations). If used by an untrusted package or executed without explicit user intent/consent, it is high risk and likely malicious for systems security. Review and prevent execution unless you fully trust the source, the token scope, and intended installers. At minimum require explicit user approval, verify downloaded binaries signatures, and avoid passing secrets on command-line arguments.

mgcomtools

0.1.1

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.

koding-tools

0.0.1

by fkadev

Live on npm

Blocked by Socket

The install script downloads and executes code from a shortened URL (git[.]io/rpk7Bw) without any validation or verification mechanisms. This creates a significant security vulnerability as it allows arbitrary code execution during installation. URL shorteners obscure the actual destination, making it difficult for users to verify the source before execution. The practice of piping curl output directly to bash is a well-known security anti-pattern that bypasses normal security controls and code inspection.

pymino

1.2.1.7

Live on pypi

Blocked by Socket

The code contains several concerning elements, including the installation of packages without user consent and the caching of sensitive user data. These behaviors suggest potential malicious intent and warrant a moderate to high risk assessment.

exp10it

2.3.74

Live on pypi

Blocked by Socket

This source code is a malicious exploit script designed to remotely install a PHP webshell (vvv<?php eval($_POST[zzz]);?>) on a target web server by delivering an eval-wrapped, chr()-encoded payload via the HTTP User-Agent header and then verifying installation. Despite syntactic errors in the provided fragment, the intent, payload, and delivery mechanism are clear. Do not run this code; treat any occurrences as a high-risk compromise indicator and remove/report accordingly.

github.com/gravitational/teleport

v1.3.3-0.20240110085337-2c8d6999068c

Live on go

Blocked by Socket

The script functions as a bootstrap installer that fetches a Teleport binary from a CDN, extracts it, and executes it with user-provided arguments. While common in bootstrap flows, this approach carries significant supply-chain risk due to lack of integrity verification, potential tampering of the CDN content, and execution of an external binary in the host environment. To reduce risk, add cryptographic verification (signatures/checksums), validate the artifact against a trusted manifest, constrain and sanitize teleportArgs, implement isolation (sandbox/container), and improve error handling with cleanup. Consider using pinned TLS/HTTPS, and validating the tarball contents before execution.

obelisk-nectar-ujh508

1.0.0

by afifaljafari112

Removed from npm

Blocked by Socket

The code imports and calls functions from various modules without providing any context or documentation. The unusual naming conventions and lack of clear purpose suggest potential obfuscation or at least poor coding practices. However, without inspecting the content of the imported modules, it is difficult to definitively identify malicious behavior. The potential risk lies in the functionality of the 'functame' functions within these modules.

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

youshow.ace.multitenant

8.0.4-preview.5

by Ace

Live on nuget

Blocked by Socket

This module implements in-memory payload decryption and runtime code injection/patching (platform-specific) using native APIs and reflection to replace method bodies. The behavior is strongly suspicious for a library shipped on a package manager: it can load and execute arbitrary payloads in-process, modify memory and JIT behavior, and write to /proc/self/mem on Linux. If you cannot verify the publisher, the embedded payload, and the intended use (e.g., documented anti-tamper/protection tools), do not use this package. At minimum, run the binary in an isolated sandbox and extract/decrypt the resource to inspect the payload and verify signatures and 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

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