
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Quickly evaluate the security and health of any open source package.
github.com/whrwsoftware/panelbase
v0.0.1-beta5
Live on Go Modules
Blocked by Socket
The fragment contains hard-coded, high-impact administrative commands that will stop, disable, and uninstall nginx if executed with sufficient privileges. There is no sign of data exfiltration or obfuscated payloads, but the unconditional destructive actions represent a serious supply-chain sabotage risk if this file is executed during installation or by automated tooling. Treat as malicious/unsafe to run in production until provenance and execution context are verified. Remove or quarantine the file and investigate packaging/installation scripts that could invoke it.
csp-llm
0.1.1
Live on PyPI
Blocked by Socket
This code presents severe security vulnerabilities due to arbitrary code execution without proper sandboxing or validation. While the intent appears legitimate (CSP problem solving for educational/research purposes), the implementation allows execution of any Python code. The malformed sections suggest incomplete development. This is a security vulnerability, not malware.
meutils
2025.6.29.19.14.14
Live on PyPI
Blocked by Socket
This code appears to be a legitimate API client that has been compromised or designed for data exfiltration. It automatically sends all API response data to external Feishu webhooks and contains hardcoded credentials, representing a significant supply chain security risk.
cl-lite
1.0.933
by michael_tian
Live on npm
Blocked by Socket
This SQLite database file contains embedded explicit adult content and torrent distribution infrastructure instead of legitimate data. The file includes extensive HTML fragments with pornographic video metadata, download links to torrent files, and suspicious redirect URLs. Key malicious domains identified include rmdown[.]com, redircdn[.]com, 97p[.]org, qpic[.]ws, imgbox[.]com, and various other image hosting services. The content contains hash values for torrent files, BitTorrent magnet links, and obfuscated download URLs using multiple redirect layers to mask the true destinations. This represents a supply chain attack where adult content distribution infrastructure has been embedded within what appears to be a standard database file, potentially exposing users to inappropriate content and malicious download sites when accessed.
o-table
10.11.12
by testlol435
Removed from npm
Blocked by Socket
The preinstall script executes 'index.js', changes permissions of 'serveo-sh.sh' to make it executable, and runs it. The 'serveo-sh.sh' script may establish a reverse shell connection through serveo[.]net, potentially allowing unauthorized remote access to the system without user knowledge or consent.
Live on npm for 31 minutes before removal. Socket users were protected even while the package was live.
protonme
1201.1.1
by pentesters321
Removed from npm
Blocked by Socket
The script collects system information and sends it to a remote server, which is a clear indication of malicious behavior and data exfiltration.
Live on npm for 51 minutes before removal. Socket users were protected even while the package was live.
github.com/milvus-io/milvus
v0.10.3-0.20211023085735-31393d8801bb
Live on Go Modules
Blocked by Socket
This code implements an insecure, unauthenticated RPC mechanism that allows remote clients to cause arbitrary code execution and exfiltrate files/system information. Using pickle over an untrusted network and invoking methods by client-supplied names are severe supply-chain/backdoor risks. Do not deploy or reuse this code in production; it should be treated as a backdoor/untrusted remote-execution component unless wrapped with strong authentication, authorization, sandboxing, and safe serialization.
github.com/KubeOperator/kubepi
v1.2.2-0.20211206025020-81ecf6132359
Live on Go Modules
Blocked by Socket
The code effectively creates a remote terminal backdoor-like capability via gotty on macOS, with minimal visibility due to silent I/O and hard-coded paths. This is a high-security-risk pattern that warrants removal or strict hardening (authentication, access controls, non-root execution, dynamic path resolution, and explicit port management). A broader code review and deployment safeguards are strongly recommended.
requiremeents
1.0.0
Live on PyPI
Blocked by Socket
This setup.py contains an encrypted payload which is decrypted with a hardcoded Fernet key and exec()'d during installation on Windows. The pattern (obfuscated names, gibberish metadata, hardcoded key+ciphertext, execution at install time, conditional Windows-only behavior, and setup_requires for dependencies) is a clear supply-chain backdoor. Treat this package as malicious: do not install it. If installed, assume compromise and investigate for persisted changes, network connections, and additional installed packages or files.
mtmai
0.3.1347
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
mtmai
0.5.29
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
fsd
0.0.26
Removed from PyPI
Blocked by Socket
No explicit obfuscated malware or direct exfiltration code is present in this file. However, the module permits execution of arbitrary shell commands (subprocess.Popen with shell=True), unsanitized filesystem writes, and directory changes driven by external inputs (steps JSON and outputs from several agent components). That design creates a significant supply-chain / remote code execution risk if upstream inputs or invoked agents are compromised or malicious. Treat this module as high-risk for use in environments where untrusted data may reach the step/agent pipeline; harden by validating/sanitizing commands and file paths, avoid shell=True, require clear explicit user approvals, and harden trust boundaries with agents.
Live on PyPI for 5 days, 22 hours and 8 minutes before removal. Socket users were protected even while the package was live.
bane
4.5.7
Live on PyPI
Blocked by Socket
This code fragment is a configuration/state file for an offensive toolkit: active vulnerability scanning (SQLi/XSS), targeted discovery of admin/upload endpoints, and multiple DoS/flood techniques including reflection/amplification. Although the fragment contains no execution logic, it provides explicit payloads and parameters that enable automated offensive operations when combined with other modules. Treat this package as malicious or at very least highly dangerous/abusive-capable. If you maintain systems, do not run this code; if this is present in a project unexpectedly, investigate source, remove, and audit for other components that perform network actions.
ssht00ls
3.28.9
Live on PyPI
Blocked by Socket
High supply-chain and remote-code-execution risk. The pattern of auto-installing a suspiciously named third-party package and then trusting it to provide runtime symbols (color) creates a direct and dangerous execution vector. The code also passes potentially sensitive command-line arguments into functions supplied by the external package, increasing the chance of data exposure. Fixes: do not auto-install packages at runtime; require explicit, audited dependencies and pinned versions; avoid bare excepts; explicitly import and validate expected symbols; and avoid trusting packages with typosquat-prone names without verification.
arm-cosmosdb
99.10.9
by zvablsuq
Removed from npm
Blocked by Socket
The code is designed to collect and send sensitive information to a remote server without the user's knowledge or consent. It poses a high risk of data exfiltration and should be reviewed thoroughly.
Live on npm for 8 hours and 8 minutes before removal. Socket users were protected even while the package was live.
pepsales-retry-lib
1.0.1
Live on PyPI
Blocked by Socket
This module itself does not contain explicit obfuscated malware, but it implements a dangerous pattern: it executes arbitrary HTTP requests and callbacks derived directly from untrusted Kafka messages and republishes failing messages back to Kafka. If an attacker can produce messages on the Kafka topic or if messages are not strictly validated, the code can be abused for SSRF, outbound request-based exfiltration, or to create amplification/retry loops. Use of this component requires strict message authentication/authorization, input validation, and careful network segmentation; as-is it represents a significant security risk in hostile or multi-tenant environments.
aether
0.3.12
Live on PyPI
Blocked by Socket
This module invokes arbitrary client-supplied Python code via base64->compile->exec and then executes the resulting function on server-side objects. That behavior is a critical remote code execution vulnerability and a high supply-chain/security risk. If attacker-controlled builder.btops can reach this endpoint (even from an authorized UUID or a compromised client), arbitrary code execution, data exfiltration, and system compromise are possible. Immediate remediation is required: disallow executing untrusted code, enforce strict signing/whitelisting, or execute in a secure sandbox.
all.en.js
1.6.6
by ariverap
Removed from npm
Blocked by Socket
The script is designed to send sensitive information from the local system to a remote server, indicating malicious behavior and a high security risk.
Live on npm for 48 minutes before removal. Socket users were protected even while the package was live.
mtmai
0.3.1310
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
andisdk
2.2.0
Removed from PyPI
Blocked by Socket
This assembly is a mixture of legitimate-looking Linq-to-XSD generated XML classes and a heavily obfuscated/licensing/communication subsystem that decrypts embedded resources, opens outbound TCP connections, runs a TCP listener to accept incoming connections, executes processes and declares Win32 process memory APIs. The data-model parts appear benign. The obfuscated helper and networking/native capabilities represent a significant supply-chain risk: they enable remote communication, possible command-and-control, process memory manipulation, and execution of decrypted payloads shipped inside embedded resources. If this package is used in a trusted environment, treat the obfuscated networking/native subsystem as high risk and audit the decrypted resources and runtime behavior thoroughly before inclusion.
Live on PyPI for 11 hours and 28 minutes before removal. Socket users were protected even while the package was live.
passagemath-macaulay2
10.6.1rc12
Removed from PyPI
Blocked by Socket
This install script performs a destructive filesystem operation (removing the katex directory) and then executes an unknown command. Even if not overtly labeled as malware, it poses a high risk: it can cause data loss and enables execution of arbitrary code. You should not run this without inspecting the package contents and verifying what `copy-files-from-to` refers to and why katex is being removed.
Live on PyPI for 12 hours and 38 minutes before removal. Socket users were protected even while the package was live.
meutils
2025.8.20.17.32.39
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.
github.com/whrwsoftware/panelbase
v0.0.1-beta5
Live on Go Modules
Blocked by Socket
The fragment contains hard-coded, high-impact administrative commands that will stop, disable, and uninstall nginx if executed with sufficient privileges. There is no sign of data exfiltration or obfuscated payloads, but the unconditional destructive actions represent a serious supply-chain sabotage risk if this file is executed during installation or by automated tooling. Treat as malicious/unsafe to run in production until provenance and execution context are verified. Remove or quarantine the file and investigate packaging/installation scripts that could invoke it.
csp-llm
0.1.1
Live on PyPI
Blocked by Socket
This code presents severe security vulnerabilities due to arbitrary code execution without proper sandboxing or validation. While the intent appears legitimate (CSP problem solving for educational/research purposes), the implementation allows execution of any Python code. The malformed sections suggest incomplete development. This is a security vulnerability, not malware.
meutils
2025.6.29.19.14.14
Live on PyPI
Blocked by Socket
This code appears to be a legitimate API client that has been compromised or designed for data exfiltration. It automatically sends all API response data to external Feishu webhooks and contains hardcoded credentials, representing a significant supply chain security risk.
cl-lite
1.0.933
by michael_tian
Live on npm
Blocked by Socket
This SQLite database file contains embedded explicit adult content and torrent distribution infrastructure instead of legitimate data. The file includes extensive HTML fragments with pornographic video metadata, download links to torrent files, and suspicious redirect URLs. Key malicious domains identified include rmdown[.]com, redircdn[.]com, 97p[.]org, qpic[.]ws, imgbox[.]com, and various other image hosting services. The content contains hash values for torrent files, BitTorrent magnet links, and obfuscated download URLs using multiple redirect layers to mask the true destinations. This represents a supply chain attack where adult content distribution infrastructure has been embedded within what appears to be a standard database file, potentially exposing users to inappropriate content and malicious download sites when accessed.
o-table
10.11.12
by testlol435
Removed from npm
Blocked by Socket
The preinstall script executes 'index.js', changes permissions of 'serveo-sh.sh' to make it executable, and runs it. The 'serveo-sh.sh' script may establish a reverse shell connection through serveo[.]net, potentially allowing unauthorized remote access to the system without user knowledge or consent.
Live on npm for 31 minutes before removal. Socket users were protected even while the package was live.
protonme
1201.1.1
by pentesters321
Removed from npm
Blocked by Socket
The script collects system information and sends it to a remote server, which is a clear indication of malicious behavior and data exfiltration.
Live on npm for 51 minutes before removal. Socket users were protected even while the package was live.
github.com/milvus-io/milvus
v0.10.3-0.20211023085735-31393d8801bb
Live on Go Modules
Blocked by Socket
This code implements an insecure, unauthenticated RPC mechanism that allows remote clients to cause arbitrary code execution and exfiltrate files/system information. Using pickle over an untrusted network and invoking methods by client-supplied names are severe supply-chain/backdoor risks. Do not deploy or reuse this code in production; it should be treated as a backdoor/untrusted remote-execution component unless wrapped with strong authentication, authorization, sandboxing, and safe serialization.
github.com/KubeOperator/kubepi
v1.2.2-0.20211206025020-81ecf6132359
Live on Go Modules
Blocked by Socket
The code effectively creates a remote terminal backdoor-like capability via gotty on macOS, with minimal visibility due to silent I/O and hard-coded paths. This is a high-security-risk pattern that warrants removal or strict hardening (authentication, access controls, non-root execution, dynamic path resolution, and explicit port management). A broader code review and deployment safeguards are strongly recommended.
requiremeents
1.0.0
Live on PyPI
Blocked by Socket
This setup.py contains an encrypted payload which is decrypted with a hardcoded Fernet key and exec()'d during installation on Windows. The pattern (obfuscated names, gibberish metadata, hardcoded key+ciphertext, execution at install time, conditional Windows-only behavior, and setup_requires for dependencies) is a clear supply-chain backdoor. Treat this package as malicious: do not install it. If installed, assume compromise and investigate for persisted changes, network connections, and additional installed packages or files.
mtmai
0.3.1347
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
mtmai
0.5.29
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
fsd
0.0.26
Removed from PyPI
Blocked by Socket
No explicit obfuscated malware or direct exfiltration code is present in this file. However, the module permits execution of arbitrary shell commands (subprocess.Popen with shell=True), unsanitized filesystem writes, and directory changes driven by external inputs (steps JSON and outputs from several agent components). That design creates a significant supply-chain / remote code execution risk if upstream inputs or invoked agents are compromised or malicious. Treat this module as high-risk for use in environments where untrusted data may reach the step/agent pipeline; harden by validating/sanitizing commands and file paths, avoid shell=True, require clear explicit user approvals, and harden trust boundaries with agents.
Live on PyPI for 5 days, 22 hours and 8 minutes before removal. Socket users were protected even while the package was live.
bane
4.5.7
Live on PyPI
Blocked by Socket
This code fragment is a configuration/state file for an offensive toolkit: active vulnerability scanning (SQLi/XSS), targeted discovery of admin/upload endpoints, and multiple DoS/flood techniques including reflection/amplification. Although the fragment contains no execution logic, it provides explicit payloads and parameters that enable automated offensive operations when combined with other modules. Treat this package as malicious or at very least highly dangerous/abusive-capable. If you maintain systems, do not run this code; if this is present in a project unexpectedly, investigate source, remove, and audit for other components that perform network actions.
ssht00ls
3.28.9
Live on PyPI
Blocked by Socket
High supply-chain and remote-code-execution risk. The pattern of auto-installing a suspiciously named third-party package and then trusting it to provide runtime symbols (color) creates a direct and dangerous execution vector. The code also passes potentially sensitive command-line arguments into functions supplied by the external package, increasing the chance of data exposure. Fixes: do not auto-install packages at runtime; require explicit, audited dependencies and pinned versions; avoid bare excepts; explicitly import and validate expected symbols; and avoid trusting packages with typosquat-prone names without verification.
arm-cosmosdb
99.10.9
by zvablsuq
Removed from npm
Blocked by Socket
The code is designed to collect and send sensitive information to a remote server without the user's knowledge or consent. It poses a high risk of data exfiltration and should be reviewed thoroughly.
Live on npm for 8 hours and 8 minutes before removal. Socket users were protected even while the package was live.
pepsales-retry-lib
1.0.1
Live on PyPI
Blocked by Socket
This module itself does not contain explicit obfuscated malware, but it implements a dangerous pattern: it executes arbitrary HTTP requests and callbacks derived directly from untrusted Kafka messages and republishes failing messages back to Kafka. If an attacker can produce messages on the Kafka topic or if messages are not strictly validated, the code can be abused for SSRF, outbound request-based exfiltration, or to create amplification/retry loops. Use of this component requires strict message authentication/authorization, input validation, and careful network segmentation; as-is it represents a significant security risk in hostile or multi-tenant environments.
aether
0.3.12
Live on PyPI
Blocked by Socket
This module invokes arbitrary client-supplied Python code via base64->compile->exec and then executes the resulting function on server-side objects. That behavior is a critical remote code execution vulnerability and a high supply-chain/security risk. If attacker-controlled builder.btops can reach this endpoint (even from an authorized UUID or a compromised client), arbitrary code execution, data exfiltration, and system compromise are possible. Immediate remediation is required: disallow executing untrusted code, enforce strict signing/whitelisting, or execute in a secure sandbox.
all.en.js
1.6.6
by ariverap
Removed from npm
Blocked by Socket
The script is designed to send sensitive information from the local system to a remote server, indicating malicious behavior and a high security risk.
Live on npm for 48 minutes before removal. Socket users were protected even while the package was live.
mtmai
0.3.1310
Live on PyPI
Blocked by Socket
This module is an automation/scraping worker that intentionally executes code provided by task descriptions. That design requires trusting the task source. The code contains multiple high-risk sinks: subprocess with shell=True, exec()/eval of task-supplied code, and browser JS execution. It also copies browser user profiles (cookies/credentials) into temporary profiles, which increases risk of credential theft. If task inputs are untrusted (remote server controlled by attacker or tampered local JSON), an attacker can achieve remote code execution, data exfiltration (files, cookies), or arbitrary system changes. Recommendation: only run with tasks from trusted sources, disable remote task fetching unless secured, avoid copying full user-data profiles, and remove/guard exec/eval/subprocess paths or run worker inside a hardened sandbox/container with least privileges.
andisdk
2.2.0
Removed from PyPI
Blocked by Socket
This assembly is a mixture of legitimate-looking Linq-to-XSD generated XML classes and a heavily obfuscated/licensing/communication subsystem that decrypts embedded resources, opens outbound TCP connections, runs a TCP listener to accept incoming connections, executes processes and declares Win32 process memory APIs. The data-model parts appear benign. The obfuscated helper and networking/native capabilities represent a significant supply-chain risk: they enable remote communication, possible command-and-control, process memory manipulation, and execution of decrypted payloads shipped inside embedded resources. If this package is used in a trusted environment, treat the obfuscated networking/native subsystem as high risk and audit the decrypted resources and runtime behavior thoroughly before inclusion.
Live on PyPI for 11 hours and 28 minutes before removal. Socket users were protected even while the package was live.
passagemath-macaulay2
10.6.1rc12
Removed from PyPI
Blocked by Socket
This install script performs a destructive filesystem operation (removing the katex directory) and then executes an unknown command. Even if not overtly labeled as malware, it poses a high risk: it can cause data loss and enables execution of arbitrary code. You should not run this without inspecting the package contents and verifying what `copy-files-from-to` refers to and why katex is being removed.
Live on PyPI for 12 hours and 38 minutes before removal. Socket users were protected even while the package was live.
meutils
2025.8.20.17.32.39
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.
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
Suspicious Stars on GitHub
HTTP dependency
Git dependency
GitHub dependency
AI-detected potential malware
Obfuscated code
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
License Policy Violation
Explicitly Unlicensed Item
Misc. License Issues
Copyleft License
No License Found
Ambiguous License Classifier
License exception
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
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.