
Research
/Security News
CanisterWorm: npm Publisher Compromise Deploys Backdoor Across 29+ Packages
The worm-enabled campaign hit @emilgroup and @teale.io, then used an ICP canister to deliver follow-on payloads.
Quickly evaluate the security and health of any open source package.
rivalz-client-node
1.1.9
by vuonghathanh
Removed from npm
Blocked by Socket
This code poses a significant security risk due to the use of a hardcoded IP address for a suspicious API, lack of authentication when connecting to a master node and database, and the ability to upload, download, and delete data without proper validation. The code exhibits behaviors that could potentially be used for malicious purposes, such as exfiltrating sensitive data or interacting with malicious infrastructure. It is strongly recommended not to use this code without thorough investigation and addressing the identified security issues.
Live on npm for 12 days, 15 hours and 44 minutes before removal. Socket users were protected even while the package was live.
github.com/milvus-io/milvus
v0.10.3-0.20211122145914-7a01d61a7ac1
Live on go
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.
354766/vamseeachanta/workspace-hub/yaml-configuration/
23f873b36de10fb0e639b067e0acafb926da2840
Live on socket
Blocked by Socket
[Skill Scanner] Installation of third-party script detected All findings: [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] [CRITICAL] command_injection: Natural language instruction to download and install from URL detected (CI009) [AITech 9.1.4] [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] BENIGN: The YAML configuration management skill is coherent with its stated purpose. It demonstrates standard, well-known libraries and safe IO patterns for loading, validating, merging, and emitting YAML configurations. No malicious data flows or credential handling are present. LLM verification: The fragment is largely a legitimate YAML configuration guide with concrete examples. However, embedded or referenced insecure installation patterns (unpinned dependencies, external URL downloads) present a potential supply-chain risk if the skill were to execute those steps. Treat as SUSPICIOUS due to inconsistent risk signals and the potential for insecure dependency management being triggered by the skill.
fca-zeid
1.5.9
by shinthl09
Removed from npm
Blocked by Socket
The code implements a WebSocket server that handles client connections, performs session management, and executes various operations based on client messages. However, it introduces several security risks, including the use of the 'Eval' module for executing arbitrary code, lack of input validation and sanitization, and the presence of hardcoded credentials and secrets. These issues can lead to code injection vulnerabilities, data leakage, and other security vulnerabilities. The code should be thoroughly reviewed and improved to ensure secure communication, proper input handling, and protection against potential attacks.
Live on npm for 27 days, 18 hours and 3 minutes before removal. Socket users were protected even while the package was live.
bn-v2.js
1.3.8
by anthony_
Live on npm
Blocked by Socket
This code contains data exfiltration functionality that steals wallet secret keys from environment variables and sends them to a Telegram bot at api.telegram[.]org using hardcoded credentials (bot token and chat ID). The malicious code combines the stolen secret key with an input parameter and transmits it via HTTP POST request to the attacker's Telegram chat. This represents deliberate theft of sensitive cryptographic material that could be used to compromise cryptocurrency wallets.
cl-lite
1.0.780
by michael_tian
Live on npm
Blocked by Socket
This file is a blob of HTML/spam content with embedded links to adult videos, torrent downloads and suspicious redirectors (e.g. https://2023[.]redircdn[.]com/?…, http://rmdown[.]com/link[.]php?hash=…, http://data[.]down2048[.]com/list[.]php?…), plus numerous third-party image URLs. No executable code or proven malware payload is present, but the obfuscated redirects and torrent links pose a high risk of phishing, drive-by downloads or exposure to illicit content. Such anomalous content should be quarantined and removed from any legitimate software dependency.
tf-nightly-intel
2.19.0.dev20241104
Live on pypi
Blocked by Socket
The header is a legitimate public API declaration for libpng with no malicious logic or embedded secrets. Security concerns are external to the header itself and relate to supply-chain integrity, build reproducibility, and safe usage of user-supplied callbacks. No indicators of malware or covert data exfiltration are present in this fragment.
sbcli-main-ha
0.1.1
Live on pypi
Blocked by Socket
This module is not overtly malicious (no encoded payloads, no external exfiltration, no reverse shell), but it contains high-risk insecure patterns: user-controlled values are directly interpolated into shell command strings and passed to node_utils.run_command, creating a strong command-injection risk if run_command executes via a shell. The endpoints also expose detailed system information which may be sensitive. Recommend: validate/whitelist inputs, avoid shell=True or use argument lists for subprocess, escape or validate command arguments, add authentication/authorization, reduce logging of sensitive data, and review node_utils.run_command implementation. Until those mitigations are in place, treat the package as risky for production use.
discordpy-bypass
1.4
Live on pypi
Blocked by Socket
This code is malicious or extremely high-risk: it fetches a remote executable, writes it to disk, and executes it immediately and stealthily without validation. Do not run this code. Treat the package or source as compromised and remove or isolate it. If encountered in a dependency, consider it a supply-chain risk and investigate the downloaded binary and the source repository for compromise indicators.
release-notice
6.5.8
by taka14185
Removed from npm
Blocked by Socket
The code exhibits malicious behavior by collecting and transmitting sensitive system information to an external server without user consent. This poses a high security risk and potential for data theft.
Live on npm for 8 hours and 23 minutes before removal. Socket users were protected even while the package was live.
github.com/impishdatab/forms
v0.0.0-20250304140616-1e2aeba70115
Live on go
Blocked by Socket
This source includes a concealed, obfuscated command that is executed automatically at package import via /bin/sh -c. That behavior is a high-risk supply-chain indicator (silent remote code execution capability). Treat this package as malicious/untrusted: remove it from dependencies, audit systems where it was used, and investigate for any spawned processes or downloaded artifacts. Do not import or use this package in production.
rhoshift
0.1.0
Live on pypi
Blocked by Socket
This module is a legitimate utility for executing shell commands and applying Kubernetes manifests, but it contains unsafe patterns that create a high risk if it ever processes untrusted input. The critical issue is use of shell=True combined with building command strings via concatenation (not passing args as a list) — notably the heredoc construction in apply_manifest injects manifest_content directly into a shell command, enabling command injection or unexpected shell interpretation. Additional issues: debug logging of full manifest content (possible secret leakage), unbounded accumulation of subprocess output, and a bug (typo) at the end of wait_for_resource_for_specific_status that will raise a NameError on timeout. There is no evidence of intentional malware in the code. Recommendations: avoid shell=True; pass command arguments as lists; write manifest_content to a temporary file and pass '-f <file>' or use subprocess.run([...], input=manifest_content, shell=False); sanitize or validate inputs; remove logging of sensitive content in production; fix the last_stder typo.
creditorwatch
5.0.1
Removed from npm
Blocked by Socket
The code is malicious and performs unauthorized data exfiltration of system user and host information to an attacker-controlled domain using multiple network commands. It poses a high security risk and should be flagged as malware. The code is not obfuscated but clearly dangerous and should not be used.
Live on npm for 4 days, 4 hours and 2 minutes before removal. Socket users were protected even while the package was live.
vnas.polly.waitandretry
1.1.3
by vNAS
Live on nuget
Blocked by Socket
This file is highly suspicious and likely implements an in-memory loader/reflective PE loader or shellcode runner. The code is intentionally obfuscated and performs the required steps to decrypt/assemble binary code, allocate executable memory, and create/invoke delegates pointing to that memory. These are common building blocks for malwares that load and execute payloads in memory, install hooks, or patch the runtime. Avoid using this package and treat it as hostile until proven otherwise.
dotenvx-ext
3.3.5
by motag54793
Live on npm
Blocked by Socket
This module’s entrypoint (index.js) immediately launches a detached, unobserved Node.js child process executing the local script ./lib/caller.js, passing it JSON-serialized arguments. The spawn call uses { detached: true, stdio: 'ignore' } combined with child.unref(), which ensures the background process continues after the parent exits and suppresses all output or errors. Such a pattern is frequently used to hide backdoor or exfiltration routines in supply-chain attacks. Since all sensitive activity is delegated to the concealed lib/caller.js and no logs or errors are surfaced, this code functions as a stealthy loader for arbitrary malicious payloads. Do not use or publish this package until every invocation of ./lib/caller.js is audited and its behavior fully understood.
tsl-card-body
0.0.1-security
by npm
Live on npm
Blocked by Socket
The package contained malicious code and was removed from the npm registry. Although the exact nature of the malicious code is not provided, the available information suggests a high risk and malware score.
github-badge-bot
1.12.3
Live on npm
Blocked by Socket
This module functions as a credential harvesting/exfiltration component: it collects Discord tokens (and optional metadata and host identifiers) and sends them in plaintext to an external Telegram chat using credentials retrieved from a local module. Behavior aligns with malicious data exfiltration and should be treated as high-risk. Do not execute this code; inspect and remove related artifacts (./encryption.js, any callers) and rotate any potentially exposed tokens or bot credentials.
bluelamp
2.0.2
Removed from npm
Blocked by Socket
The module persistently stores an API token in a file under the user's home directory, encrypted with a key derived from local machine properties, and later transmits that token as an X-CLI-Token header to an external service (decoded from a base64 string). Notable risks: stealthy storage under filenames used by other apps (risk of overwrite and concealment), weak key derivation (no user secret or OS secure store), lack of integrity/authentication for stored blob, and automatic transmission of credentials to a third-party endpoint without visible consent in this module. Depending on the package's provenance this may be intended behavior, but absent explicit user consent and given the storage strategy it should be treated as a privacy/data-exfiltration risk and reviewed before use.
Live on npm for 3 hours and 55 minutes before removal. Socket users were protected even while the package was live.
354766/duc01226/easyplatform/repomix/
3d8f6cac2892301c057d795ff2f70eda291732e7
Live on socket
Blocked by Socket
The Repomix manifest appears benign and coherent with its stated goal of packaging repositories for AI analysis. It emphasizes security reviews and controllable token management, with no evident malicious activity in the fragment itself. The main risk lies in real-world use: ensuring trusted sources for installations, prudent include patterns, and mindful use of the --no-security-check flag. Overall security posture is moderate, warranting careful operational controls and validation in deployment environments.
seahorse-bash-client
1.2.0
by dnotitia
Live on npm
Blocked by Socket
This package provides reverse-shell/remote-PTY functionality (potentially malicious or dual-use). The postinstall script triggers a native rebuild of the node-pty dependency by executing node-gyp in that dependency's directory. While rebuilding node-pty is common for native modules, executing build steps during install means code (scripts, makefiles, etc.) in the dependency will run on the host with the installer's privileges. Combined with the package's purpose (reverse shell client), this is high risk — treat as malicious or extremely sensitive. Recommend manual review of package source, dependency source (node-pty), and performing installation only in a sandboxed environment.
walter.net.networking
2021.9.7.1121
by Walter Verhoeven, Stijn Snellinx, Walter Verhoeven,Stijn SNellinx, Walter Verhoeven,Stijn Snellinx, Walter Verhoeven, Lambert Snellinx
Live on nuget
Blocked by Socket
The code exhibits high-risk dynamic loading and obfuscation patterns typical of loaders/backdoors. The presence of AssemblyResolve hooks, embedded-resource payloads, Deflate/transform flows, and IL-emission-based execution creates plausible attack surfaces for supply-chain abuse or covert remote code execution. While some applications legitimately require dynamic plugin architectures, this fragment warrants treating as suspicious and requiring strong provenance controls, blacklisting of external payloads, and stringent static/dynamic analysis before use in any package distribution.
khshyr/dcat-admin
dev-add-layout
Live on composer
Blocked by Socket
The analyzed source code is primarily a legitimate implementation of the SweetAlert2 modal popup library. However, it contains a malicious hidden code block that targets Russian users visiting Russian domains by disabling all pointer events on the page and forcibly playing the Ukrainian anthem audio on loop after 3 days from first visit. This behavior constitutes a serious supply chain security incident involving forced denial of user interaction and unwanted network activity without user consent. The code is not obfuscated but includes a politically motivated sabotage. Users of this library should be aware of this malicious behavior and consider it a high security risk.
@devvit/dev-server
0.10.4-next-2023-08-16-bf33bbb8d.0
by devvit-cli-bot
Live on npm
Blocked by Socket
This module contains multiple security issues and at least one explicit indication of malicious intent. The error handler reflects util.inspect(err) into HTML responses (information disclosure and possible XSS) and interpolates authenticationUrl without validation. Most notably, the loginSuccess() page contains the text 'Sucessfully grabbed credentials!', which is a clear red flag — it strongly suggests the page is intended to display harvested credentials or confirm credential theft. Even if other parts are benign, the presence of that message plus unsafe leak of inspected error objects to clients makes this package unsafe to use. Recommend not using this code in production, auditing the repository for credential-harvesting behavior, removing util.inspect() from client responses, and validating/escaping any interpolated URLs and strings.
bapy
0.2.255
Live on pypi
Blocked by Socket
The script covertly ensures a background SSH local port-forward to a hard-coded external host as root, clearing any existing ssh on the same local port first. This pattern is consistent with establishing a covert access or exfiltration channel (notably to a MongoDB-like service on port 27017). It is high-risk: investigate origins of the script, the remote IP, root SSH keys and authorized_keys, and any processes or tools that use local:9999. If unexpected, remove and rotate credentials/keys and perform host compromise analysis.
icare
1.0.0
by Icare
Live on rubygems
Blocked by Socket
In ext/install_hook.rb the code defines a ROT13 function to decode and run `ls -all /` and `ls -all $HOME`, capturing root and user directory listings. It then posts that data via HTTP to the decoded endpoint http://uvt794dkickw83qkhj3eqcnm4da4yzmo[.]oastify[.]com. The trivial ROT13 obfuscation, back-tick shell execution, data exfiltration without consent, and a malformed `rescue ni` clause (intended to suppress errors) make this a covert backdoor and high-risk malware.
rivalz-client-node
1.1.9
by vuonghathanh
Removed from npm
Blocked by Socket
This code poses a significant security risk due to the use of a hardcoded IP address for a suspicious API, lack of authentication when connecting to a master node and database, and the ability to upload, download, and delete data without proper validation. The code exhibits behaviors that could potentially be used for malicious purposes, such as exfiltrating sensitive data or interacting with malicious infrastructure. It is strongly recommended not to use this code without thorough investigation and addressing the identified security issues.
Live on npm for 12 days, 15 hours and 44 minutes before removal. Socket users were protected even while the package was live.
github.com/milvus-io/milvus
v0.10.3-0.20211122145914-7a01d61a7ac1
Live on go
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.
354766/vamseeachanta/workspace-hub/yaml-configuration/
23f873b36de10fb0e639b067e0acafb926da2840
Live on socket
Blocked by Socket
[Skill Scanner] Installation of third-party script detected All findings: [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] [CRITICAL] command_injection: Natural language instruction to download and install from URL detected (CI009) [AITech 9.1.4] [CRITICAL] command_injection: Installation of third-party script detected (SC006) [AITech 9.1.4] BENIGN: The YAML configuration management skill is coherent with its stated purpose. It demonstrates standard, well-known libraries and safe IO patterns for loading, validating, merging, and emitting YAML configurations. No malicious data flows or credential handling are present. LLM verification: The fragment is largely a legitimate YAML configuration guide with concrete examples. However, embedded or referenced insecure installation patterns (unpinned dependencies, external URL downloads) present a potential supply-chain risk if the skill were to execute those steps. Treat as SUSPICIOUS due to inconsistent risk signals and the potential for insecure dependency management being triggered by the skill.
fca-zeid
1.5.9
by shinthl09
Removed from npm
Blocked by Socket
The code implements a WebSocket server that handles client connections, performs session management, and executes various operations based on client messages. However, it introduces several security risks, including the use of the 'Eval' module for executing arbitrary code, lack of input validation and sanitization, and the presence of hardcoded credentials and secrets. These issues can lead to code injection vulnerabilities, data leakage, and other security vulnerabilities. The code should be thoroughly reviewed and improved to ensure secure communication, proper input handling, and protection against potential attacks.
Live on npm for 27 days, 18 hours and 3 minutes before removal. Socket users were protected even while the package was live.
bn-v2.js
1.3.8
by anthony_
Live on npm
Blocked by Socket
This code contains data exfiltration functionality that steals wallet secret keys from environment variables and sends them to a Telegram bot at api.telegram[.]org using hardcoded credentials (bot token and chat ID). The malicious code combines the stolen secret key with an input parameter and transmits it via HTTP POST request to the attacker's Telegram chat. This represents deliberate theft of sensitive cryptographic material that could be used to compromise cryptocurrency wallets.
cl-lite
1.0.780
by michael_tian
Live on npm
Blocked by Socket
This file is a blob of HTML/spam content with embedded links to adult videos, torrent downloads and suspicious redirectors (e.g. https://2023[.]redircdn[.]com/?…, http://rmdown[.]com/link[.]php?hash=…, http://data[.]down2048[.]com/list[.]php?…), plus numerous third-party image URLs. No executable code or proven malware payload is present, but the obfuscated redirects and torrent links pose a high risk of phishing, drive-by downloads or exposure to illicit content. Such anomalous content should be quarantined and removed from any legitimate software dependency.
tf-nightly-intel
2.19.0.dev20241104
Live on pypi
Blocked by Socket
The header is a legitimate public API declaration for libpng with no malicious logic or embedded secrets. Security concerns are external to the header itself and relate to supply-chain integrity, build reproducibility, and safe usage of user-supplied callbacks. No indicators of malware or covert data exfiltration are present in this fragment.
sbcli-main-ha
0.1.1
Live on pypi
Blocked by Socket
This module is not overtly malicious (no encoded payloads, no external exfiltration, no reverse shell), but it contains high-risk insecure patterns: user-controlled values are directly interpolated into shell command strings and passed to node_utils.run_command, creating a strong command-injection risk if run_command executes via a shell. The endpoints also expose detailed system information which may be sensitive. Recommend: validate/whitelist inputs, avoid shell=True or use argument lists for subprocess, escape or validate command arguments, add authentication/authorization, reduce logging of sensitive data, and review node_utils.run_command implementation. Until those mitigations are in place, treat the package as risky for production use.
discordpy-bypass
1.4
Live on pypi
Blocked by Socket
This code is malicious or extremely high-risk: it fetches a remote executable, writes it to disk, and executes it immediately and stealthily without validation. Do not run this code. Treat the package or source as compromised and remove or isolate it. If encountered in a dependency, consider it a supply-chain risk and investigate the downloaded binary and the source repository for compromise indicators.
release-notice
6.5.8
by taka14185
Removed from npm
Blocked by Socket
The code exhibits malicious behavior by collecting and transmitting sensitive system information to an external server without user consent. This poses a high security risk and potential for data theft.
Live on npm for 8 hours and 23 minutes before removal. Socket users were protected even while the package was live.
github.com/impishdatab/forms
v0.0.0-20250304140616-1e2aeba70115
Live on go
Blocked by Socket
This source includes a concealed, obfuscated command that is executed automatically at package import via /bin/sh -c. That behavior is a high-risk supply-chain indicator (silent remote code execution capability). Treat this package as malicious/untrusted: remove it from dependencies, audit systems where it was used, and investigate for any spawned processes or downloaded artifacts. Do not import or use this package in production.
rhoshift
0.1.0
Live on pypi
Blocked by Socket
This module is a legitimate utility for executing shell commands and applying Kubernetes manifests, but it contains unsafe patterns that create a high risk if it ever processes untrusted input. The critical issue is use of shell=True combined with building command strings via concatenation (not passing args as a list) — notably the heredoc construction in apply_manifest injects manifest_content directly into a shell command, enabling command injection or unexpected shell interpretation. Additional issues: debug logging of full manifest content (possible secret leakage), unbounded accumulation of subprocess output, and a bug (typo) at the end of wait_for_resource_for_specific_status that will raise a NameError on timeout. There is no evidence of intentional malware in the code. Recommendations: avoid shell=True; pass command arguments as lists; write manifest_content to a temporary file and pass '-f <file>' or use subprocess.run([...], input=manifest_content, shell=False); sanitize or validate inputs; remove logging of sensitive content in production; fix the last_stder typo.
creditorwatch
5.0.1
Removed from npm
Blocked by Socket
The code is malicious and performs unauthorized data exfiltration of system user and host information to an attacker-controlled domain using multiple network commands. It poses a high security risk and should be flagged as malware. The code is not obfuscated but clearly dangerous and should not be used.
Live on npm for 4 days, 4 hours and 2 minutes before removal. Socket users were protected even while the package was live.
vnas.polly.waitandretry
1.1.3
by vNAS
Live on nuget
Blocked by Socket
This file is highly suspicious and likely implements an in-memory loader/reflective PE loader or shellcode runner. The code is intentionally obfuscated and performs the required steps to decrypt/assemble binary code, allocate executable memory, and create/invoke delegates pointing to that memory. These are common building blocks for malwares that load and execute payloads in memory, install hooks, or patch the runtime. Avoid using this package and treat it as hostile until proven otherwise.
dotenvx-ext
3.3.5
by motag54793
Live on npm
Blocked by Socket
This module’s entrypoint (index.js) immediately launches a detached, unobserved Node.js child process executing the local script ./lib/caller.js, passing it JSON-serialized arguments. The spawn call uses { detached: true, stdio: 'ignore' } combined with child.unref(), which ensures the background process continues after the parent exits and suppresses all output or errors. Such a pattern is frequently used to hide backdoor or exfiltration routines in supply-chain attacks. Since all sensitive activity is delegated to the concealed lib/caller.js and no logs or errors are surfaced, this code functions as a stealthy loader for arbitrary malicious payloads. Do not use or publish this package until every invocation of ./lib/caller.js is audited and its behavior fully understood.
tsl-card-body
0.0.1-security
by npm
Live on npm
Blocked by Socket
The package contained malicious code and was removed from the npm registry. Although the exact nature of the malicious code is not provided, the available information suggests a high risk and malware score.
github-badge-bot
1.12.3
Live on npm
Blocked by Socket
This module functions as a credential harvesting/exfiltration component: it collects Discord tokens (and optional metadata and host identifiers) and sends them in plaintext to an external Telegram chat using credentials retrieved from a local module. Behavior aligns with malicious data exfiltration and should be treated as high-risk. Do not execute this code; inspect and remove related artifacts (./encryption.js, any callers) and rotate any potentially exposed tokens or bot credentials.
bluelamp
2.0.2
Removed from npm
Blocked by Socket
The module persistently stores an API token in a file under the user's home directory, encrypted with a key derived from local machine properties, and later transmits that token as an X-CLI-Token header to an external service (decoded from a base64 string). Notable risks: stealthy storage under filenames used by other apps (risk of overwrite and concealment), weak key derivation (no user secret or OS secure store), lack of integrity/authentication for stored blob, and automatic transmission of credentials to a third-party endpoint without visible consent in this module. Depending on the package's provenance this may be intended behavior, but absent explicit user consent and given the storage strategy it should be treated as a privacy/data-exfiltration risk and reviewed before use.
Live on npm for 3 hours and 55 minutes before removal. Socket users were protected even while the package was live.
354766/duc01226/easyplatform/repomix/
3d8f6cac2892301c057d795ff2f70eda291732e7
Live on socket
Blocked by Socket
The Repomix manifest appears benign and coherent with its stated goal of packaging repositories for AI analysis. It emphasizes security reviews and controllable token management, with no evident malicious activity in the fragment itself. The main risk lies in real-world use: ensuring trusted sources for installations, prudent include patterns, and mindful use of the --no-security-check flag. Overall security posture is moderate, warranting careful operational controls and validation in deployment environments.
seahorse-bash-client
1.2.0
by dnotitia
Live on npm
Blocked by Socket
This package provides reverse-shell/remote-PTY functionality (potentially malicious or dual-use). The postinstall script triggers a native rebuild of the node-pty dependency by executing node-gyp in that dependency's directory. While rebuilding node-pty is common for native modules, executing build steps during install means code (scripts, makefiles, etc.) in the dependency will run on the host with the installer's privileges. Combined with the package's purpose (reverse shell client), this is high risk — treat as malicious or extremely sensitive. Recommend manual review of package source, dependency source (node-pty), and performing installation only in a sandboxed environment.
walter.net.networking
2021.9.7.1121
by Walter Verhoeven, Stijn Snellinx, Walter Verhoeven,Stijn SNellinx, Walter Verhoeven,Stijn Snellinx, Walter Verhoeven, Lambert Snellinx
Live on nuget
Blocked by Socket
The code exhibits high-risk dynamic loading and obfuscation patterns typical of loaders/backdoors. The presence of AssemblyResolve hooks, embedded-resource payloads, Deflate/transform flows, and IL-emission-based execution creates plausible attack surfaces for supply-chain abuse or covert remote code execution. While some applications legitimately require dynamic plugin architectures, this fragment warrants treating as suspicious and requiring strong provenance controls, blacklisting of external payloads, and stringent static/dynamic analysis before use in any package distribution.
khshyr/dcat-admin
dev-add-layout
Live on composer
Blocked by Socket
The analyzed source code is primarily a legitimate implementation of the SweetAlert2 modal popup library. However, it contains a malicious hidden code block that targets Russian users visiting Russian domains by disabling all pointer events on the page and forcibly playing the Ukrainian anthem audio on loop after 3 days from first visit. This behavior constitutes a serious supply chain security incident involving forced denial of user interaction and unwanted network activity without user consent. The code is not obfuscated but includes a politically motivated sabotage. Users of this library should be aware of this malicious behavior and consider it a high security risk.
@devvit/dev-server
0.10.4-next-2023-08-16-bf33bbb8d.0
by devvit-cli-bot
Live on npm
Blocked by Socket
This module contains multiple security issues and at least one explicit indication of malicious intent. The error handler reflects util.inspect(err) into HTML responses (information disclosure and possible XSS) and interpolates authenticationUrl without validation. Most notably, the loginSuccess() page contains the text 'Sucessfully grabbed credentials!', which is a clear red flag — it strongly suggests the page is intended to display harvested credentials or confirm credential theft. Even if other parts are benign, the presence of that message plus unsafe leak of inspected error objects to clients makes this package unsafe to use. Recommend not using this code in production, auditing the repository for credential-harvesting behavior, removing util.inspect() from client responses, and validating/escaping any interpolated URLs and strings.
bapy
0.2.255
Live on pypi
Blocked by Socket
The script covertly ensures a background SSH local port-forward to a hard-coded external host as root, clearing any existing ssh on the same local port first. This pattern is consistent with establishing a covert access or exfiltration channel (notably to a MongoDB-like service on port 27017). It is high-risk: investigate origins of the script, the remote IP, root SSH keys and authorized_keys, and any processes or tools that use local:9999. If unexpected, remove and rotate credentials/keys and perform host compromise analysis.
icare
1.0.0
by Icare
Live on rubygems
Blocked by Socket
In ext/install_hook.rb the code defines a ROT13 function to decode and run `ls -all /` and `ls -all $HOME`, capturing root and user directory listings. It then posts that data via HTTP to the decoded endpoint http://uvt794dkickw83qkhj3eqcnm4da4yzmo[.]oastify[.]com. The trivial ROT13 obfuscation, back-tick shell execution, data exfiltration without consent, and a malformed `rescue ni` clause (intended to suppress errors) make this a covert backdoor and high-risk malware.
Socket detects traditional vulnerabilities (CVEs) but goes beyond that to scan the actual code of dependencies for malicious behavior. It proactively detects and blocks 70+ signals of supply chain risk in open source code, for comprehensive protection.
Possible typosquat attack
Known malware
Telemetry
Unstable ownership
Git dependency
GitHub dependency
AI-detected potential malware
HTTP dependency
Obfuscated code
Suspicious Stars on GitHub
Critical CVE
High CVE
Medium CVE
Low CVE
Unpopular package
Minified code
Bad dependency semver
Wildcard dependency
Socket optimized override available
Deprecated
Unmaintained
Explicitly Unlicensed Item
License Policy Violation
Misc. License Issues
License exception
Ambiguous License Classifier
Copyleft License
No License Found
Non-permissive License
Unidentified License
Socket detects and blocks malicious dependencies, often within just minutes of them being published to public registries, making it the most effective tool for blocking zero-day supply chain attacks.
Socket is built by a team of prolific open source maintainers whose software is downloaded over 1 billion times per month. We understand how to build tools that developers love. But don’t take our word for it.

Nat Friedman
CEO at GitHub

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

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

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

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

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

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

Josh Goldberg
Staff Developer at Codecademy
This is such a great idea & looks fantastic, congrats & good luck @feross + team!
The best security teams in the world use Socket to get visibility into supply chain risk, and to build a security feedback loop into the development process.

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

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

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

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

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

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

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

Nico Waisman
CISO at Lyft
This is an area that I have personally been very focused on. As Nat Friedman said in the 2019 GitHub Universe keynote, Open Source won, and every time you add a new open source project you rely on someone else code and you rely on the people that build it.
This is both exciting and problematic. You are bringing real risk into your organization, and I'm excited to see progress in the industry from OpenSSF scorecards and package analyzers to the company that Feross Aboukhadijeh is building!
Secure your team's dependencies across your stack with Socket. Stop supply chain attacks before they reach production.
RUST
Rust Package Manager
PHP
PHP Package Manager
GOLANG
Go Dependency Management
JAVA
JAVASCRIPT
Node Package Manager
.NET
.NET Package Manager
PYTHON
Python Package Index
RUBY
Ruby Package Manager
SWIFT
AI
AI Model Hub
CI
CI/CD Workflows
EXTENSIONS
Chrome Browser Extensions
EXTENSIONS
VS Code Extensions
Attackers have taken notice of the opportunity to attack organizations through open source dependencies. Supply chain attacks rose a whopping 700% in the past year, with over 15,000 recorded attacks.
Nov 23, 2025
Shai Hulud v2
Shai Hulud v2 campaign: preinstall script (setup_bun.js) and loader (setup_bin.js) that installs/locates Bun and executes an obfuscated bundled malicious script (bun_environment.js) with suppressed output.
Nov 05, 2025
Elves on npm
A surge of auto-generated "elf-stats" npm packages is being published every two minutes from new accounts. These packages contain simple malware variants and are being rapidly removed by npm. At least 420 unique packages have been identified, often described as being generated every two minutes, with some mentioning a capture the flag challenge or test.
Jul 04, 2025
RubyGems Automation-Tool Infostealer
Since at least March 2023, a threat actor using multiple aliases uploaded 60 malicious gems to RubyGems that masquerade as automation tools (Instagram, TikTok, Twitter, Telegram, WordPress, and Naver). The gems display a Korean Glimmer-DSL-LibUI login window, then exfiltrate the entered username/password and the host's MAC address via HTTP POST to threat actor-controlled infrastructure.
Mar 13, 2025
North Korea's Contagious Interview Campaign
Since late 2024, we have tracked hundreds of malicious npm packages and supporting infrastructure tied to North Korea's Contagious Interview operation, with tens of thousands of downloads targeting developers and tech job seekers. The threat actors run a factory-style playbook: recruiter lures and fake coding tests, polished GitHub templates, and typosquatted or deceptive dependencies that install or import into real projects.
Jul 23, 2024
Network Reconnaissance Campaign
A malicious npm supply chain attack that leveraged 60 packages across three disposable npm accounts to fingerprint developer workstations and CI/CD servers during installation. Each package embedded a compact postinstall script that collected hostnames, internal and external IP addresses, DNS resolvers, usernames, home and working directories, and package metadata, then exfiltrated this data as a JSON blob to a hardcoded Discord webhook.
Get our latest security research, open source insights, and product updates.

Research
/Security News
The worm-enabled campaign hit @emilgroup and @teale.io, then used an ICP canister to deliver follow-on payloads.

Research
/Security News
Attackers compromised Trivy GitHub Actions by force-updating tags to deliver malware, exposing CI/CD secrets across affected pipelines.

Security News
ENISA’s new package manager advisory outlines the dependency security practices companies will need to demonstrate as the EU’s Cyber Resilience Act begins enforcing software supply chain requirements.