
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
Quickly evaluate the security and health of any open source package.
azure-graphrbac
8.4.1
Removed from npm
Blocked by Socket
The source code exhibits clear signs of malicious behavior by exfiltrating system and project information to external servers. This includes sending directory name, hostname, username, home directory, and the content of 'package.json' to suspicious domains. The code is not obfuscated but contains a busy-wait loop, which could be an attempt to delay detection.
Live on npm for 1 hour and 22 minutes before removal. Socket users were protected even while the package was live.
dh-test-cafe-automation-library
2.2.0
by delight732k
Removed from npm
Blocked by Socket
The code is susceptible to SQL injection due to the direct use of rawQuery in the query execution without any sanitization. It doesn't appear to have any intentionally malicious behavior, such as data theft or unauthorized system access, but it poses a high security risk due to the potential for SQL injection.
Live on npm for 1 hour and 5 minutes before removal. Socket users were protected even while the package was live.
cloudcmd
19.9.18
by coderaiser
Live on npm
Blocked by Socket
This code is a high-confidence malicious/backdoor-style payload: it exposes a Node.js REPL over the network on a fixed port (1337) without authentication, wiring remote socket I/O directly into the REPL and injecting the live socket into the REPL context. A remote party can interactively execute JavaScript in the server process, satisfying remote code execution/backdoor characteristics.
solana-core
1.16.10
Live on cargo
Blocked by Socket
This code implements purposeful sabotage of the ledger propagation process. For early slots it forges the last entry's hash and broadcasts/storage-duplicates a corrupted last shred while preserving the correct shred locally and revealing it only after a configured delay. The timing and 'is_last' manipulation force peer validators into repair behavior and can cause verification failures and denial-of-service or consensus disruption. This is a high-risk, protocol-level backdoor and should be treated as malicious. Avoid deploying or accepting this code in any validator or production supply chain.
mongo-hacker-modern
0.1.3
by softwarecreations
Removed from npm
Blocked by Socket
This package will run make install during installation and make uninstall on removal. Because Makefiles can run arbitrary shell commands, this is a potentially high-risk install-time action. You should inspect the package's Makefile (and any scripts it calls) before installing, avoid installing as root or with unnecessary privileges, and prefer installing in an isolated environment. The repository using a git SSH URL increases supply-chain caution but does not by itself prove malicious behavior.
Live on npm for 4 hours and 32 minutes before removal. Socket users were protected even while the package was live.
sbcli-debug
2.0.6
Live on pypi
Blocked by Socket
No direct malware code is present in the fragment (no obvious backdoor, reverse shell, or exfiltration implemented in this file itself). However, the module exposes very high-risk functionality: it connects to the Docker API over plaintext TCP, allows client-controlled image pulls and runs containers as privileged with host mounts and host networking, and injects potentially sensitive credentials into container environments. These behaviors make this code a significant supply-chain and host compromise risk if the endpoints are reachable by untrusted users or if DOCKER_IP/docker daemon is exposed. Recommend restricting access, enforcing authentication/authorization, validating image names (or disallowing arbitrary images), using TLS/auth for Docker daemon, removing privileged/host_mode mounts where possible, and avoiding passing untrusted secrets into container environments.
frdl/remote-psr4
0.9.9
Live on composer
Blocked by Socket
This fragment implements a remote-controlled self-modifying loader that fetches and executes PHP from a hard-coded external server, overwriting its own source without any integrity checks or restrictions. It is a high-risk backdoor/supply-chain pattern and should be treated as malicious. Recommended actions: do not run this code, remove it from codebases, audit any systems that executed it, block network access to the remote host, and restore files from a trusted backup or upstream source.
dlpytools
0.0.9
Live on pypi
Blocked by Socket
This code includes functionality that directly extracts and decrypts Google Chrome cookies for a hardcoded/target host using Windows DPAPI (CryptUnprotectData). That behavior constitutes credential harvesting and is high-risk. Additional issues (mutable default arguments, typographical bugs, fragile path handling) indicate poor coding practices. Although there is no built-in network exfiltration in this snippet, the returned plaintext cookies enable trivial exfiltration by any caller. Treat this module as malicious or at minimum as requiring immediate review and removal from supply chain unless its presence is explicitly authorized and audited.
agentry-community
1.0.6
Live on pypi
Blocked by Socket
This code contains a high-risk command-injection pattern: it constructs a shell command from user input and calls subprocess.run with shell=True. While there is no direct sign of obfuscation, embedded backdoors, or built-in network exfiltration, the unsafe execution pattern is sufficient to enable arbitrary command execution, data theft, or destruction if an attacker can supply the 'command' or 'working_directory' values. Remediation is required: avoid shell=True, parse/validate inputs, constrain working_directory, and avoid returning raw command outputs to untrusted callers.
new-npm-packages
999.9.9
by mega707
Removed from npm
Blocked by Socket
The script collects information like package details, directories, hostnames, DNS servers and user information, and sends it to a remote server.
Live on npm for 3 hours and 13 minutes before removal. Socket users were protected even while the package was live.
oaut
1.2.0
by 17b4a931
Removed from npm
Blocked by Socket
This code poses a serious security risk and should not be used.
Live on npm for 16 minutes before removal. Socket users were protected even while the package was live.
@feasibleone/blong-gogo
1.15.0
by GitHub Actions
Live on npm
Blocked by Socket
The fragment implements high-risk remote capabilities. While `/rename` and `/copy` are sensitive filesystem mutation primitives gated by `auth`, the conditional `${prefix}/shell` endpoint is a clear remote command execution surface: it executes arbitrary client-supplied `command` with `spawn` using `shell: true`, forwards `process.env` to the child process, and streams stdout/stderr back to the HTTP client. If enabled (or if auth is weak/misconfigured), this acts as an effective backdoor/exfiltration mechanism.
ckanext-toolbelt
0.5.1
Live on pypi
Blocked by Socket
The code primarily serves to provide alert functionality using the SweetAlert2 library. However, it includes potentially risky behavior, such as the use of new Function(), and dynamically playing a remote audio file based on locale and domain conditions. This requires further scrutiny for any context-specific vulnerabilities.
seismonitor
0.0.6
Live on pypi
Blocked by Socket
This module is a wrapper for Seisan seismic tools and a formatter for STATION0.HYP files. It performs numerous system-level operations: downloading and extracting external software, installing system packages via apt-get with sudo, copying a packaged lib into /usr/lib, and executing external Seisan binaries via pexpect/subprocess. There is no clear code that exfiltrates secrets or establishes backdoors, but the lack of integrity checks on downloads, the requirement for root operations, and frequent shell command usage create substantial supply-chain and privilege escalation risk. Use in environments where the package or its downloaded content could be tampered with is dangerous. Recommend not running download_seisan() with sudo on production hosts and reviewing/locking sources, adding checksum verification, and avoiding copying bundled libraries into system paths.
aient
1.2.40
Live on pypi
Blocked by Socket
The code exhibits dangerous sandbox and command-injection patterns, notably an injection pathway for Python commands that could be weaponized. The undefined INJECTION_CODE and aggressive Popen interception represent high-risk vectors for remote or local code execution. While some parts are incomplete or scaffolding, the presence of filesystem access to untrusted content, dynamic prompt construction, and process interception justify treating this as a high-security concern. Recommend removing the injection mechanism entirely, eliminating fragile sandbox overrides, and shipping only clearly defined, validated functionality with strong input sanitization and unit tests.
sn-canvas-common
23.0.16
by hsrv-comm
Removed from npm
Blocked by Socket
The script collects environment variable data and package information, then sends it to a remote server in a base64-encoded format.
Live on npm for 17 hours and 13 minutes before removal. Socket users were protected even while the package was live.
zounds
0.24.12
Live on pypi
Blocked by Socket
This code fragment contains a critical remote code execution vector: it evaluates/executes HTTP request bodies directly via eval() and exec() and exposes results via HTTP. If this endpoint is reachable by untrusted users, it enables full takeover of the process and access to system resources, credentials, and network. It is highly dangerous in typical deployment and should not be exposed publicly. Even if the current fragment has a small bug (incorrect return name), the pattern is clearly malicious or severely insecure. Immediate remediation: remove or gate the REPL endpoint behind strong authentication and sandboxing, avoid eval/exec on untrusted input, and fix mutable default arguments and the handler return typo.
tfjs-layers
7.5.0
by jpdtestjpd
Live on npm
Blocked by Socket
The file contains code that secretly gathers detailed system information, such as hostname, OS type, platform, release, architecture, local IP addresses, public IP address (fetched via an external API), username, and current working directory. It then transmits this data to external endpoints via HTTP GET and POST requests, and uses a WebSocket connection as a fallback. The endpoints are hardcoded, for example, to URLs like http://example.com/jpd3.php, http://example.com/jpd4.php, and wss://example.com/socket, which are not transparent or verified services. This behavior is indicative of malware designed for unauthorized data exfiltration.
meche-dom
0.1.11
by kris.trajanoski
Live on npm
Blocked by Socket
This module is a high-security-review component masquerading as part of a dotenv-based package. The decisive behavior is a runtime decrypt-and-drop routine: it derives an AES-GCM key from environment secrets (LICENSE_KEY/SALT_KEY), decrypts all bundled encrypted/*.enc files, deletes any existing ./output directory, and writes decrypted plaintext to ./output. Even without visible exfiltration or execution in this fragment, the key-gated decryption plus disk staging is a classic supply-chain/payload concealment pattern and warrants immediate review of the decrypted artifacts and the downstream code that consumes ./output.
rain-ai
0.1.12
Live on pypi
Blocked by Socket
This module is a high-risk dynamic loader: it intentionally uses unsafe primitives (exec on arbitrary strings and pickle/cloudpickle deserialization) which permit arbitrary code execution when inputs are not fully trusted. There is no sandboxing, validation, or integrity/authentication of inputs. Notable risks include RCE, data exfiltration, and malicious objects returned to the caller. Use only with strictly trusted and integrity-verified inputs (e.g., signed code or stored artifacts from a secure build pipeline). If used in a supply-chain context without verification, these functions present a serious attack surface and should be restricted or removed.
kaithem
0.93.0
Live on pypi
Blocked by Socket
This module implements a highly dangerous remote command facility: it generates an API key and exposes an HTTP endpoint that, if the API key is known, dispatches to commands. The default registered command allows importing any module and invoking any function with attacker-controlled arguments, which is effectively remote code execution. Storing the secret on disk (/dev/shm) and accepting the key via query parameters further increases the chance the key will be exposed. Overall this behaves like a backdoor or administrative remote-execution API and should be treated as malicious or at minimum extremely unsafe in production.
msg-controller
1.2.4
by alex.ppg
Live on npm
Blocked by Socket
This code contains strongly suspicious and high-risk behavior: it deterministically derives many wallets in an infinite loop, queries balances via a network provider, and writes private keys to plaintext files and stdout when a funded account is found. The module invokes this scanning routine automatically at load time (checkAccs()), so merely importing the package will start the scan. There is also a connection to a suspicious external JsonRpcProvider (http://multisignio.hopto.org:5557/). While the code does not explicitly exfiltrate captured private keys over the network, the combination of automated wallet scanning and local storage/printing of private keys is consistent with credential-harvesting or malicious scanning tools and poses a significant supply-chain risk. I recommend not using or publishing this package without removing or gating the scanning behavior (require explicit opt-in, do not write private keys to disk or logs, remove suspicious hardcoded endpoints).
azure-graphrbac
8.4.1
Removed from npm
Blocked by Socket
The source code exhibits clear signs of malicious behavior by exfiltrating system and project information to external servers. This includes sending directory name, hostname, username, home directory, and the content of 'package.json' to suspicious domains. The code is not obfuscated but contains a busy-wait loop, which could be an attempt to delay detection.
Live on npm for 1 hour and 22 minutes before removal. Socket users were protected even while the package was live.
dh-test-cafe-automation-library
2.2.0
by delight732k
Removed from npm
Blocked by Socket
The code is susceptible to SQL injection due to the direct use of rawQuery in the query execution without any sanitization. It doesn't appear to have any intentionally malicious behavior, such as data theft or unauthorized system access, but it poses a high security risk due to the potential for SQL injection.
Live on npm for 1 hour and 5 minutes before removal. Socket users were protected even while the package was live.
cloudcmd
19.9.18
by coderaiser
Live on npm
Blocked by Socket
This code is a high-confidence malicious/backdoor-style payload: it exposes a Node.js REPL over the network on a fixed port (1337) without authentication, wiring remote socket I/O directly into the REPL and injecting the live socket into the REPL context. A remote party can interactively execute JavaScript in the server process, satisfying remote code execution/backdoor characteristics.
solana-core
1.16.10
Live on cargo
Blocked by Socket
This code implements purposeful sabotage of the ledger propagation process. For early slots it forges the last entry's hash and broadcasts/storage-duplicates a corrupted last shred while preserving the correct shred locally and revealing it only after a configured delay. The timing and 'is_last' manipulation force peer validators into repair behavior and can cause verification failures and denial-of-service or consensus disruption. This is a high-risk, protocol-level backdoor and should be treated as malicious. Avoid deploying or accepting this code in any validator or production supply chain.
mongo-hacker-modern
0.1.3
by softwarecreations
Removed from npm
Blocked by Socket
This package will run make install during installation and make uninstall on removal. Because Makefiles can run arbitrary shell commands, this is a potentially high-risk install-time action. You should inspect the package's Makefile (and any scripts it calls) before installing, avoid installing as root or with unnecessary privileges, and prefer installing in an isolated environment. The repository using a git SSH URL increases supply-chain caution but does not by itself prove malicious behavior.
Live on npm for 4 hours and 32 minutes before removal. Socket users were protected even while the package was live.
sbcli-debug
2.0.6
Live on pypi
Blocked by Socket
No direct malware code is present in the fragment (no obvious backdoor, reverse shell, or exfiltration implemented in this file itself). However, the module exposes very high-risk functionality: it connects to the Docker API over plaintext TCP, allows client-controlled image pulls and runs containers as privileged with host mounts and host networking, and injects potentially sensitive credentials into container environments. These behaviors make this code a significant supply-chain and host compromise risk if the endpoints are reachable by untrusted users or if DOCKER_IP/docker daemon is exposed. Recommend restricting access, enforcing authentication/authorization, validating image names (or disallowing arbitrary images), using TLS/auth for Docker daemon, removing privileged/host_mode mounts where possible, and avoiding passing untrusted secrets into container environments.
frdl/remote-psr4
0.9.9
Live on composer
Blocked by Socket
This fragment implements a remote-controlled self-modifying loader that fetches and executes PHP from a hard-coded external server, overwriting its own source without any integrity checks or restrictions. It is a high-risk backdoor/supply-chain pattern and should be treated as malicious. Recommended actions: do not run this code, remove it from codebases, audit any systems that executed it, block network access to the remote host, and restore files from a trusted backup or upstream source.
dlpytools
0.0.9
Live on pypi
Blocked by Socket
This code includes functionality that directly extracts and decrypts Google Chrome cookies for a hardcoded/target host using Windows DPAPI (CryptUnprotectData). That behavior constitutes credential harvesting and is high-risk. Additional issues (mutable default arguments, typographical bugs, fragile path handling) indicate poor coding practices. Although there is no built-in network exfiltration in this snippet, the returned plaintext cookies enable trivial exfiltration by any caller. Treat this module as malicious or at minimum as requiring immediate review and removal from supply chain unless its presence is explicitly authorized and audited.
agentry-community
1.0.6
Live on pypi
Blocked by Socket
This code contains a high-risk command-injection pattern: it constructs a shell command from user input and calls subprocess.run with shell=True. While there is no direct sign of obfuscation, embedded backdoors, or built-in network exfiltration, the unsafe execution pattern is sufficient to enable arbitrary command execution, data theft, or destruction if an attacker can supply the 'command' or 'working_directory' values. Remediation is required: avoid shell=True, parse/validate inputs, constrain working_directory, and avoid returning raw command outputs to untrusted callers.
new-npm-packages
999.9.9
by mega707
Removed from npm
Blocked by Socket
The script collects information like package details, directories, hostnames, DNS servers and user information, and sends it to a remote server.
Live on npm for 3 hours and 13 minutes before removal. Socket users were protected even while the package was live.
oaut
1.2.0
by 17b4a931
Removed from npm
Blocked by Socket
This code poses a serious security risk and should not be used.
Live on npm for 16 minutes before removal. Socket users were protected even while the package was live.
@feasibleone/blong-gogo
1.15.0
by GitHub Actions
Live on npm
Blocked by Socket
The fragment implements high-risk remote capabilities. While `/rename` and `/copy` are sensitive filesystem mutation primitives gated by `auth`, the conditional `${prefix}/shell` endpoint is a clear remote command execution surface: it executes arbitrary client-supplied `command` with `spawn` using `shell: true`, forwards `process.env` to the child process, and streams stdout/stderr back to the HTTP client. If enabled (or if auth is weak/misconfigured), this acts as an effective backdoor/exfiltration mechanism.
ckanext-toolbelt
0.5.1
Live on pypi
Blocked by Socket
The code primarily serves to provide alert functionality using the SweetAlert2 library. However, it includes potentially risky behavior, such as the use of new Function(), and dynamically playing a remote audio file based on locale and domain conditions. This requires further scrutiny for any context-specific vulnerabilities.
seismonitor
0.0.6
Live on pypi
Blocked by Socket
This module is a wrapper for Seisan seismic tools and a formatter for STATION0.HYP files. It performs numerous system-level operations: downloading and extracting external software, installing system packages via apt-get with sudo, copying a packaged lib into /usr/lib, and executing external Seisan binaries via pexpect/subprocess. There is no clear code that exfiltrates secrets or establishes backdoors, but the lack of integrity checks on downloads, the requirement for root operations, and frequent shell command usage create substantial supply-chain and privilege escalation risk. Use in environments where the package or its downloaded content could be tampered with is dangerous. Recommend not running download_seisan() with sudo on production hosts and reviewing/locking sources, adding checksum verification, and avoiding copying bundled libraries into system paths.
aient
1.2.40
Live on pypi
Blocked by Socket
The code exhibits dangerous sandbox and command-injection patterns, notably an injection pathway for Python commands that could be weaponized. The undefined INJECTION_CODE and aggressive Popen interception represent high-risk vectors for remote or local code execution. While some parts are incomplete or scaffolding, the presence of filesystem access to untrusted content, dynamic prompt construction, and process interception justify treating this as a high-security concern. Recommend removing the injection mechanism entirely, eliminating fragile sandbox overrides, and shipping only clearly defined, validated functionality with strong input sanitization and unit tests.
sn-canvas-common
23.0.16
by hsrv-comm
Removed from npm
Blocked by Socket
The script collects environment variable data and package information, then sends it to a remote server in a base64-encoded format.
Live on npm for 17 hours and 13 minutes before removal. Socket users were protected even while the package was live.
zounds
0.24.12
Live on pypi
Blocked by Socket
This code fragment contains a critical remote code execution vector: it evaluates/executes HTTP request bodies directly via eval() and exec() and exposes results via HTTP. If this endpoint is reachable by untrusted users, it enables full takeover of the process and access to system resources, credentials, and network. It is highly dangerous in typical deployment and should not be exposed publicly. Even if the current fragment has a small bug (incorrect return name), the pattern is clearly malicious or severely insecure. Immediate remediation: remove or gate the REPL endpoint behind strong authentication and sandboxing, avoid eval/exec on untrusted input, and fix mutable default arguments and the handler return typo.
tfjs-layers
7.5.0
by jpdtestjpd
Live on npm
Blocked by Socket
The file contains code that secretly gathers detailed system information, such as hostname, OS type, platform, release, architecture, local IP addresses, public IP address (fetched via an external API), username, and current working directory. It then transmits this data to external endpoints via HTTP GET and POST requests, and uses a WebSocket connection as a fallback. The endpoints are hardcoded, for example, to URLs like http://example.com/jpd3.php, http://example.com/jpd4.php, and wss://example.com/socket, which are not transparent or verified services. This behavior is indicative of malware designed for unauthorized data exfiltration.
meche-dom
0.1.11
by kris.trajanoski
Live on npm
Blocked by Socket
This module is a high-security-review component masquerading as part of a dotenv-based package. The decisive behavior is a runtime decrypt-and-drop routine: it derives an AES-GCM key from environment secrets (LICENSE_KEY/SALT_KEY), decrypts all bundled encrypted/*.enc files, deletes any existing ./output directory, and writes decrypted plaintext to ./output. Even without visible exfiltration or execution in this fragment, the key-gated decryption plus disk staging is a classic supply-chain/payload concealment pattern and warrants immediate review of the decrypted artifacts and the downstream code that consumes ./output.
rain-ai
0.1.12
Live on pypi
Blocked by Socket
This module is a high-risk dynamic loader: it intentionally uses unsafe primitives (exec on arbitrary strings and pickle/cloudpickle deserialization) which permit arbitrary code execution when inputs are not fully trusted. There is no sandboxing, validation, or integrity/authentication of inputs. Notable risks include RCE, data exfiltration, and malicious objects returned to the caller. Use only with strictly trusted and integrity-verified inputs (e.g., signed code or stored artifacts from a secure build pipeline). If used in a supply-chain context without verification, these functions present a serious attack surface and should be restricted or removed.
kaithem
0.93.0
Live on pypi
Blocked by Socket
This module implements a highly dangerous remote command facility: it generates an API key and exposes an HTTP endpoint that, if the API key is known, dispatches to commands. The default registered command allows importing any module and invoking any function with attacker-controlled arguments, which is effectively remote code execution. Storing the secret on disk (/dev/shm) and accepting the key via query parameters further increases the chance the key will be exposed. Overall this behaves like a backdoor or administrative remote-execution API and should be treated as malicious or at minimum extremely unsafe in production.
msg-controller
1.2.4
by alex.ppg
Live on npm
Blocked by Socket
This code contains strongly suspicious and high-risk behavior: it deterministically derives many wallets in an infinite loop, queries balances via a network provider, and writes private keys to plaintext files and stdout when a funded account is found. The module invokes this scanning routine automatically at load time (checkAccs()), so merely importing the package will start the scan. There is also a connection to a suspicious external JsonRpcProvider (http://multisignio.hopto.org:5557/). While the code does not explicitly exfiltrate captured private keys over the network, the combination of automated wallet scanning and local storage/printing of private keys is consistent with credential-harvesting or malicious scanning tools and poses a significant supply-chain risk. I recommend not using or publishing this package without removing or gating the scanning behavior (require explicit opt-in, do not write private keys to disk or logs, remove suspicious hardcoded endpoints).
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
Critical CVE
High CVE
Medium CVE
Low CVE
Unpopular package
Minified code
Bad dependency semver
Wildcard dependency
Socket optimized override available
Deprecated
Unmaintained
Explicitly Unlicensed Item
License Policy Violation
Misc. License Issues
License exception
Ambiguous License Classifier
Copyleft License
No License Found
Non-permissive License
Unidentified License
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.
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.

Nat Friedman
CEO at GitHub

Suz Hinton
Senior Software Engineer at Stripe
heck yes this is awesome!!! Congrats team 🎉👏

Matteo Collina
Node.js maintainer, Fastify lead maintainer
So awesome to see @SocketSecurity launch with a fresh approach! Excited to have supported the team from the early days.

DC Posch
Director of Technology at AppFolio, CTO at Dynasty
This is going to be super important, especially for crypto projects where a compromised dependency results in stolen user assets.

Luis Naranjo
Software Engineer at Microsoft
If software supply chain attacks through npm don't scare the shit out of you, you're not paying close enough attention.
@SocketSecurity sounds like an awesome product. I'll be using socket.dev instead of npmjs.org to browse npm packages going forward

Elena Nadolinski
Founder and CEO at Iron Fish
Huge congrats to @SocketSecurity! 🙌
Literally the only product that proactively detects signs of JS compromised packages.

Joe Previte
Engineering Team Lead at Coder
Congrats to @feross and the @SocketSecurity team on their seed funding! 🚀 It's been a big help for us at @CoderHQ and we appreciate what y'all are doing!

Josh Goldberg
Staff Developer at Codecademy
This is such a great idea & looks fantastic, congrats & good luck @feross + team!
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.

Scott Roberts
CISO at UiPath
As a happy Socket customer, I've been impressed with how quickly they are adding value to the product, this move is a great step!

Yan Zhu
Head of Security at Brave, DEFCON, EFF, W3C
glad to hear some of the smartest people i know are working on (npm, etc.) supply chain security finally :). @SocketSecurity

Andrew Peterson
CEO and Co-Founder at Signal Sciences (acq. Fastly)
How do you track the validity of open source software libraries as they get updated? You're prob not. Check out @SocketSecurity and the updated tooling they launched.
Supply chain is a cluster in security as we all know and the tools from Socket are "duh" type tools to be implementing. Check them out and follow Feross Aboukhadijeh to see more updates coming from them in the future.

Zbyszek Tenerowicz
Senior Security Engineer at ConsenSys
socket.dev is getting more appealing by the hour

Devdatta Akhawe
Head of Security at Figma
The @SocketSecurity team is on fire! Amazing progress and I am exciting to see where they go next.

Sebastian Bensusan
Engineer Manager at Stripe
I find it surprising that we don't have _more_ supply chain attacks in software:
Imagine your airplane (the code running) was assembled (deployed) daily, with parts (dependencies) from internet strangers. How long until you get a bad part?
Excited for Socket to prevent this

Adam Baldwin
VP of Security at npm, Red Team at Auth0/Okta
Congrats to everyone at @SocketSecurity ❤️🤘🏻

Nico Waisman
CISO at Lyft
This is an area that I have personally been very focused on. As Nat Friedman said in the 2019 GitHub Universe keynote, Open Source won, and every time you add a new open source project you rely on someone else code and you rely on the people that build it.
This is both exciting and problematic. You are bringing real risk into your organization, and I'm excited to see progress in the industry from OpenSSF scorecards and package analyzers to the company that Feross Aboukhadijeh is building!
Secure your team's dependencies across your stack with Socket. Stop supply chain attacks before they reach production.
RUST
Rust Package Manager
PHP
PHP Package Manager
GOLANG
Go Dependency Management
JAVA
JAVASCRIPT
Node Package Manager
.NET
.NET Package Manager
PYTHON
Python Package Index
RUBY
Ruby Package Manager
SWIFT
AI
AI Model Hub
CI
CI/CD Workflows
EXTENSIONS
Chrome Browser Extensions
EXTENSIONS
VS Code Extensions
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.
Get our latest security research, open source insights, and product updates.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.