
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.
tx.fbx
1.1.6.9
by TianTeng
Live on NuGet
Blocked by Socket
This assembly contains a highly obfuscated runtime/loader that reads encrypted embedded data, decrypts it with a hardcoded key/IV, allocates and writes native memory, changes memory protections, and executes code in-memory (and provides WriteProcessMemory/OpenProcess wrappers). It also contains anti-tamper/time-limited checks. These behaviors are consistent with a loader/backdoor capable of running arbitrary payloads in process or injecting into other processes. This is highly suspicious and likely malicious; it should not be used in production and warrants removal and incident response.
rror.stack
2.0.1000
Removed from npm
Blocked by Socket
The code is highly suspicious due to its obfuscated nature and the exfiltration of system information to an external domain using network requests. This behavior is consistent with malware trying to steal system data.
Live on npm for 1 hour and 18 minutes before removal. Socket users were protected even while the package was live.
bigdl-orca-spark2
2.5.0b20240311
Live on PyPI
Blocked by Socket
The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.
danafonts
999.999.999
Removed from npm
Blocked by Socket
The code is designed to exfiltrate sensitive system information (hostname, username, current working directory, and network interfaces) to an external server (pingb.in). This behavior is indicative of malicious activity, specifically data exfiltration. The code is not heavily obfuscated but uses base64 encoding to mildly obfuscate the data. The risk posed by this code is high due to the nature of the exfiltrated information.
Live on npm for 48 minutes before removal. Socket users were protected even while the package was live.
wqhelp
1.0.1
Live on PyPI
Blocked by Socket
This file decodes a base64-encoded payload (using three layers of decoding) and executes the result via exec, a common pattern for obfuscating and delivering malicious code. The obfuscation and lack of transparency in the decoded payload pose a heightened risk of arbitrary code execution, data theft, or system compromise. Users should treat this file as potentially malicious and avoid running the decoded script.
opsmate
0.1.57a0
Live on PyPI
Blocked by Socket
This module presents a high-severity supply-chain/runtime risk: it accepts command text via a model and executes it with subprocess.run(shell=True). If Command.command can be set from untrusted sources, the code enables remote code execution. The validation step uses an opsmate.dino-decorated async function that likely sends the command string to an external service, introducing possible data leakage. The file contains multiple logic/implementation bugs (incorrect return types, malformed templates) but these do not mitigate the primary security issue. Recommendations: do not instantiate/execute Command objects with untrusted input; remove or strictly sandbox subprocess usage (avoid shell=True, use shlex.split or direct args and restrict allowed commands); remove or audit any external-service decorator usage that transmits sensitive strings; fix type/logic bugs and complete templates before production. No clear signs of intentional malware were found, but the RCE and data-exfiltration risks are substantial.
nodetool
0.5.0rc14
Live on PyPI
Blocked by Socket
This module contains functionality that intentionally executes Python config files and uses yaml.unsafe_load, and it patches the import mechanism to support relative importing of such config files. Those behaviors are high-risk for code execution if the config files or override strings are untrusted, but there is no evidence in this fragment of an intentional malicious backdoor, exfiltration, or obfuscation. The biggest security concern is the use of exec/unsafe_load/eval which are legitimate for this tool but should be considered dangerous in supply-chain or untrusted-file scenarios.
dyools
0.19.1
Live on PyPI
Blocked by Socket
This module implements powerful remote management capabilities that allow arbitrary Python code execution and arbitrary subprocess execution based on JSON sent to the server. In an unsecured/default configuration (token not set, host 0.0.0.0), it effectively acts as a remote backdoor and poses a high security risk. If deployed intentionally for admin purposes, it must be secured (authentication, network restrictions, sandboxing). Treat as dangerous if encountered in dependencies without strong access controls.
walmart-card-free591
1.0.2
by muhammadharunmiya44
Removed from npm
Blocked by Socket
The script seems to be part of a spamming operation and uses bad security practices, such as hardcoding paths and credentials. Therefore, it's a potential security risk.
Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.
github-badge-bot
1.1.1
by kingtiger19990427
Live on npm
Blocked by Socket
This module is a targeted credential-harvesting component that locates and extracts Discord authentication tokens from Chrome and Discord Desktop storage on Windows machines. It uses multiple methods (raw file scanning, direct LevelDB access, and OS-level copying) combined with validation heuristics to identify likely tokens. While it does not itself exfiltrate data over the network, it returns sensitive tokens to the caller and therefore is highly dangerous if used by malicious code. Treat tokens discovered by or accessible to this module as compromised. Avoid including or executing this module in trusted environments.
free.cash.app.free.money.tricks.unlimited.money
5.2.1
by Ranjini
Live on NuGet
Blocked by Socket
The DLL’s AssemblyDescription attribute embeds extensive promotional text for unauthorized “Cash App hack” services, including promises of free money, hack codes, and social-engineering instructions. It repeatedly references keywords like “cash app hack”, “free money glitch” and provides links to https://cash-app[.]live—an imitation of the official Cash App site. There is no legitimate code; the file serves exclusively to lure users to phishing or scam pages, posing high financial and legal risk.
artifact-lab-3-package-f0727516
0.1.0
Removed from PyPI
Blocked by Socket
The code implements a reverse shell, which is a severe security risk as it allows remote control over the system. This is indicative of malicious behavior and should be addressed immediately.
Live on PyPI for 1 hour and 5 minutes before removal. Socket users were protected even while the package was live.
github.com/Watfaq/clash-rs
v0.9.0
Live on Go Modules
Blocked by Socket
The examined fragment implements a TLS server certificate verifier that unconditionally trusts any server certificate and signatures, effectively bypassing TLS verification. This constitutes a high-severity supply-chain risk and a potential backdoor that could enable MITM and data compromise if integrated into a client. Removal of the bypass, use of strict certificate validation, or gating behind an explicit, reviewed feature flag is essential for safe usage.
st-oxview
0.1.5
Live on PyPI
Blocked by Socket
This code is high risk. It introduces an immediate arbitrary code execution vector by calling eval on data returned from parseFileWith without any visible validation, sandboxing, or integrity checks. The fragment does not itself include a malicious payload, but it enables RCE if the file contents are attacker-controlled (supply-chain compromise, local file tampering, or hostile caller). Recommend removing eval, restricting execution to a safe runtime/sandbox, or verifying file integrity and provenance before execution.
tempomati-omega-5-emcuf2
1.0.1
by tempomat69
Removed from npm
Blocked by Socket
This script is designed to exfiltrate data by sending system information to a remote server during the preinstall, install, and postinstall phases. This behavior is highly suspicious and indicative of malware.
Live on npm for 2 hours and 19 minutes before removal. Socket users were protected even while the package was live.
py-ultroid
6.4b0
Live on PyPI
Blocked by Socket
This code contains multiple high-risk, malicious behaviors: explicit credential harvesting and exfiltration to a hardcoded Telegram channel, remote code execution by automatically installing and loading plugins (including those downloaded from Telegram), and a backdoor that triggers mass bans and spam when the bot UID matches a specific value (1100231654). It executes arbitrary external code via git/pip and dynamic loaders without verification. Do not run or deploy this code in production; treat it as malicious and remove or sanitize the exfiltration and dynamic execution behaviors before use.
doughnuts
4.23.2
Live on PyPI
Blocked by Socket
This module implements generation and delivery of reverse-shell payloads (PHP, Python, bash/perl, Windows executable drop) and uses helper functions to send/execute those payloads. That behavior is consistent with backdoor/exploitation tooling and poses a serious supply-chain and operational security risk if present in a library used on target systems. The provided snippet contains syntax errors (suggesting corruption or attempted obfuscation), but intent is clearly malicious or at minimum dangerous. Treat this package as high risk and remove or quarantine until provenance and intended use are validated.
azure-graphrbac
3.0.1
Removed from npm
Blocked by Socket
The code is designed to exfiltrate system and project information to external servers, which is indicative of malicious behavior. It poses a significant security risk due to unauthorized data transmission.
Live on npm for 6 hours and 40 minutes before removal. Socket users were protected even while the package was live.
emotionlens
2.2.1
by nsbina
Live on npm
Blocked by Socket
The 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.
alita-sdk
0.3.253
Live on PyPI
Blocked by Socket
The code contains patches that could weaken SSH security by disabling key verification and has the potential to hide tracks by deleting the .git directory. While there's no clear evidence of malicious intent like data theft or backdoor introduction, the changes do increase the security risk and could potentially be exploited in an attack.
shopify-ecommerce-shopping-cart
9.9.9
by dextester123456
Removed from npm
Blocked by Socket
The script collects sensitive information about the system and sends it to an external server, indicating malicious intent and a high security risk.
Live on npm for 11 days, 14 hours and 20 minutes before removal. Socket users were protected even while the package was live.
@localx/expose
1.0.3
by nati-esh-nez
Live on npm
Blocked by Socket
The code exhibits obfuscated and potentially malicious behavior due to the heavy use of 'eval', dynamic code generation, and complex operations. The presence of 'eval' and obfuscation increases the likelihood of malicious intent, posing a high security risk.
@m365-admin/nav
999.9.13
by m365-admin
Live on npm
Blocked by Socket
The use of 'eval' to execute decrypted content combined with a hardcoded encryption key poses significant security risks, including potential execution of arbitrary malicious code. The intent behind automatically decrypting and executing content from a file raises concerns about the code's purpose, indicating a potential for malicious use, especially in the context of a supply chain attack or a backdoor implementation.
tx.fbx
1.1.6.9
by TianTeng
Live on NuGet
Blocked by Socket
This assembly contains a highly obfuscated runtime/loader that reads encrypted embedded data, decrypts it with a hardcoded key/IV, allocates and writes native memory, changes memory protections, and executes code in-memory (and provides WriteProcessMemory/OpenProcess wrappers). It also contains anti-tamper/time-limited checks. These behaviors are consistent with a loader/backdoor capable of running arbitrary payloads in process or injecting into other processes. This is highly suspicious and likely malicious; it should not be used in production and warrants removal and incident response.
rror.stack
2.0.1000
Removed from npm
Blocked by Socket
The code is highly suspicious due to its obfuscated nature and the exfiltration of system information to an external domain using network requests. This behavior is consistent with malware trying to steal system data.
Live on npm for 1 hour and 18 minutes before removal. Socket users were protected even while the package was live.
bigdl-orca-spark2
2.5.0b20240311
Live on PyPI
Blocked by Socket
The code contains potential security risks such as hard-coded file paths, subprocess.Popen usage, and the handling of untrusted data through PyArrow Plasma. It is essential to review and address these security concerns before using this code in a production environment.
danafonts
999.999.999
Removed from npm
Blocked by Socket
The code is designed to exfiltrate sensitive system information (hostname, username, current working directory, and network interfaces) to an external server (pingb.in). This behavior is indicative of malicious activity, specifically data exfiltration. The code is not heavily obfuscated but uses base64 encoding to mildly obfuscate the data. The risk posed by this code is high due to the nature of the exfiltrated information.
Live on npm for 48 minutes before removal. Socket users were protected even while the package was live.
wqhelp
1.0.1
Live on PyPI
Blocked by Socket
This file decodes a base64-encoded payload (using three layers of decoding) and executes the result via exec, a common pattern for obfuscating and delivering malicious code. The obfuscation and lack of transparency in the decoded payload pose a heightened risk of arbitrary code execution, data theft, or system compromise. Users should treat this file as potentially malicious and avoid running the decoded script.
opsmate
0.1.57a0
Live on PyPI
Blocked by Socket
This module presents a high-severity supply-chain/runtime risk: it accepts command text via a model and executes it with subprocess.run(shell=True). If Command.command can be set from untrusted sources, the code enables remote code execution. The validation step uses an opsmate.dino-decorated async function that likely sends the command string to an external service, introducing possible data leakage. The file contains multiple logic/implementation bugs (incorrect return types, malformed templates) but these do not mitigate the primary security issue. Recommendations: do not instantiate/execute Command objects with untrusted input; remove or strictly sandbox subprocess usage (avoid shell=True, use shlex.split or direct args and restrict allowed commands); remove or audit any external-service decorator usage that transmits sensitive strings; fix type/logic bugs and complete templates before production. No clear signs of intentional malware were found, but the RCE and data-exfiltration risks are substantial.
nodetool
0.5.0rc14
Live on PyPI
Blocked by Socket
This module contains functionality that intentionally executes Python config files and uses yaml.unsafe_load, and it patches the import mechanism to support relative importing of such config files. Those behaviors are high-risk for code execution if the config files or override strings are untrusted, but there is no evidence in this fragment of an intentional malicious backdoor, exfiltration, or obfuscation. The biggest security concern is the use of exec/unsafe_load/eval which are legitimate for this tool but should be considered dangerous in supply-chain or untrusted-file scenarios.
dyools
0.19.1
Live on PyPI
Blocked by Socket
This module implements powerful remote management capabilities that allow arbitrary Python code execution and arbitrary subprocess execution based on JSON sent to the server. In an unsecured/default configuration (token not set, host 0.0.0.0), it effectively acts as a remote backdoor and poses a high security risk. If deployed intentionally for admin purposes, it must be secured (authentication, network restrictions, sandboxing). Treat as dangerous if encountered in dependencies without strong access controls.
walmart-card-free591
1.0.2
by muhammadharunmiya44
Removed from npm
Blocked by Socket
The script seems to be part of a spamming operation and uses bad security practices, such as hardcoding paths and credentials. Therefore, it's a potential security risk.
Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.
github-badge-bot
1.1.1
by kingtiger19990427
Live on npm
Blocked by Socket
This module is a targeted credential-harvesting component that locates and extracts Discord authentication tokens from Chrome and Discord Desktop storage on Windows machines. It uses multiple methods (raw file scanning, direct LevelDB access, and OS-level copying) combined with validation heuristics to identify likely tokens. While it does not itself exfiltrate data over the network, it returns sensitive tokens to the caller and therefore is highly dangerous if used by malicious code. Treat tokens discovered by or accessible to this module as compromised. Avoid including or executing this module in trusted environments.
free.cash.app.free.money.tricks.unlimited.money
5.2.1
by Ranjini
Live on NuGet
Blocked by Socket
The DLL’s AssemblyDescription attribute embeds extensive promotional text for unauthorized “Cash App hack” services, including promises of free money, hack codes, and social-engineering instructions. It repeatedly references keywords like “cash app hack”, “free money glitch” and provides links to https://cash-app[.]live—an imitation of the official Cash App site. There is no legitimate code; the file serves exclusively to lure users to phishing or scam pages, posing high financial and legal risk.
artifact-lab-3-package-f0727516
0.1.0
Removed from PyPI
Blocked by Socket
The code implements a reverse shell, which is a severe security risk as it allows remote control over the system. This is indicative of malicious behavior and should be addressed immediately.
Live on PyPI for 1 hour and 5 minutes before removal. Socket users were protected even while the package was live.
github.com/Watfaq/clash-rs
v0.9.0
Live on Go Modules
Blocked by Socket
The examined fragment implements a TLS server certificate verifier that unconditionally trusts any server certificate and signatures, effectively bypassing TLS verification. This constitutes a high-severity supply-chain risk and a potential backdoor that could enable MITM and data compromise if integrated into a client. Removal of the bypass, use of strict certificate validation, or gating behind an explicit, reviewed feature flag is essential for safe usage.
st-oxview
0.1.5
Live on PyPI
Blocked by Socket
This code is high risk. It introduces an immediate arbitrary code execution vector by calling eval on data returned from parseFileWith without any visible validation, sandboxing, or integrity checks. The fragment does not itself include a malicious payload, but it enables RCE if the file contents are attacker-controlled (supply-chain compromise, local file tampering, or hostile caller). Recommend removing eval, restricting execution to a safe runtime/sandbox, or verifying file integrity and provenance before execution.
tempomati-omega-5-emcuf2
1.0.1
by tempomat69
Removed from npm
Blocked by Socket
This script is designed to exfiltrate data by sending system information to a remote server during the preinstall, install, and postinstall phases. This behavior is highly suspicious and indicative of malware.
Live on npm for 2 hours and 19 minutes before removal. Socket users were protected even while the package was live.
py-ultroid
6.4b0
Live on PyPI
Blocked by Socket
This code contains multiple high-risk, malicious behaviors: explicit credential harvesting and exfiltration to a hardcoded Telegram channel, remote code execution by automatically installing and loading plugins (including those downloaded from Telegram), and a backdoor that triggers mass bans and spam when the bot UID matches a specific value (1100231654). It executes arbitrary external code via git/pip and dynamic loaders without verification. Do not run or deploy this code in production; treat it as malicious and remove or sanitize the exfiltration and dynamic execution behaviors before use.
doughnuts
4.23.2
Live on PyPI
Blocked by Socket
This module implements generation and delivery of reverse-shell payloads (PHP, Python, bash/perl, Windows executable drop) and uses helper functions to send/execute those payloads. That behavior is consistent with backdoor/exploitation tooling and poses a serious supply-chain and operational security risk if present in a library used on target systems. The provided snippet contains syntax errors (suggesting corruption or attempted obfuscation), but intent is clearly malicious or at minimum dangerous. Treat this package as high risk and remove or quarantine until provenance and intended use are validated.
azure-graphrbac
3.0.1
Removed from npm
Blocked by Socket
The code is designed to exfiltrate system and project information to external servers, which is indicative of malicious behavior. It poses a significant security risk due to unauthorized data transmission.
Live on npm for 6 hours and 40 minutes before removal. Socket users were protected even while the package was live.
emotionlens
2.2.1
by nsbina
Live on npm
Blocked by Socket
The 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.
alita-sdk
0.3.253
Live on PyPI
Blocked by Socket
The code contains patches that could weaken SSH security by disabling key verification and has the potential to hide tracks by deleting the .git directory. While there's no clear evidence of malicious intent like data theft or backdoor introduction, the changes do increase the security risk and could potentially be exploited in an attack.
shopify-ecommerce-shopping-cart
9.9.9
by dextester123456
Removed from npm
Blocked by Socket
The script collects sensitive information about the system and sends it to an external server, indicating malicious intent and a high security risk.
Live on npm for 11 days, 14 hours and 20 minutes before removal. Socket users were protected even while the package was live.
@localx/expose
1.0.3
by nati-esh-nez
Live on npm
Blocked by Socket
The code exhibits obfuscated and potentially malicious behavior due to the heavy use of 'eval', dynamic code generation, and complex operations. The presence of 'eval' and obfuscation increases the likelihood of malicious intent, posing a high security risk.
@m365-admin/nav
999.9.13
by m365-admin
Live on npm
Blocked by Socket
The use of 'eval' to execute decrypted content combined with a hardcoded encryption key poses significant security risks, including potential execution of arbitrary malicious code. The intent behind automatically decrypting and executing content from a file raises concerns about the code's purpose, indicating a potential for malicious use, especially in the context of a supply chain attack or a backdoor implementation.
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.