
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.
w2r
1.2.38
by cherbim
Live on npm
Blocked by Socket
This code exfiltrates information about webp files and package details to a Telegram bot. It reads sensitive information from environment variables (telegram_token and user_id) and package.json, then sends file paths to api[.]telegram[.]org without legitimate purpose. The code walks through directories looking for .webp files and constructs URLs using CDN information and package details before sending them through the Telegram API. This represents a data exfiltration mechanism and is likely part of a supply chain attack.
mtxai
0.0.210
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.
xync-client
0.0.110
Live on PyPI
Blocked by Socket
This script is high-risk: it automates interactive login flows, captures and persists full browser storage_state (session tokens), and navigates authenticated sessions to banking/payment endpoints. The combination enables account takeover and fraudulent transactions when misused. Treat as malicious or at minimum dangerous automation; require immediate review, restrict execution, and audit any stored agent.state entries. Remediate by removing session persistence, not storing storage_state, and implementing strict access controls and logging.
@xbox-web/partner-onboarding
14.0.0
by xbox-web
Removed from npm
Blocked by Socket
The code fetches system information and sends it over HTTPS to a suspicious domain. It uses shell commands and sets the 'NODE_TLS_REJECT_UNAUTHORIZED' environment variable to disable certificate verification. The code should be reviewed and validated thoroughly before use due to potential security risks.
Live on npm for 1 day, 17 hours and 42 minutes before removal. Socket users were protected even while the package was live.
nn-rag
2.1.1
Live on PyPI
Blocked by Socket
The source file itself contains no obvious hard-coded malware, backdoor code, or obfuscated payloads. However, it intentionally executes arbitrary Python files from disk (exec()) with full builtins and makes in-process environment modifications, then moves or deletes those files based on exec success. This design is a significant supply-chain security risk: malicious or tampered generated files can execute arbitrary actions with the validator's process privileges during validation. Do NOT run this on untrusted inputs. Require sandboxing (container/VM/subprocess with least privilege and resource limits), use static-only validation or strict AST whitelisting, and verify provenance/signatures of generated files before executing them.
codeaudit
1.4.0
Live on PyPI
Blocked by Socket
This file is highly suspicious and dangerous. It contains many unsafe patterns that enable arbitrary code execution (pickle/marshal loads, exec/eval, compile), command execution (os.system/os.popen), unsafe archive extraction (extractall), destructive filesystem operations (rmtree), and network-exposed servers. Even though some code fragments are broken/placeholder, several lines would execute at import and perform harmful actions (os.popen, os.system, socket.bind, server.serve_forever, logging.config.listen). Treat this as malicious/untrusted: do not install or run as-is. Remove or sandbox any such code, and audit all uses of deserialization, dynamic execution, archive extraction, and subprocess/network listeners before use.
get-npm-exec-opts
99.10.9
by 9oxeqhb5
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 3 hours and 20 minutes before removal. Socket users were protected even while the package was live.
blypack
0.2
Removed from PyPI
Blocked by Socket
The code defines a post-installation script that downloads data from a specified URL. This behavior is unusual for a setup script and could indicate malicious intent, especially given the use of an external domain which could be used for data exfiltration.
Live on PyPI for 2 minutes before removal. Socket users were protected even while the package was live.
gbak
2.48
Live on PyPI
Blocked by Socket
This module presents high-risk supply-chain behavior. The hardcoded manager endpoint over plain HTTP supplies base64-encoded credentials and a pickle token that are written to disk and subsequently unpickled. Untrusted pickle loading is a critical RCE vector. Combined with use of network-supplied credentials to drive Google Drive API operations (upload/share/delete/list/download), and an os.system call built from URLs, an attacker controlling the manager or able to MITM the HTTP requests can execute arbitrary code and exfiltrate or manipulate files. Recommend: do not run this code in untrusted environments; remove or strictly validate any network-supplied pickles/credentials; switch manager traffic to HTTPS with authentication and signatures; avoid unpickling untrusted data; avoid os.system for external downloads (use subprocess with args or native libraries); and restrict file permissions and temp paths.
inputmore-executor
1.0.19
by ohnow
Live on npm
Blocked by Socket
The code fragment exposes strong remote-control and file/command execution capabilities (SSH command execution, remote unzip, file transfer, and a Remote Function Call client). While these components can be legitimate in a remote management tool, the combination with dynamic module loading, lack of explicit input validation, and remote command execution paths constitutes a meaningful security risk. The presence of an entry-point executor (global.inputmoreExecutor) and dynamic, local-module loading patterns increases the likelihood of misuse in supply-chain contexts. Treat as high-risk; require strict access controls, input validation, and least-privilege usage, and audit the environment for unintended exposures.
stpstone
2.0.8
Live on PyPI
Blocked by Socket
The PickleFiles class uses Python's pickle module in a pattern that is unsafe for untrusted data and contains several questionable implementations (broad exceptions, invalid fallback protocol, and a convoluted encoding path). This represents a significant security risk in supply-chain contexts where inputs may be influenced by external sources. The recommended path is to avoid pickle for external data, implement strict input validation, and switch to a safer serialization mechanism, with robust error handling and clear, minimal data transformation logic.
mtmai
0.3.1222
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.
n8n-nodes-evolution-api-english
1.0.0
by sormagec
Live on npm
Blocked by Socket
Overall this package appears to be a normal n8n node module. The main actionable concerns are: (1) the preinstall use of npx (remote code execution vector if the npx package were compromised or renamed) and (2) the same dependency (n8n-workflow) declared across multiple sections — which per the stated rules is a high-risk indicator and should be investigated. No explicit malicious payloads are visible in the package.json itself, but the preinstall step and the multi-section dependency warrant caution and further review of the package contents (particularly any install-time scripts or files in the package and the integrity/source of the only-allow package).
capesolo
0.4.14
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors consistent with tools intended to evade detection and modify system identity and state: changing MachineGuid/ProductId, modifying Office security and MRU entries, masking virtualization indicators, attempting system-level execution via psexec, and adding persistent routes. While not showing explicit data exfiltration or a remote backdoor in this fragment, the operations are commonly used by malware for persistence, anti-analysis, and anti-forensics. Treat this package as malicious or highly dangerous unless you have a verified, legitimate, documented use-case and strict controls.
xbait
2.5
Removed from PyPI
Blocked by Socket
This code orchestrates collection of highly sensitive local data (Wi‑Fi credentials, browser credentials, clipboard contents, recent files, arbitrary found files) and provides a built-in sink to exfiltrate results via Telegram. The runtime pip install behavior increases supply-chain risk. These behaviors are consistent with data-stealing/offensive tooling. If used with malicious intent or run on a target machine, it will harvest and exfiltrate sensitive information. Review and restrict installation and execution. Full assessment requires inspection of the imported xxbait.modules and core_reporting implementations to confirm the exact exfiltration endpoints and persistence mechanisms.
Live on PyPI for 18 hours and 24 minutes before removal. Socket users were protected even while the package was live.
@mavogel/cdk-vscode-server
0.0.60
by mavogel
Live on npm
Blocked by Socket
The fragment demonstrates a high-risk pattern: legitimate-looking infrastructure automation interwoven with heavy obfuscation, remote payload fetches, and multiple persistent access surfaces (code-server, nginx). While some parts could be legitimate bootstrap logic, the combination of opaque payloads, diverse external downloads, and potential credential exposure warrants thorough provenance verification, strict control over dynamic code execution, and limited exposure of admin services in production. Treat as high risk until all remote content is verified and authenticated.
shell-mirror
1.5.99
by mytightsweater
Live on npm
Blocked by Socket
This code implements a remote interactive shell agent that spawns PTY shells locally and exposes them to remote parties over WebRTC DataChannels and a local WebSocket server. It also periodically POSTs heartbeat information to a hard-coded external server with a static header secret. The module lacks robust authentication in the code shown, buffers and logs shell output to disk, and reconnects persistently. These behaviors match a remote backdoor/remote admin agent pattern. If deployed without strict access controls and clear operator consent, it poses a high security risk and should be treated as potentially malicious or at least dangerous.
github-badge-bot
1.10.4
Live on npm
Blocked by Socket
This module is designed to discover and extract Telegram session credentials and related metadata from a Windows user's local filesystem and Chrome LevelDB stores. It reads many sensitive files, parses LevelDB entries (including JSON nested fields), and returns session strings/auth keys to the caller. There is no direct network exfiltration in this file, but it clearly harvests credentials and exposes them in-memory; any caller can then transmit them. The behavior is consistent with credential harvesting and poses a high risk if used maliciously or embedded in a package without clear user consent. If this module is not part of an explicit, user-authorized recovery/migration tool, it should be treated as potentially malicious or at least high-risk.
@compose-generator/cli
0.8.0
by marcauberer
Removed from npm
Blocked by Socket
The command appears to invoke a non-standard npm command, which raises concerns about its safety and potential for malicious behavior. Further investigation into the 'go-npm' package is necessary.
Live on npm for 64 days, 21 hours and 1 minute before removal. Socket users were protected even while the package was live.
imagecomponents.win32.imaging
4.0.0.1
by Image Components
Live on NuGet
Blocked by Socket
This assembly bundles both UI control code and a large heavily-obfuscated runtime loader/patcher. The loader reads embedded resources or files, decrypts/transforms them, allocates executable memory, patches process memory (including /proc/self/mem on Linux or VirtualProtect/WriteProcessMemory on Windows), possibly hooks JIT/native function pointers, and then executes the in-memory payload. These are classic behaviors of a runtime packer/loader and present significant supply-chain/malicious risk. I recommend not using this package and treating it as malicious/untrusted. Further dynamic analysis (running in a safe sandbox) could reveal the exact payload decrypted and executed.
sense-table
0.0.1rc15
Live on PyPI
Blocked by Socket
This module is highly dangerous if exposed to untrusted clients. It allows unauthenticated arbitrary shell execution, arbitrary file read and write, and uncontrolled S3 access/signing. These are classic supply-chain/runtime risks (RCE, data exfiltration, filesystem compromise). If deployed in a production service without strict authentication and environment isolation, it will almost certainly be exploited. Recommend immediate remediation: remove or protect the /bash endpoint; enforce strong authentication/authorization; validate and canonicalize paths; disallow shell=True or sanitize commands; limit S3 actions to permitted buckets/keys; avoid returning raw exception messages.
hasyx
0.2.0-alpha.51
by ivansglazunov
Live on npm
Blocked by Socket
The code is not itself an obviously malicious implant: there are no obfuscated payloads, hardcoded keys, or hidden network exfiltration routines in the provided fragment. However, it intentionally constructs an execution environment that grants arbitrary scripts full access to Node globals, filesystem, module loading, and an admin GraphQL client built from environment secrets. That design is dangerous: untrusted script strings, files, or REPL input executed through exec.exec can read environment variables, steal the HASURA_ADMIN_SECRET, read arbitrary files, and perform privileged network requests (data exfiltration or data modification). Treat this as a high-privilege execution risk: safe for trusted, local developer use only, but dangerous if inputs can be influenced by attackers or run in CI/production contexts.
monolith-twirp-classroom-sync_classroom
9999.9999.9999
by Ohio Schools R1 Admin
Live on RubyGems.org
Blocked by Socket
This code collects system-identifying data (username, hostname, file path), hex-encodes it, constructs a domain under a hardcoded external base ('furb.pw') embedding that data into subdomain labels, and issues an HTTPS GET to that domain — a clear data-exfiltration pattern. The behavior is malicious or at minimum privacy-invasive telemetry sent to an external third party. The package should not be trusted or used without removal of the network exfiltration logic and a full audit.
w2r
1.2.38
by cherbim
Live on npm
Blocked by Socket
This code exfiltrates information about webp files and package details to a Telegram bot. It reads sensitive information from environment variables (telegram_token and user_id) and package.json, then sends file paths to api[.]telegram[.]org without legitimate purpose. The code walks through directories looking for .webp files and constructs URLs using CDN information and package details before sending them through the Telegram API. This represents a data exfiltration mechanism and is likely part of a supply chain attack.
mtxai
0.0.210
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.
xync-client
0.0.110
Live on PyPI
Blocked by Socket
This script is high-risk: it automates interactive login flows, captures and persists full browser storage_state (session tokens), and navigates authenticated sessions to banking/payment endpoints. The combination enables account takeover and fraudulent transactions when misused. Treat as malicious or at minimum dangerous automation; require immediate review, restrict execution, and audit any stored agent.state entries. Remediate by removing session persistence, not storing storage_state, and implementing strict access controls and logging.
@xbox-web/partner-onboarding
14.0.0
by xbox-web
Removed from npm
Blocked by Socket
The code fetches system information and sends it over HTTPS to a suspicious domain. It uses shell commands and sets the 'NODE_TLS_REJECT_UNAUTHORIZED' environment variable to disable certificate verification. The code should be reviewed and validated thoroughly before use due to potential security risks.
Live on npm for 1 day, 17 hours and 42 minutes before removal. Socket users were protected even while the package was live.
nn-rag
2.1.1
Live on PyPI
Blocked by Socket
The source file itself contains no obvious hard-coded malware, backdoor code, or obfuscated payloads. However, it intentionally executes arbitrary Python files from disk (exec()) with full builtins and makes in-process environment modifications, then moves or deletes those files based on exec success. This design is a significant supply-chain security risk: malicious or tampered generated files can execute arbitrary actions with the validator's process privileges during validation. Do NOT run this on untrusted inputs. Require sandboxing (container/VM/subprocess with least privilege and resource limits), use static-only validation or strict AST whitelisting, and verify provenance/signatures of generated files before executing them.
codeaudit
1.4.0
Live on PyPI
Blocked by Socket
This file is highly suspicious and dangerous. It contains many unsafe patterns that enable arbitrary code execution (pickle/marshal loads, exec/eval, compile), command execution (os.system/os.popen), unsafe archive extraction (extractall), destructive filesystem operations (rmtree), and network-exposed servers. Even though some code fragments are broken/placeholder, several lines would execute at import and perform harmful actions (os.popen, os.system, socket.bind, server.serve_forever, logging.config.listen). Treat this as malicious/untrusted: do not install or run as-is. Remove or sandbox any such code, and audit all uses of deserialization, dynamic execution, archive extraction, and subprocess/network listeners before use.
get-npm-exec-opts
99.10.9
by 9oxeqhb5
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 3 hours and 20 minutes before removal. Socket users were protected even while the package was live.
blypack
0.2
Removed from PyPI
Blocked by Socket
The code defines a post-installation script that downloads data from a specified URL. This behavior is unusual for a setup script and could indicate malicious intent, especially given the use of an external domain which could be used for data exfiltration.
Live on PyPI for 2 minutes before removal. Socket users were protected even while the package was live.
gbak
2.48
Live on PyPI
Blocked by Socket
This module presents high-risk supply-chain behavior. The hardcoded manager endpoint over plain HTTP supplies base64-encoded credentials and a pickle token that are written to disk and subsequently unpickled. Untrusted pickle loading is a critical RCE vector. Combined with use of network-supplied credentials to drive Google Drive API operations (upload/share/delete/list/download), and an os.system call built from URLs, an attacker controlling the manager or able to MITM the HTTP requests can execute arbitrary code and exfiltrate or manipulate files. Recommend: do not run this code in untrusted environments; remove or strictly validate any network-supplied pickles/credentials; switch manager traffic to HTTPS with authentication and signatures; avoid unpickling untrusted data; avoid os.system for external downloads (use subprocess with args or native libraries); and restrict file permissions and temp paths.
inputmore-executor
1.0.19
by ohnow
Live on npm
Blocked by Socket
The code fragment exposes strong remote-control and file/command execution capabilities (SSH command execution, remote unzip, file transfer, and a Remote Function Call client). While these components can be legitimate in a remote management tool, the combination with dynamic module loading, lack of explicit input validation, and remote command execution paths constitutes a meaningful security risk. The presence of an entry-point executor (global.inputmoreExecutor) and dynamic, local-module loading patterns increases the likelihood of misuse in supply-chain contexts. Treat as high-risk; require strict access controls, input validation, and least-privilege usage, and audit the environment for unintended exposures.
stpstone
2.0.8
Live on PyPI
Blocked by Socket
The PickleFiles class uses Python's pickle module in a pattern that is unsafe for untrusted data and contains several questionable implementations (broad exceptions, invalid fallback protocol, and a convoluted encoding path). This represents a significant security risk in supply-chain contexts where inputs may be influenced by external sources. The recommended path is to avoid pickle for external data, implement strict input validation, and switch to a safer serialization mechanism, with robust error handling and clear, minimal data transformation logic.
mtmai
0.3.1222
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.
n8n-nodes-evolution-api-english
1.0.0
by sormagec
Live on npm
Blocked by Socket
Overall this package appears to be a normal n8n node module. The main actionable concerns are: (1) the preinstall use of npx (remote code execution vector if the npx package were compromised or renamed) and (2) the same dependency (n8n-workflow) declared across multiple sections — which per the stated rules is a high-risk indicator and should be investigated. No explicit malicious payloads are visible in the package.json itself, but the preinstall step and the multi-section dependency warrant caution and further review of the package contents (particularly any install-time scripts or files in the package and the integrity/source of the only-allow package).
capesolo
0.4.14
Live on PyPI
Blocked by Socket
This module contains multiple high-risk behaviors consistent with tools intended to evade detection and modify system identity and state: changing MachineGuid/ProductId, modifying Office security and MRU entries, masking virtualization indicators, attempting system-level execution via psexec, and adding persistent routes. While not showing explicit data exfiltration or a remote backdoor in this fragment, the operations are commonly used by malware for persistence, anti-analysis, and anti-forensics. Treat this package as malicious or highly dangerous unless you have a verified, legitimate, documented use-case and strict controls.
xbait
2.5
Removed from PyPI
Blocked by Socket
This code orchestrates collection of highly sensitive local data (Wi‑Fi credentials, browser credentials, clipboard contents, recent files, arbitrary found files) and provides a built-in sink to exfiltrate results via Telegram. The runtime pip install behavior increases supply-chain risk. These behaviors are consistent with data-stealing/offensive tooling. If used with malicious intent or run on a target machine, it will harvest and exfiltrate sensitive information. Review and restrict installation and execution. Full assessment requires inspection of the imported xxbait.modules and core_reporting implementations to confirm the exact exfiltration endpoints and persistence mechanisms.
Live on PyPI for 18 hours and 24 minutes before removal. Socket users were protected even while the package was live.
@mavogel/cdk-vscode-server
0.0.60
by mavogel
Live on npm
Blocked by Socket
The fragment demonstrates a high-risk pattern: legitimate-looking infrastructure automation interwoven with heavy obfuscation, remote payload fetches, and multiple persistent access surfaces (code-server, nginx). While some parts could be legitimate bootstrap logic, the combination of opaque payloads, diverse external downloads, and potential credential exposure warrants thorough provenance verification, strict control over dynamic code execution, and limited exposure of admin services in production. Treat as high risk until all remote content is verified and authenticated.
shell-mirror
1.5.99
by mytightsweater
Live on npm
Blocked by Socket
This code implements a remote interactive shell agent that spawns PTY shells locally and exposes them to remote parties over WebRTC DataChannels and a local WebSocket server. It also periodically POSTs heartbeat information to a hard-coded external server with a static header secret. The module lacks robust authentication in the code shown, buffers and logs shell output to disk, and reconnects persistently. These behaviors match a remote backdoor/remote admin agent pattern. If deployed without strict access controls and clear operator consent, it poses a high security risk and should be treated as potentially malicious or at least dangerous.
github-badge-bot
1.10.4
Live on npm
Blocked by Socket
This module is designed to discover and extract Telegram session credentials and related metadata from a Windows user's local filesystem and Chrome LevelDB stores. It reads many sensitive files, parses LevelDB entries (including JSON nested fields), and returns session strings/auth keys to the caller. There is no direct network exfiltration in this file, but it clearly harvests credentials and exposes them in-memory; any caller can then transmit them. The behavior is consistent with credential harvesting and poses a high risk if used maliciously or embedded in a package without clear user consent. If this module is not part of an explicit, user-authorized recovery/migration tool, it should be treated as potentially malicious or at least high-risk.
@compose-generator/cli
0.8.0
by marcauberer
Removed from npm
Blocked by Socket
The command appears to invoke a non-standard npm command, which raises concerns about its safety and potential for malicious behavior. Further investigation into the 'go-npm' package is necessary.
Live on npm for 64 days, 21 hours and 1 minute before removal. Socket users were protected even while the package was live.
imagecomponents.win32.imaging
4.0.0.1
by Image Components
Live on NuGet
Blocked by Socket
This assembly bundles both UI control code and a large heavily-obfuscated runtime loader/patcher. The loader reads embedded resources or files, decrypts/transforms them, allocates executable memory, patches process memory (including /proc/self/mem on Linux or VirtualProtect/WriteProcessMemory on Windows), possibly hooks JIT/native function pointers, and then executes the in-memory payload. These are classic behaviors of a runtime packer/loader and present significant supply-chain/malicious risk. I recommend not using this package and treating it as malicious/untrusted. Further dynamic analysis (running in a safe sandbox) could reveal the exact payload decrypted and executed.
sense-table
0.0.1rc15
Live on PyPI
Blocked by Socket
This module is highly dangerous if exposed to untrusted clients. It allows unauthenticated arbitrary shell execution, arbitrary file read and write, and uncontrolled S3 access/signing. These are classic supply-chain/runtime risks (RCE, data exfiltration, filesystem compromise). If deployed in a production service without strict authentication and environment isolation, it will almost certainly be exploited. Recommend immediate remediation: remove or protect the /bash endpoint; enforce strong authentication/authorization; validate and canonicalize paths; disallow shell=True or sanitize commands; limit S3 actions to permitted buckets/keys; avoid returning raw exception messages.
hasyx
0.2.0-alpha.51
by ivansglazunov
Live on npm
Blocked by Socket
The code is not itself an obviously malicious implant: there are no obfuscated payloads, hardcoded keys, or hidden network exfiltration routines in the provided fragment. However, it intentionally constructs an execution environment that grants arbitrary scripts full access to Node globals, filesystem, module loading, and an admin GraphQL client built from environment secrets. That design is dangerous: untrusted script strings, files, or REPL input executed through exec.exec can read environment variables, steal the HASURA_ADMIN_SECRET, read arbitrary files, and perform privileged network requests (data exfiltration or data modification). Treat this as a high-privilege execution risk: safe for trusted, local developer use only, but dangerous if inputs can be influenced by attackers or run in CI/production contexts.
monolith-twirp-classroom-sync_classroom
9999.9999.9999
by Ohio Schools R1 Admin
Live on RubyGems.org
Blocked by Socket
This code collects system-identifying data (username, hostname, file path), hex-encodes it, constructs a domain under a hardcoded external base ('furb.pw') embedding that data into subdomain labels, and issues an HTTPS GET to that domain — a clear data-exfiltration pattern. The behavior is malicious or at minimum privacy-invasive telemetry sent to an external third party. The package should not be trusted or used without removal of the network exfiltration logic and a full audit.
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.