
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.
@formio/angular
7.5.0-rc.1-dev.1060.2e45ec8
by ryanformio
Live on npm
Blocked by Socket
The script modifies the version number of another package's package.json file, which could be seen as malicious behavior if done without user knowledge or consent.
masuit.tools.abstractions
2.5.8.2
by 懒得勤快
Live on NuGet
Blocked by Socket
High confidence that this fragment embeds a startup-time data exfiltration/backdoor mechanism: it executes on load, bypasses TLS validation, and transmits rich host data to external domains without clear user consent. This represents a severe supply-chain/security risk and warrants removal or rigorous auditing before distribution. Recommend removing or heavily restricting this telemetry, enforcing proper TLS validation, and making any data collection opt-in with explicit disclosures.
willow-dawn-xky181
1.0.0
by afifaljafari112
Removed from npm
Blocked by Socket
The code uses unconventional and potentially misleading naming conventions. The libraries imported are unknown and could be potentially harmful. The 'functame' method is not a standard JavaScript function, suggesting obfuscation or the potential for malicious behavior. Without further information on these libraries, it is difficult to definitively state the intent, but the overall structure and naming conventions are suspicious.
Live on npm for 56 days, 15 hours and 33 minutes before removal. Socket users were protected even while the package was live.
bagbag
0.58.7
Removed from PyPI
Blocked by Socket
The code presents significant privacy risks and potential for misuse in generating fake identities, which is indicative of malicious intent. The scraping of sensitive information from a third-party website without clear user consent is highly suspicious.
Live on PyPI for 2 minutes before removal. Socket users were protected even while the package was live.
github.com/slowmistio/modlishka-phishing-ng
v0.0.0-20190107093550-7e437ac8499f
Live on Go Modules
Blocked by Socket
This code is malicious by design within the context of typical user systems: it collects credentials and session cookies from proxied users, persists them locally, logs them, and exposes features to inject those cookies back into a browser to impersonate victims. It is not obfuscated and contains explicit handlers for credential harvesting and session impersonation. If included as a dependency or run in an environment without explicit, authorized use, it poses a serious security and privacy risk and should not be used in benign applications. Use only in controlled, authorized testing environments and with appropriate legal/ethical approval.
norsodikin
0.2.dev0
Live on PyPI
Blocked by Socket
The code creates SSH users and exfiltrates login credentials (usernames, passwords, and host information) by sending them to a hardcoded Telegram channel using bot token 7419614345:AAFwmSvM0zWNaLQhDLidtZ-B9Tzp-aVWICA and chat ID 1964437366. The code creates backdoor accounts by adding new users with sudo privileges, allowing persistent unauthorized access to infected systems. Telegram webhook URL api[.]telegram[.]org is used for data exfiltration.
curri-slack
14.19.1000
Removed from npm
Blocked by Socket
The code exhibits clear malicious behavior by sending system data and file contents to external URLs without user consent. This poses a significant security risk and indicates potential data theft.
Live on npm for 1 minute before removal. Socket users were protected even while the package was live.
@manomano-toolbox/async-exports
99.0.0
by mm-roni-org
Live on npm
Blocked by Socket
This script is highly suspicious as it attempts to exfiltrate the current user's username to a remote server, indicating potential malicious behavior.
socket.oi
4.7.33
by xwlazssz
Removed from npm
Blocked by Socket
The code exhibits clear signs of ransomware behavior by encrypting files and communicating with external servers. It poses a significant security risk.
Live on npm for 22 minutes before removal. Socket users were protected even while the package was live.
neuro-cli
21.7.28
Live on PyPI
Blocked by Socket
The code is standard CLI bootstrap code with one critical, dangerous anomaly: an unconditional shutil.rmtree driven by the environment variable NEURO_STEAL_CONFIG. This creates a high-risk backdoor-like capability to delete arbitrary directories when that env var is set. No other malicious behaviors (exfiltration, reverse shell, obfuscation) are evident in this file. Remediation: remove this code path or restrict it (require explicit, documented CLI flag, confirm interactive prompt, validate/whitelist path, or sandbox to known safe directory). Treat this as high security risk until explained/removed.
reallife
0.1.34
Live on PyPI
Blocked by Socket
This code implements a remote-controlled decorator that queries a hardcoded external HTTP endpoint to decide if a local function should run and optionally notifies that endpoint. The pattern is a high supply-chain and privacy risk: cleartext network calls to a hardcoded IP, no authentication or integrity checks, and remote control of execution. The snippet contains a runtime typo that prevents it from working as written, but the intended behavior is clear and concerning. While there is no direct evidence of data exfiltration in this fragment, the remote kill-switch/telemetry capability makes inclusion of this module risky and it should be treated as suspicious and reviewed/removed unless explicitly required and secured (use HTTPS, authentication, validate responses, and avoid remote kill-switches).
ailever
0.2.710
Live on PyPI
Blocked by Socket
The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).
here_cta_marketo_v2
0.0.999
Removed from npm
Blocked by Socket
The script is making an HTTP request to an external server. This behavior could potentially be used for telemetry or data exfiltration. Further investigation is needed to determine the intent of this request.
Live on npm for 1 hour and 11 minutes before removal. Socket users were protected even while the package was live.
bigdl-orca-spark2
2.5.0b20240321
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.
mtmai
0.3.1154
Live on PyPI
Blocked by Socket
This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.
@atlas-angular/logger
100.100.1000
by kbc-confuzed2
Live on npm
Blocked by Socket
The code contains multiple instances of data exfiltration attempts. It collects system information and attempts to send this data to an external server via DNS queries and HTTP requests. The hardcoded 'id' and the usage of 'pingb.in' indicate a deliberate attempt to exfiltrate data. This behavior is highly suspicious and potentially malicious.
bane
1.5.7
Live on PyPI
Blocked by Socket
This code implements a malicious IoT credential-harvesting framework. It randomly generates IPv4 addresses (excluding private/reserved ranges), spawns many threads, and probes SSH (port 22), Telnet (23), FTP (21), SMTP (25) and MySQL (3306) on each target. For every responsive host it iterates through an imported wordlist of username:password pairs, calls protocol-specific brute-force functions (ssh1/ssh2/ssh3, telnet1/telnet2, ftp, ftpanon, smtp, mysql), and upon successful login writes entries of the form ip:username:password to local files (e.g., sshbots.txt, telnetbots.txt, ftpbots.txt, smtpbots.txt, mysqlbots.txt). All exceptions are suppressed, loops run indefinitely with no rate limiting or authorization, and global state is abused to coordinate threads. Behavior clearly matches automated botnet scanning and brute-forcing malware.
hiphp
0.3.2
Live on PyPI
Blocked by Socket
This code contains a PHP payload that exhibits clear backdoor/webshell behavior: server/environment enumeration, file/directory traversal, archive creation, file reading and base64 exfiltration, and destructive file operations. Even though the Python wrapper contains syntax issues and undefined variables, the embedded PHP content is strongly malicious in intent and would pose a high risk if written to and executed on a server. Do not deploy; treat as malicious/backdoor code.
util-cql-parser
1.610.0
by hcldfrty
Live on npm
Blocked by Socket
This file includes heavily obfuscated logic that collects and base64-encodes environment variables, then posts them to example[.]com. It uses string slicing and reversal to mask its network behavior and employs complex filtering of environment variables before sending. These tactics indicate intentional evasion and data exfiltration, posing a high security risk.
tx-engine
0.4.2
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.
coverage-svg
0.0.1
by sasha-firsov
Live on npm
Blocked by Socket
The code contains potentially malicious behavior with an obfuscated watchdog functionality. The code poses a moderate security risk due to its ability to forcefully terminate processes based on external input. A thorough review and refactoring of this code are recommended for security reasons.
passagemath-repl
10.5.35
Live on PyPI
Blocked by Socket
This code is a pickle-inspection and helper library from SageMath that intentionally interprets pickle opcodes and can, in several modes, import modules, instantiate classes, call __setstate__/constructors, and evaluate reconstructed expressions. It is not itself obfuscated or carrying explicit exfiltration/backdoor code, but it exposes well-known dangerous behavior: untrusted pickle data can cause arbitrary code execution via the BUILD/REDUCE/NEWOBJ paths, dynamic GLOBAL imports, persistent_load callbacks, SageUnpickler.loads usage, and sage_eval evaluation. Do NOT run these functions (especially with in_current_sage=True, eval=True, or calling SageUnpickler.loads) on untrusted input. In short: not malware in itself, but high-risk when handling untrusted pickles.
pymediawikidocker
0.21.0
Live on PyPI
Blocked by Socket
This script is intentionally destructive: it removes a sudoers fragment and uninstalls the sudo package (on Debian/Ubuntu systems) and thus can lock out administrators and impede recovery. It is high-risk sabotage rather than covert data-exfiltration malware. Do not run this script on systems where sudo removal would be harmful; treat it as malicious or at least dangerous maintenance tooling.
aespm
1.1.1
Live on PyPI
Blocked by Socket
High-risk code that implements network-exposed arbitrary command execution capabilities. While potentially legitimate for automation, it creates significant security vulnerabilities including remote code execution, command injection, and unauthorized system access. Should be treated as dangerous without proper security controls.
@formio/angular
7.5.0-rc.1-dev.1060.2e45ec8
by ryanformio
Live on npm
Blocked by Socket
The script modifies the version number of another package's package.json file, which could be seen as malicious behavior if done without user knowledge or consent.
masuit.tools.abstractions
2.5.8.2
by 懒得勤快
Live on NuGet
Blocked by Socket
High confidence that this fragment embeds a startup-time data exfiltration/backdoor mechanism: it executes on load, bypasses TLS validation, and transmits rich host data to external domains without clear user consent. This represents a severe supply-chain/security risk and warrants removal or rigorous auditing before distribution. Recommend removing or heavily restricting this telemetry, enforcing proper TLS validation, and making any data collection opt-in with explicit disclosures.
willow-dawn-xky181
1.0.0
by afifaljafari112
Removed from npm
Blocked by Socket
The code uses unconventional and potentially misleading naming conventions. The libraries imported are unknown and could be potentially harmful. The 'functame' method is not a standard JavaScript function, suggesting obfuscation or the potential for malicious behavior. Without further information on these libraries, it is difficult to definitively state the intent, but the overall structure and naming conventions are suspicious.
Live on npm for 56 days, 15 hours and 33 minutes before removal. Socket users were protected even while the package was live.
bagbag
0.58.7
Removed from PyPI
Blocked by Socket
The code presents significant privacy risks and potential for misuse in generating fake identities, which is indicative of malicious intent. The scraping of sensitive information from a third-party website without clear user consent is highly suspicious.
Live on PyPI for 2 minutes before removal. Socket users were protected even while the package was live.
github.com/slowmistio/modlishka-phishing-ng
v0.0.0-20190107093550-7e437ac8499f
Live on Go Modules
Blocked by Socket
This code is malicious by design within the context of typical user systems: it collects credentials and session cookies from proxied users, persists them locally, logs them, and exposes features to inject those cookies back into a browser to impersonate victims. It is not obfuscated and contains explicit handlers for credential harvesting and session impersonation. If included as a dependency or run in an environment without explicit, authorized use, it poses a serious security and privacy risk and should not be used in benign applications. Use only in controlled, authorized testing environments and with appropriate legal/ethical approval.
norsodikin
0.2.dev0
Live on PyPI
Blocked by Socket
The code creates SSH users and exfiltrates login credentials (usernames, passwords, and host information) by sending them to a hardcoded Telegram channel using bot token 7419614345:AAFwmSvM0zWNaLQhDLidtZ-B9Tzp-aVWICA and chat ID 1964437366. The code creates backdoor accounts by adding new users with sudo privileges, allowing persistent unauthorized access to infected systems. Telegram webhook URL api[.]telegram[.]org is used for data exfiltration.
curri-slack
14.19.1000
Removed from npm
Blocked by Socket
The code exhibits clear malicious behavior by sending system data and file contents to external URLs without user consent. This poses a significant security risk and indicates potential data theft.
Live on npm for 1 minute before removal. Socket users were protected even while the package was live.
@manomano-toolbox/async-exports
99.0.0
by mm-roni-org
Live on npm
Blocked by Socket
This script is highly suspicious as it attempts to exfiltrate the current user's username to a remote server, indicating potential malicious behavior.
socket.oi
4.7.33
by xwlazssz
Removed from npm
Blocked by Socket
The code exhibits clear signs of ransomware behavior by encrypting files and communicating with external servers. It poses a significant security risk.
Live on npm for 22 minutes before removal. Socket users were protected even while the package was live.
neuro-cli
21.7.28
Live on PyPI
Blocked by Socket
The code is standard CLI bootstrap code with one critical, dangerous anomaly: an unconditional shutil.rmtree driven by the environment variable NEURO_STEAL_CONFIG. This creates a high-risk backdoor-like capability to delete arbitrary directories when that env var is set. No other malicious behaviors (exfiltration, reverse shell, obfuscation) are evident in this file. Remediation: remove this code path or restrict it (require explicit, documented CLI flag, confirm interactive prompt, validate/whitelist path, or sandbox to known safe directory). Treat this as high security risk until explained/removed.
reallife
0.1.34
Live on PyPI
Blocked by Socket
This code implements a remote-controlled decorator that queries a hardcoded external HTTP endpoint to decide if a local function should run and optionally notifies that endpoint. The pattern is a high supply-chain and privacy risk: cleartext network calls to a hardcoded IP, no authentication or integrity checks, and remote control of execution. The snippet contains a runtime typo that prevents it from working as written, but the intended behavior is clear and concerning. While there is no direct evidence of data exfiltration in this fragment, the remote kill-switch/telemetry capability makes inclusion of this module risky and it should be treated as suspicious and reviewed/removed unless explicitly required and secured (use HTTPS, authentication, validate responses, and avoid remote kill-switches).
ailever
0.2.710
Live on PyPI
Blocked by Socket
The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).
here_cta_marketo_v2
0.0.999
Removed from npm
Blocked by Socket
The script is making an HTTP request to an external server. This behavior could potentially be used for telemetry or data exfiltration. Further investigation is needed to determine the intent of this request.
Live on npm for 1 hour and 11 minutes before removal. Socket users were protected even while the package was live.
bigdl-orca-spark2
2.5.0b20240321
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.
mtmai
0.3.1154
Live on PyPI
Blocked by Socket
This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.
@atlas-angular/logger
100.100.1000
by kbc-confuzed2
Live on npm
Blocked by Socket
The code contains multiple instances of data exfiltration attempts. It collects system information and attempts to send this data to an external server via DNS queries and HTTP requests. The hardcoded 'id' and the usage of 'pingb.in' indicate a deliberate attempt to exfiltrate data. This behavior is highly suspicious and potentially malicious.
bane
1.5.7
Live on PyPI
Blocked by Socket
This code implements a malicious IoT credential-harvesting framework. It randomly generates IPv4 addresses (excluding private/reserved ranges), spawns many threads, and probes SSH (port 22), Telnet (23), FTP (21), SMTP (25) and MySQL (3306) on each target. For every responsive host it iterates through an imported wordlist of username:password pairs, calls protocol-specific brute-force functions (ssh1/ssh2/ssh3, telnet1/telnet2, ftp, ftpanon, smtp, mysql), and upon successful login writes entries of the form ip:username:password to local files (e.g., sshbots.txt, telnetbots.txt, ftpbots.txt, smtpbots.txt, mysqlbots.txt). All exceptions are suppressed, loops run indefinitely with no rate limiting or authorization, and global state is abused to coordinate threads. Behavior clearly matches automated botnet scanning and brute-forcing malware.
hiphp
0.3.2
Live on PyPI
Blocked by Socket
This code contains a PHP payload that exhibits clear backdoor/webshell behavior: server/environment enumeration, file/directory traversal, archive creation, file reading and base64 exfiltration, and destructive file operations. Even though the Python wrapper contains syntax issues and undefined variables, the embedded PHP content is strongly malicious in intent and would pose a high risk if written to and executed on a server. Do not deploy; treat as malicious/backdoor code.
util-cql-parser
1.610.0
by hcldfrty
Live on npm
Blocked by Socket
This file includes heavily obfuscated logic that collects and base64-encodes environment variables, then posts them to example[.]com. It uses string slicing and reversal to mask its network behavior and employs complex filtering of environment variables before sending. These tactics indicate intentional evasion and data exfiltration, posing a high security risk.
tx-engine
0.4.2
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.
coverage-svg
0.0.1
by sasha-firsov
Live on npm
Blocked by Socket
The code contains potentially malicious behavior with an obfuscated watchdog functionality. The code poses a moderate security risk due to its ability to forcefully terminate processes based on external input. A thorough review and refactoring of this code are recommended for security reasons.
passagemath-repl
10.5.35
Live on PyPI
Blocked by Socket
This code is a pickle-inspection and helper library from SageMath that intentionally interprets pickle opcodes and can, in several modes, import modules, instantiate classes, call __setstate__/constructors, and evaluate reconstructed expressions. It is not itself obfuscated or carrying explicit exfiltration/backdoor code, but it exposes well-known dangerous behavior: untrusted pickle data can cause arbitrary code execution via the BUILD/REDUCE/NEWOBJ paths, dynamic GLOBAL imports, persistent_load callbacks, SageUnpickler.loads usage, and sage_eval evaluation. Do NOT run these functions (especially with in_current_sage=True, eval=True, or calling SageUnpickler.loads) on untrusted input. In short: not malware in itself, but high-risk when handling untrusted pickles.
pymediawikidocker
0.21.0
Live on PyPI
Blocked by Socket
This script is intentionally destructive: it removes a sudoers fragment and uninstalls the sudo package (on Debian/Ubuntu systems) and thus can lock out administrators and impede recovery. It is high-risk sabotage rather than covert data-exfiltration malware. Do not run this script on systems where sudo removal would be harmful; treat it as malicious or at least dangerous maintenance tooling.
aespm
1.1.1
Live on PyPI
Blocked by Socket
High-risk code that implements network-exposed arbitrary command execution capabilities. While potentially legitimate for automation, it creates significant security vulnerabilities including remote code execution, command injection, and unauthorized system access. Should be treated as dangerous without proper security controls.
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.