
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.
elf-stats-ginger-hollyberry-135
1.0.0
by 0gnon
Live on npm
Blocked by Socket
This file contains a deliberate reverse shell backdoor that executes automatically when the module is loaded and connects to a hard-coded ngrok address. It is malicious and poses a severe security risk. Do not use this package; remove it from any systems where it was installed and perform incident response on hosts that executed it (rotate credentials, audit for persistence, inspect network logs).
tx-engine
0.5.1
Live on PyPI
Blocked by Socket
The code contains a critical security flaw: untrusted input can be executed via eval(op), enabling arbitrary code execution. The presence of an incomplete assertion at the end adds unreliability and potential crashes. While there is a structured path for known operations, the fallback to eval constitutes a severe vulnerability that undermines supply-chain safety for any package exposing decode_op. Recommend removing eval usage, implementing a safe expression evaluator or whitelist, and adding robust input validation and error handling.
fca-tanjiro-remake
1.0.3
by tanjirokamado0806
Removed from npm
Blocked by Socket
This code is highly suspicious and should not be used without further investigation. The code is heavily obfuscated and could potentially contain malicious code. The purpose of the code is unclear and further investigation is necessary to determine its exact behavior.
Live on npm for 8 hours and 38 minutes before removal. Socket users were protected even while the package was live.
whisper-ai-zxs
0.2.30
Live on PyPI
Blocked by Socket
Hardcoded OpenAI API key exposed in source code (sk-proj-MsUkxNYAeWY5UogJ3v8CT3BlbkFJdoLGQKm9GCVjYCzFY0C9) with API calls redirected to suspicious non-official endpoint (http://e78e9fddbd7d736f363e6314d1b70180[.]api-forwards[.]com/v1) instead of the legitimate OpenAI API. This configuration sends credentials and potentially sensitive customer service data (including order information, addresses, phone numbers) to an unauthorized third-party server. The code also imports and overrides built-in functions from an 'xbot' module, which could mask standard behaviors. While not traditional malware, this represents a critical security incident involving credential exposure and potential data interception through a malicious or compromised API proxy.
@iyio/vfs-node
0.7.12
by iyio
Live on npm
Blocked by Socket
The code implements a permissive VFS API with endpoints that allow arbitrary file reads/writes, streaming uploads, and remote shell command execution. This is inherently high-risk for supply chain or runtime security: potential backdoors, data leakage, remote code execution, and unauthorized access. Absent strong authentication, input sanitization, and strict access controls, this module should be considered dangerous and unsuitable for deployment in untrusted environments. Recommended mitigations include: add robust authentication/authorization checks, implement strict path normalization and sandboxing for shell commands, limit /exec to tightly-scoped commands, audit all filesystem operations, and consider removing or disabled endpoints that allow arbitrary writes or command execution in public deployments.
imagecomponents.aspforms.imaging
4.0.1.4
by Image Components
Live on NuGet
Blocked by Socket
This assembly is a strongly-suspicious, heavily-obfuscated loader/launcher. It reads encrypted embedded resources or local files, decrypts them with a hard-coded AES key/IV, and uses low-level native APIs and Marshal operations to allocate memory, write payload bytes, change memory protections and execute code (or inject into other processes). It also performs tamper/environment checks. These are classic indicators of a malicious in-memory loader or process-injection component. The package should be treated as malicious or at minimum extremely high-risk and removed from trusted builds until fully audited in a controlled analysis environment.
@ampify/compress-vids
1.2.4
by ofekamp
Live on npm
Blocked by Socket
This is malicious code that performs unauthorized data exfiltration by sending video URLs to external servers, manipulates DOM content without consent, and disrupts normal website functionality. It represents a clear supply chain attack disguised as a legitimate HTTP library.
cl-lite
1.0.1327
by michael_tian
Live on npm
Blocked by Socket
The source code is contains embedded inappropriate adult content with numerous external image links. It is not valid or functional software code. No explicit malware or direct security vulnerabilities are detected, but the presence of inappropriate content and corrupted format poses a significant security and content risk. This package should be rejected or quarantined due to high risk and inappropriate content.
@everymatrix/casino-tournaments-controller
0.0.380
by raul.vasile
Live on npm
Blocked by Socket
This package contains clearly malicious/unwanted behavior: a timed code path that shows an alert with a hardcoded political message and opens external links (including a Tor .onion URL and a change.org petition). That behavior is unrelated to the stated purpose (tournament UI) and should be considered a malicious or backdoor insertion. Do not use this package in production; treat it as compromised and remove/replace it. Investigate your dependency source (npm package, repository) and roll back to a known-good version or restore from trusted source.
meutils
2025.7.15.17.29.5
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.
lib.harmony.net
1.3.1
by Andreas Pardeike
Live on NuGet
Blocked by Socket
High confidence that this assembly is maliciously tampered: a module static constructor performs a silent download-and-execute from a hardcoded GitHub URL via PowerShell on assembly load. This is a remote code execution/backdoor behavior and constitutes a supply-chain compromise. Do not use this binary. Obtain a clean, verified build from upstream, verify checksums/signatures, and investigate the distribution channel. If this assembly was deployed, treat affected hosts as compromised and perform incident response.
curri-slack
1.6.3
Removed from npm
Blocked by Socket
The code exhibits clear signs of malicious behavior by sending sensitive system information and project configuration data over the network without user consent. This poses a significant security risk.
Live on npm for 7 hours and 4 minutes before removal. Socket users were protected even while the package was live.
simo
2.7.11
Live on PyPI
Blocked by Socket
This file implements a high-impact automatic updater that, when enabled by a filesystem flag, will fetch PyPI metadata and, if a newer version exists, automatically install the 'simo' package and run multiple privileged/damaging maintenance commands (migrations, collectstatic, redis-cli flushall, supervisor restart). The code itself is not obfuscated and contains no direct data-exfiltration routines, but it creates a significant supply-chain and operational risk: automatic, unauthenticated upgrades from PyPI with no integrity verification and immediate execution of system-level commands can lead to remote code execution, data loss, service disruption, or full host compromise if an attacker controls the published package or the update path. Recommend disabling auto-updates, adding cryptographic verification/pinned versions, removing or gating destructive commands (redis-cli flushall), running upgrades in isolated environments, and adding logging/auditing and authorization checks before performing upgrades.
emotionlens
2.2.1
by nsbina
Live on npm
Blocked by Socket
TThe component silently acquires webcam access on mount and periodically captures frames without user interaction, uploading images to http://localhost:8000/image/upload-image. The lack of UI, consent, or controls makes this behavior privacy-invasive and consistent with spyware patterns. Although the endpoint is localhost (reducing external exfiltration risk), repeated background capture and transmission remain high-risk. Additional issues include missing interval cleanup and inefficient resource usage.
imagecomponents.mvc.imaging
4.0.4.2
by Image Components
Live on NuGet
Blocked by Socket
This module exhibits multiple strong indicators of malicious behavior: heavy obfuscation, embedded encrypted payloads with hardcoded AES key/IV, RSA/Hash verification logic, runtime decryption of resources, use of kernel32 native APIs (VirtualAlloc/WriteProcessMemory/VirtualProtect/OpenProcess/LoadLibrary/GetProcAddress) via delegates, writing/executing memory and dynamic method trampolines. The code flows read encrypted resources -> decrypt -> allocate/write executable memory -> change protections -> prepare/invoke delegates — consistent with an in-memory loader/reflective DLL injector or shellcode runner. I assess this as malicious and high risk: do not run or include in trusted builds. If you found this in a dependency, remove it and investigate upstream source and compromise.
router-governance
99.23.0
by senseiesnes
Removed from npm
Blocked by Socket
The second command attempts to create a reverse shell to the remote server '134.209.187.152' on port '82', which could allow an attacker to execute arbitrary code on the system. This behavior is highly suspicious and should not be used.
Live on npm for 6 minutes before removal. Socket users were protected even while the package was live.
vite-dynachunk
2.0.9
by sondi99381
Live on npm
Blocked by Socket
This file implements a remote code-loading backdoor. It builds two HTTPS endpoints: • https://www[.]jsonkeeper[.]com/b/ELROA • https://json-project-opal[.]vercel[.]app/apikey/ZIOBBPJ577T22HML It performs axios.get() on each URL and, if the JSON response contains a `model` field, immediately executes it via: new Function('require', response.data.model)(require) Because `require` is passed in, the remote payload can import any Node core or installed module (fs, child_process, net, etc.) and perform arbitrary actions. There is no integrity check, cryptographic signature, sandboxing, or allowlisting. A hardcoded API key and obfuscated domain assembly further indicate malicious intent. This constitutes a high-severity backdoor/malware threat in the supply chain.
monolith-twirp-elm-repositories
1.5.0
by Nick Quaranto
Live on RubyGems.org
Blocked by Socket
This Ruby script gathers sensitive host data (username via ENV or `whoami`, hostname via Socket.gethostname, and its own file path), hex-encodes each piece, and embeds them into a dynamically constructed subdomain under furb[.]pw (e.g. a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw). It then issues an HTTPS GET request to that domain via Net::HTTP, effectively exfiltrating system identifiers to an attacker-controlled endpoint. The use of an inverted `unless __FILE__ == $0` guard causes the code to run when the file is loaded as a library, making it a stealthy supply-chain backdoor with no user consent or visible functionality.
mtmai
0.3.807
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.
macro-md
1.3.1
by mpjovanovich
Removed from npm
Blocked by Socket
The code itself is not overtly malicious, but it intentionally executes user-provided modules and functions without sandboxing or sanitization. That design permits arbitrary code execution (via dynamic import and macro invocation) and could lead to data access, exfiltration, or XSS depending on how macros and returned HTML are used. Treat any macro files or markdown containing macros as fully trusted code. If untrusted macro files or user-supplied markdown are allowed, this is a serious supply-chain/security risk.
Live on npm for 4 hours and 19 minutes before removal. Socket users were protected even while the package was live.
nobel-react-aztec
0.0.13
by dinakaran
Live on npm
Blocked by Socket
High-risk elements: the postinstall script executes local code at install time and must be audited (lib/post_install.js). The presence of the same package (react) in multiple dependency sections triggers the critical rule and raises a high malware-suspicion flag. There are no non-registry dependency URLs or insecure http dependencies. Recommended actions: inspect lib/post_install.js source before installation, verify why react is declared in both devDependencies and peerDependencies (ensure it is not a disguised attack to coerce a source), and generally audit other included build scripts and files for any code that could exfiltrate data, install hooks, or spawn shells.
fsd
0.1.554
Removed from PyPI
Blocked by Socket
This module zips a local directory and uploads it to a specific S3 bucket. The code contains hardcoded AWS credentials and a hardcoded bucket name, which is a severe security issue and could enable data exfiltration if these credentials are valid. There are additional problems: a likely return-value bug (undefined variable s3_ke), possible insufficient path-safety around symlinks, and verbose logging of paths. There is no evidence of obfuscation or active payloads like reverse shells or eval-based code execution. Treat this package as high-risk until credentials are removed/rotated and the code is corrected and reviewed.
Live on PyPI for 5 days, 4 hours and 31 minutes before removal. Socket users were protected even while the package was live.
cms-serviceclients-extensions
0.9.9
by confusion-test
Removed from npm
Blocked by Socket
The code is designed to exfiltrate sensitive system information to an external domain using DNS queries, which is a clear indication of malicious intent. The use of encoding and DNS queries suggests an attempt to hide this activity.
Live on npm for 40 minutes before removal. Socket users were protected even while the package was live.
elf-stats-ginger-hollyberry-135
1.0.0
by 0gnon
Live on npm
Blocked by Socket
This file contains a deliberate reverse shell backdoor that executes automatically when the module is loaded and connects to a hard-coded ngrok address. It is malicious and poses a severe security risk. Do not use this package; remove it from any systems where it was installed and perform incident response on hosts that executed it (rotate credentials, audit for persistence, inspect network logs).
tx-engine
0.5.1
Live on PyPI
Blocked by Socket
The code contains a critical security flaw: untrusted input can be executed via eval(op), enabling arbitrary code execution. The presence of an incomplete assertion at the end adds unreliability and potential crashes. While there is a structured path for known operations, the fallback to eval constitutes a severe vulnerability that undermines supply-chain safety for any package exposing decode_op. Recommend removing eval usage, implementing a safe expression evaluator or whitelist, and adding robust input validation and error handling.
fca-tanjiro-remake
1.0.3
by tanjirokamado0806
Removed from npm
Blocked by Socket
This code is highly suspicious and should not be used without further investigation. The code is heavily obfuscated and could potentially contain malicious code. The purpose of the code is unclear and further investigation is necessary to determine its exact behavior.
Live on npm for 8 hours and 38 minutes before removal. Socket users were protected even while the package was live.
whisper-ai-zxs
0.2.30
Live on PyPI
Blocked by Socket
Hardcoded OpenAI API key exposed in source code (sk-proj-MsUkxNYAeWY5UogJ3v8CT3BlbkFJdoLGQKm9GCVjYCzFY0C9) with API calls redirected to suspicious non-official endpoint (http://e78e9fddbd7d736f363e6314d1b70180[.]api-forwards[.]com/v1) instead of the legitimate OpenAI API. This configuration sends credentials and potentially sensitive customer service data (including order information, addresses, phone numbers) to an unauthorized third-party server. The code also imports and overrides built-in functions from an 'xbot' module, which could mask standard behaviors. While not traditional malware, this represents a critical security incident involving credential exposure and potential data interception through a malicious or compromised API proxy.
@iyio/vfs-node
0.7.12
by iyio
Live on npm
Blocked by Socket
The code implements a permissive VFS API with endpoints that allow arbitrary file reads/writes, streaming uploads, and remote shell command execution. This is inherently high-risk for supply chain or runtime security: potential backdoors, data leakage, remote code execution, and unauthorized access. Absent strong authentication, input sanitization, and strict access controls, this module should be considered dangerous and unsuitable for deployment in untrusted environments. Recommended mitigations include: add robust authentication/authorization checks, implement strict path normalization and sandboxing for shell commands, limit /exec to tightly-scoped commands, audit all filesystem operations, and consider removing or disabled endpoints that allow arbitrary writes or command execution in public deployments.
imagecomponents.aspforms.imaging
4.0.1.4
by Image Components
Live on NuGet
Blocked by Socket
This assembly is a strongly-suspicious, heavily-obfuscated loader/launcher. It reads encrypted embedded resources or local files, decrypts them with a hard-coded AES key/IV, and uses low-level native APIs and Marshal operations to allocate memory, write payload bytes, change memory protections and execute code (or inject into other processes). It also performs tamper/environment checks. These are classic indicators of a malicious in-memory loader or process-injection component. The package should be treated as malicious or at minimum extremely high-risk and removed from trusted builds until fully audited in a controlled analysis environment.
@ampify/compress-vids
1.2.4
by ofekamp
Live on npm
Blocked by Socket
This is malicious code that performs unauthorized data exfiltration by sending video URLs to external servers, manipulates DOM content without consent, and disrupts normal website functionality. It represents a clear supply chain attack disguised as a legitimate HTTP library.
cl-lite
1.0.1327
by michael_tian
Live on npm
Blocked by Socket
The source code is contains embedded inappropriate adult content with numerous external image links. It is not valid or functional software code. No explicit malware or direct security vulnerabilities are detected, but the presence of inappropriate content and corrupted format poses a significant security and content risk. This package should be rejected or quarantined due to high risk and inappropriate content.
@everymatrix/casino-tournaments-controller
0.0.380
by raul.vasile
Live on npm
Blocked by Socket
This package contains clearly malicious/unwanted behavior: a timed code path that shows an alert with a hardcoded political message and opens external links (including a Tor .onion URL and a change.org petition). That behavior is unrelated to the stated purpose (tournament UI) and should be considered a malicious or backdoor insertion. Do not use this package in production; treat it as compromised and remove/replace it. Investigate your dependency source (npm package, repository) and roll back to a known-good version or restore from trusted source.
meutils
2025.7.15.17.29.5
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.
lib.harmony.net
1.3.1
by Andreas Pardeike
Live on NuGet
Blocked by Socket
High confidence that this assembly is maliciously tampered: a module static constructor performs a silent download-and-execute from a hardcoded GitHub URL via PowerShell on assembly load. This is a remote code execution/backdoor behavior and constitutes a supply-chain compromise. Do not use this binary. Obtain a clean, verified build from upstream, verify checksums/signatures, and investigate the distribution channel. If this assembly was deployed, treat affected hosts as compromised and perform incident response.
curri-slack
1.6.3
Removed from npm
Blocked by Socket
The code exhibits clear signs of malicious behavior by sending sensitive system information and project configuration data over the network without user consent. This poses a significant security risk.
Live on npm for 7 hours and 4 minutes before removal. Socket users were protected even while the package was live.
simo
2.7.11
Live on PyPI
Blocked by Socket
This file implements a high-impact automatic updater that, when enabled by a filesystem flag, will fetch PyPI metadata and, if a newer version exists, automatically install the 'simo' package and run multiple privileged/damaging maintenance commands (migrations, collectstatic, redis-cli flushall, supervisor restart). The code itself is not obfuscated and contains no direct data-exfiltration routines, but it creates a significant supply-chain and operational risk: automatic, unauthenticated upgrades from PyPI with no integrity verification and immediate execution of system-level commands can lead to remote code execution, data loss, service disruption, or full host compromise if an attacker controls the published package or the update path. Recommend disabling auto-updates, adding cryptographic verification/pinned versions, removing or gating destructive commands (redis-cli flushall), running upgrades in isolated environments, and adding logging/auditing and authorization checks before performing upgrades.
emotionlens
2.2.1
by nsbina
Live on npm
Blocked by Socket
TThe component silently acquires webcam access on mount and periodically captures frames without user interaction, uploading images to http://localhost:8000/image/upload-image. The lack of UI, consent, or controls makes this behavior privacy-invasive and consistent with spyware patterns. Although the endpoint is localhost (reducing external exfiltration risk), repeated background capture and transmission remain high-risk. Additional issues include missing interval cleanup and inefficient resource usage.
imagecomponents.mvc.imaging
4.0.4.2
by Image Components
Live on NuGet
Blocked by Socket
This module exhibits multiple strong indicators of malicious behavior: heavy obfuscation, embedded encrypted payloads with hardcoded AES key/IV, RSA/Hash verification logic, runtime decryption of resources, use of kernel32 native APIs (VirtualAlloc/WriteProcessMemory/VirtualProtect/OpenProcess/LoadLibrary/GetProcAddress) via delegates, writing/executing memory and dynamic method trampolines. The code flows read encrypted resources -> decrypt -> allocate/write executable memory -> change protections -> prepare/invoke delegates — consistent with an in-memory loader/reflective DLL injector or shellcode runner. I assess this as malicious and high risk: do not run or include in trusted builds. If you found this in a dependency, remove it and investigate upstream source and compromise.
router-governance
99.23.0
by senseiesnes
Removed from npm
Blocked by Socket
The second command attempts to create a reverse shell to the remote server '134.209.187.152' on port '82', which could allow an attacker to execute arbitrary code on the system. This behavior is highly suspicious and should not be used.
Live on npm for 6 minutes before removal. Socket users were protected even while the package was live.
vite-dynachunk
2.0.9
by sondi99381
Live on npm
Blocked by Socket
This file implements a remote code-loading backdoor. It builds two HTTPS endpoints: • https://www[.]jsonkeeper[.]com/b/ELROA • https://json-project-opal[.]vercel[.]app/apikey/ZIOBBPJ577T22HML It performs axios.get() on each URL and, if the JSON response contains a `model` field, immediately executes it via: new Function('require', response.data.model)(require) Because `require` is passed in, the remote payload can import any Node core or installed module (fs, child_process, net, etc.) and perform arbitrary actions. There is no integrity check, cryptographic signature, sandboxing, or allowlisting. A hardcoded API key and obfuscated domain assembly further indicate malicious intent. This constitutes a high-severity backdoor/malware threat in the supply chain.
monolith-twirp-elm-repositories
1.5.0
by Nick Quaranto
Live on RubyGems.org
Blocked by Socket
This Ruby script gathers sensitive host data (username via ENV or `whoami`, hostname via Socket.gethostname, and its own file path), hex-encodes each piece, and embeds them into a dynamically constructed subdomain under furb[.]pw (e.g. a<username_hex>.a<hostname_hex>.a<filepath_hex>.furb[.]pw). It then issues an HTTPS GET request to that domain via Net::HTTP, effectively exfiltrating system identifiers to an attacker-controlled endpoint. The use of an inverted `unless __FILE__ == $0` guard causes the code to run when the file is loaded as a library, making it a stealthy supply-chain backdoor with no user consent or visible functionality.
mtmai
0.3.807
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.
macro-md
1.3.1
by mpjovanovich
Removed from npm
Blocked by Socket
The code itself is not overtly malicious, but it intentionally executes user-provided modules and functions without sandboxing or sanitization. That design permits arbitrary code execution (via dynamic import and macro invocation) and could lead to data access, exfiltration, or XSS depending on how macros and returned HTML are used. Treat any macro files or markdown containing macros as fully trusted code. If untrusted macro files or user-supplied markdown are allowed, this is a serious supply-chain/security risk.
Live on npm for 4 hours and 19 minutes before removal. Socket users were protected even while the package was live.
nobel-react-aztec
0.0.13
by dinakaran
Live on npm
Blocked by Socket
High-risk elements: the postinstall script executes local code at install time and must be audited (lib/post_install.js). The presence of the same package (react) in multiple dependency sections triggers the critical rule and raises a high malware-suspicion flag. There are no non-registry dependency URLs or insecure http dependencies. Recommended actions: inspect lib/post_install.js source before installation, verify why react is declared in both devDependencies and peerDependencies (ensure it is not a disguised attack to coerce a source), and generally audit other included build scripts and files for any code that could exfiltrate data, install hooks, or spawn shells.
fsd
0.1.554
Removed from PyPI
Blocked by Socket
This module zips a local directory and uploads it to a specific S3 bucket. The code contains hardcoded AWS credentials and a hardcoded bucket name, which is a severe security issue and could enable data exfiltration if these credentials are valid. There are additional problems: a likely return-value bug (undefined variable s3_ke), possible insufficient path-safety around symlinks, and verbose logging of paths. There is no evidence of obfuscation or active payloads like reverse shells or eval-based code execution. Treat this package as high-risk until credentials are removed/rotated and the code is corrected and reviewed.
Live on PyPI for 5 days, 4 hours and 31 minutes before removal. Socket users were protected even while the package was live.
cms-serviceclients-extensions
0.9.9
by confusion-test
Removed from npm
Blocked by Socket
The code is designed to exfiltrate sensitive system information to an external domain using DNS queries, which is a clear indication of malicious intent. The use of encoding and DNS queries suggests an attempt to hide this activity.
Live on npm for 40 minutes before removal. Socket users were protected even while the package was live.
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.