
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
Quickly evaluate the security and health of any open source package.
hello-world-npm-demo-example
1.0.0
by ksau1337
Live on npm
Blocked by Socket
This code implements a hard-coded reverse shell targeting 167.99.78.95:9001 and will provide remote interactive shell access whenever the function is invoked. It is a backdoor and should be treated as malicious: do not execute, remove the package, rotate any credentials or secrets that may have been exposed on systems where it ran, and investigate the scope of compromise. The code is explicit and non-obfuscated, making its malicious intent clear.
cl-lite
1.0.1484
Live on npm
Blocked by Socket
The source code is contains embedded inappropriate adult content with numerous external image links. It is not valid or functional software code. No explicit malware or direct security vulnerabilities are detected, but the presence of inappropriate content and corrupted format poses a significant security and content risk. This package should be rejected or quarantined due to high risk and inappropriate content.
clselove
1.5
Live on PyPI
Blocked by Socket
This code contains clear malicious behavior: automated account takeover and sensitive data exfiltration from an Android browser profile, plus an embedded mechanism to fetch and execute arbitrary remote code. It copies protected app data using root (su), zips and uploads it to a remote server, manipulates Google account pages (including password changes and recovery emails), and can execute remote Python retrieved from Firebase. Do not use this package; treat it as malicious and remove it from any environment. Investigation of clselove endpoints and any systems where this ran is urgently recommended.
fca-rbtd
1.0.1
by ebtdpogi
Removed from npm
Blocked by Socket
While the script contains potentially risky behavior, such as handling environmental variables and automatic updating, these do not seem to be intended maliciously but rather for maintaining cookies or updating the package. However, the management of the .env file can potentially overwrite existing data, causing loss of data. Also, the automatic updating of the package from a github repository could potentially introduce malicious code if the repository is compromised.
Live on npm for 17 days and 58 minutes before removal. Socket users were protected even while the package was live.
@synsci/cli-linux-arm64
1.1.87
by syntheticsciences
Live on npm
Blocked by Socket
[Skill Scanner] Installation of third-party script detected (AITech 9.1.4) [SC006]
cubis-foundry
0.3.8
by phumrin
Live on npm
Blocked by Socket
[Skill Scanner] Download or install from free hosting/deployment platform detected (AITech 9.1.4) [SC007]
anonymous-test
0.0.7
by horuslabs
Live on npm
Blocked by Socket
This module contains code that will perform an on-chain transfer (execute) to a hardcoded contract/address as part of the wallet enable / requestAccounts flow. That is a high-risk, unexpected side-effect: a connector that automatically issues a transfer on enable can cause fund loss. Additional concerns: embedded/hardcoded RPC endpoint (Alchemy) and use of wildcard origins for postMessage increase attack surface. Treat this code as suspicious/malicious for supply-chain use until the behavior is explicitly justified: remove the automatic execute call or require explicit user interaction/confirmation before submitting transactions. Do not use this package in production until the transfer behavior is audited/removed.
@linx-ui/pharmacy
4.2.1
by banditnikhil
Live on npm
Blocked by Socket
The script runs 'index.js' and silences all output, which could be a method to hide malicious actions or errors. The safety of this script depends on the contents of 'index.js'.
noblox.js-capsolver
4.10.1
by skibidiohiosusd12389
Removed from npm
Blocked by Socket
The code is highly likely to be malicious, involving downloading and executing remote code and potentially exfiltrating data.
Live on npm for 1 day, 17 hours and 55 minutes before removal. Socket users were protected even while the package was live.
meutils
2025.8.12.17.29.1
Live on PyPI
Blocked by Socket
The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.
@cubis/foundry
0.3.11
by phumrin
Live on npm
Blocked by Socket
[Skill Scanner] Download or install from free hosting/deployment platform detected (AITech 9.1.4) [SC007]
iutyscripts
1.21.618.1122
Live on PyPI
Blocked by Socket
This script contains explicit functionality to read arbitrary files from the local filesystem and upload them to a hardcoded remote server — an exfiltration pattern. Even if intended as a legitimate 'file sync' client, the lack of authentication, absence of file filters or opt-in protection, and hardcoded IP make it high-risk for misuse or malicious intent. The stray trailing 'pas' will cause a syntax error as provided, but the core upload behavior is clear. Treat this package as dangerous for reuse in projects where local secrets exist; do not install or run it without code modification and strict review.
python-115
0.0.9.6.4.2
Removed from PyPI
Blocked by Socket
The code contains significant security risks, primarily due to the use of eval and exec, which can lead to arbitrary code execution. The handling of cookies also poses a risk if not properly validated. Overall, the code should be reviewed and modified to mitigate these vulnerabilities.
Live on PyPI for 207 days, 17 hours and 16 minutes before removal. Socket users were protected even while the package was live.
acddaun
1.3
Live on PyPI
Blocked by Socket
This module intentionally harvests caller bytecode and filename, persists it locally, and exfiltrates it to a hardcoded remote FTP server over plaintext using embedded credentials. This constitutes unauthorized data exfiltration and a high security risk. Do not use this package; treat the exposed credentials and host as compromised and remove the code from any environment where it might be executed.
fsd
0.1.515
Removed from PyPI
Blocked by Socket
This module zips a local directory and uploads it to a specific S3 bucket. The code contains hardcoded AWS credentials and a hardcoded bucket name, which is a severe security issue and could enable data exfiltration if these credentials are valid. There are additional problems: a likely return-value bug (undefined variable s3_ke), possible insufficient path-safety around symlinks, and verbose logging of paths. There is no evidence of obfuscation or active payloads like reverse shells or eval-based code execution. Treat this package as high-risk until credentials are removed/rotated and the code is corrected and reviewed.
Live on PyPI for 5 days, 12 hours and 53 minutes before removal. Socket users were protected even while the package was live.
webspace
2.7.9
Live on PyPI
Blocked by Socket
This module contains critical security issues: a direct eval() on command-line inputs enabling arbitrary code execution (RCE) and a 'test' action that creates a hardcoded superuser with a known weak password and grants it all groups (backdoor-like behavior). Treat this as high-risk: remove eval-based dispatch, restrict/whitelist allowed actions, eliminate hardcoded privileged account creation from shipped code, and require explicit developer-only gating for any test helpers. If this code exists in a production/deployed environment, consider revoking credentials created by it and auditing for misuse.
gliror
1.0.6
Live on crates.io
Blocked by Socket
This module implements an explicit UDP flood (denial-of-service) tool. It reads target and payload parameters and repeatedly sends UDP packets in many concurrent threads, optionally indefinitely. There are no safeguards, validation, or limits. This is malicious in typical contexts (unauthorized DDoS) and poses a high supply-chain and operational risk. Do not include or use this code in software unless you have a legitimate, authorized test environment and explicit consent from targets.
pythem
0.7.8
Live on PyPI
Blocked by Socket
This module is an explicit DNS-spoofing tool that intercepts UDP/53 traffic via NetfilterQueue and forges DNS replies using Scapy. It modifies iptables to divert DNS queries, crafts replies with attacker-provided rdata, and reinjects them — enabling MITM redirection and potential data/credential theft. The code contains no safeguards, lacks initialization of some attributes, and the provided snippet appears truncated (syntax error). Treat as high-risk/likely malicious; only use in authorized, isolated test environments.
berri-ai
0.9.3
Live on PyPI
Blocked by Socket
This module extracts a Colab notebook's source, copies any filesystem paths referenced as strings into a local folder, generates a requirements file, and attempts to send those files to a hard-coded external server. The behavior constitutes likely unauthorized data exfiltration of user code and potentially sensitive local files. Avoid running this package or using it in environments containing secrets or private data. If you already executed it, assume the notebook and any referenced files were transmitted to the remote host and rotate any exposed secrets.
@arkecosystem/platform-sdk-nano
6.0.8
by faustbrian
Live on npm
Blocked by Socket
The code contains a clear backdoor-like pattern: a hardcoded private key used to sign and broadcast Nano transactions, coupled with static wallet metadata. If this function is reachable at runtime, it enables unauthorized transactions and poses a significant security risk in any supply-chain context. The presence of NotImplemented stubs does not mitigate the primary risk; remediation requires removing hardcoded secrets, deriving keys securely, validating inputs, and implementing secure signing flows with proper user authorization.
google-translate-languges-list
1.0.0
by anuoua
Removed from npm
Blocked by Socket
The code does not appear to be intentionally malicious, but the use of the 'eval' function poses a potential security risk.
react-query-core-utils
4.4.9
Live on npm
Blocked by Socket
This script is malicious. It harvests the user's sudo password, fetches an encrypted payload from remote locations determined dynamically (Telegram + a decoded gist URL), decrypts it with a mixed local/remote key, writes the decrypted code to a temp file and executes it. The captured sudo password is passed in the child environment, enabling the remote payload to use it. This is a multi-stage remote code execution backdoor/supply-chain attack. Do not run this script; if executed on a system, treat the host as compromised, rotate credentials and investigate further.
tiny-model-update
1.16.6
Live on npm
Blocked by Socket
This module is an automation tool that, given Discord user tokens, enumerates servers, creates permanent invite links when necessary, and sends those invite links plus guild names to an external Telegram endpoint. The functionality enables exfiltration and unauthorized propagation into servers and could be used to escalate or distribute malicious campaigns. The code contains clear misuse patterns (credential abuse, creation of durable invites, external exfiltration) and is highly suspicious. Treat as malicious tooling — do not run with real tokens; remove and investigate any exposure of tokens.
mtmai
0.4.31
Live on PyPI
Blocked by Socket
The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.
hello-world-npm-demo-example
1.0.0
by ksau1337
Live on npm
Blocked by Socket
This code implements a hard-coded reverse shell targeting 167.99.78.95:9001 and will provide remote interactive shell access whenever the function is invoked. It is a backdoor and should be treated as malicious: do not execute, remove the package, rotate any credentials or secrets that may have been exposed on systems where it ran, and investigate the scope of compromise. The code is explicit and non-obfuscated, making its malicious intent clear.
cl-lite
1.0.1484
Live on npm
Blocked by Socket
The source code is contains embedded inappropriate adult content with numerous external image links. It is not valid or functional software code. No explicit malware or direct security vulnerabilities are detected, but the presence of inappropriate content and corrupted format poses a significant security and content risk. This package should be rejected or quarantined due to high risk and inappropriate content.
clselove
1.5
Live on PyPI
Blocked by Socket
This code contains clear malicious behavior: automated account takeover and sensitive data exfiltration from an Android browser profile, plus an embedded mechanism to fetch and execute arbitrary remote code. It copies protected app data using root (su), zips and uploads it to a remote server, manipulates Google account pages (including password changes and recovery emails), and can execute remote Python retrieved from Firebase. Do not use this package; treat it as malicious and remove it from any environment. Investigation of clselove endpoints and any systems where this ran is urgently recommended.
fca-rbtd
1.0.1
by ebtdpogi
Removed from npm
Blocked by Socket
While the script contains potentially risky behavior, such as handling environmental variables and automatic updating, these do not seem to be intended maliciously but rather for maintaining cookies or updating the package. However, the management of the .env file can potentially overwrite existing data, causing loss of data. Also, the automatic updating of the package from a github repository could potentially introduce malicious code if the repository is compromised.
Live on npm for 17 days and 58 minutes before removal. Socket users were protected even while the package was live.
@synsci/cli-linux-arm64
1.1.87
by syntheticsciences
Live on npm
Blocked by Socket
[Skill Scanner] Installation of third-party script detected (AITech 9.1.4) [SC006]
cubis-foundry
0.3.8
by phumrin
Live on npm
Blocked by Socket
[Skill Scanner] Download or install from free hosting/deployment platform detected (AITech 9.1.4) [SC007]
anonymous-test
0.0.7
by horuslabs
Live on npm
Blocked by Socket
This module contains code that will perform an on-chain transfer (execute) to a hardcoded contract/address as part of the wallet enable / requestAccounts flow. That is a high-risk, unexpected side-effect: a connector that automatically issues a transfer on enable can cause fund loss. Additional concerns: embedded/hardcoded RPC endpoint (Alchemy) and use of wildcard origins for postMessage increase attack surface. Treat this code as suspicious/malicious for supply-chain use until the behavior is explicitly justified: remove the automatic execute call or require explicit user interaction/confirmation before submitting transactions. Do not use this package in production until the transfer behavior is audited/removed.
@linx-ui/pharmacy
4.2.1
by banditnikhil
Live on npm
Blocked by Socket
The script runs 'index.js' and silences all output, which could be a method to hide malicious actions or errors. The safety of this script depends on the contents of 'index.js'.
noblox.js-capsolver
4.10.1
by skibidiohiosusd12389
Removed from npm
Blocked by Socket
The code is highly likely to be malicious, involving downloading and executing remote code and potentially exfiltrating data.
Live on npm for 1 day, 17 hours and 55 minutes before removal. Socket users were protected even while the package was live.
meutils
2025.8.12.17.29.1
Live on PyPI
Blocked by Socket
The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.
@cubis/foundry
0.3.11
by phumrin
Live on npm
Blocked by Socket
[Skill Scanner] Download or install from free hosting/deployment platform detected (AITech 9.1.4) [SC007]
iutyscripts
1.21.618.1122
Live on PyPI
Blocked by Socket
This script contains explicit functionality to read arbitrary files from the local filesystem and upload them to a hardcoded remote server — an exfiltration pattern. Even if intended as a legitimate 'file sync' client, the lack of authentication, absence of file filters or opt-in protection, and hardcoded IP make it high-risk for misuse or malicious intent. The stray trailing 'pas' will cause a syntax error as provided, but the core upload behavior is clear. Treat this package as dangerous for reuse in projects where local secrets exist; do not install or run it without code modification and strict review.
python-115
0.0.9.6.4.2
Removed from PyPI
Blocked by Socket
The code contains significant security risks, primarily due to the use of eval and exec, which can lead to arbitrary code execution. The handling of cookies also poses a risk if not properly validated. Overall, the code should be reviewed and modified to mitigate these vulnerabilities.
Live on PyPI for 207 days, 17 hours and 16 minutes before removal. Socket users were protected even while the package was live.
acddaun
1.3
Live on PyPI
Blocked by Socket
This module intentionally harvests caller bytecode and filename, persists it locally, and exfiltrates it to a hardcoded remote FTP server over plaintext using embedded credentials. This constitutes unauthorized data exfiltration and a high security risk. Do not use this package; treat the exposed credentials and host as compromised and remove the code from any environment where it might be executed.
fsd
0.1.515
Removed from PyPI
Blocked by Socket
This module zips a local directory and uploads it to a specific S3 bucket. The code contains hardcoded AWS credentials and a hardcoded bucket name, which is a severe security issue and could enable data exfiltration if these credentials are valid. There are additional problems: a likely return-value bug (undefined variable s3_ke), possible insufficient path-safety around symlinks, and verbose logging of paths. There is no evidence of obfuscation or active payloads like reverse shells or eval-based code execution. Treat this package as high-risk until credentials are removed/rotated and the code is corrected and reviewed.
Live on PyPI for 5 days, 12 hours and 53 minutes before removal. Socket users were protected even while the package was live.
webspace
2.7.9
Live on PyPI
Blocked by Socket
This module contains critical security issues: a direct eval() on command-line inputs enabling arbitrary code execution (RCE) and a 'test' action that creates a hardcoded superuser with a known weak password and grants it all groups (backdoor-like behavior). Treat this as high-risk: remove eval-based dispatch, restrict/whitelist allowed actions, eliminate hardcoded privileged account creation from shipped code, and require explicit developer-only gating for any test helpers. If this code exists in a production/deployed environment, consider revoking credentials created by it and auditing for misuse.
gliror
1.0.6
Live on crates.io
Blocked by Socket
This module implements an explicit UDP flood (denial-of-service) tool. It reads target and payload parameters and repeatedly sends UDP packets in many concurrent threads, optionally indefinitely. There are no safeguards, validation, or limits. This is malicious in typical contexts (unauthorized DDoS) and poses a high supply-chain and operational risk. Do not include or use this code in software unless you have a legitimate, authorized test environment and explicit consent from targets.
pythem
0.7.8
Live on PyPI
Blocked by Socket
This module is an explicit DNS-spoofing tool that intercepts UDP/53 traffic via NetfilterQueue and forges DNS replies using Scapy. It modifies iptables to divert DNS queries, crafts replies with attacker-provided rdata, and reinjects them — enabling MITM redirection and potential data/credential theft. The code contains no safeguards, lacks initialization of some attributes, and the provided snippet appears truncated (syntax error). Treat as high-risk/likely malicious; only use in authorized, isolated test environments.
berri-ai
0.9.3
Live on PyPI
Blocked by Socket
This module extracts a Colab notebook's source, copies any filesystem paths referenced as strings into a local folder, generates a requirements file, and attempts to send those files to a hard-coded external server. The behavior constitutes likely unauthorized data exfiltration of user code and potentially sensitive local files. Avoid running this package or using it in environments containing secrets or private data. If you already executed it, assume the notebook and any referenced files were transmitted to the remote host and rotate any exposed secrets.
@arkecosystem/platform-sdk-nano
6.0.8
by faustbrian
Live on npm
Blocked by Socket
The code contains a clear backdoor-like pattern: a hardcoded private key used to sign and broadcast Nano transactions, coupled with static wallet metadata. If this function is reachable at runtime, it enables unauthorized transactions and poses a significant security risk in any supply-chain context. The presence of NotImplemented stubs does not mitigate the primary risk; remediation requires removing hardcoded secrets, deriving keys securely, validating inputs, and implementing secure signing flows with proper user authorization.
google-translate-languges-list
1.0.0
by anuoua
Removed from npm
Blocked by Socket
The code does not appear to be intentionally malicious, but the use of the 'eval' function poses a potential security risk.
react-query-core-utils
4.4.9
Live on npm
Blocked by Socket
This script is malicious. It harvests the user's sudo password, fetches an encrypted payload from remote locations determined dynamically (Telegram + a decoded gist URL), decrypts it with a mixed local/remote key, writes the decrypted code to a temp file and executes it. The captured sudo password is passed in the child environment, enabling the remote payload to use it. This is a multi-stage remote code execution backdoor/supply-chain attack. Do not run this script; if executed on a system, treat the host as compromised, rotate credentials and investigate further.
tiny-model-update
1.16.6
Live on npm
Blocked by Socket
This module is an automation tool that, given Discord user tokens, enumerates servers, creates permanent invite links when necessary, and sends those invite links plus guild names to an external Telegram endpoint. The functionality enables exfiltration and unauthorized propagation into servers and could be used to escalate or distribute malicious campaigns. The code contains clear misuse patterns (credential abuse, creation of durable invites, external exfiltration) and is highly suspicious. Treat as malicious tooling — do not run with real tokens; remove and investigate any exposure of tokens.
mtmai
0.4.31
Live on PyPI
Blocked by Socket
The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.
Socket detects traditional vulnerabilities (CVEs) but goes beyond that to scan the actual code of dependencies for malicious behavior. It proactively detects and blocks 70+ signals of supply chain risk in open source code, for comprehensive protection.
Possible typosquat attack
Known malware
Git dependency
GitHub dependency
AI-detected potential malware
HTTP dependency
Obfuscated code
Suspicious Stars on GitHub
Telemetry
Protestware or potentially unwanted behavior
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
No License Found
Ambiguous License Classifier
Copyleft License
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!
Depend on Socket to prevent malicious open source dependencies from infiltrating your app.
Install the Socket GitHub App in just 2 clicks and get protected today.
Block 70+ issues in open source code, including malware, typo-squatting, hidden code, misleading packages, permission creep, and more.
Reduce work by surfacing actionable security information directly in GitHub. Empower developers to make better decisions.
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
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.