Security News
TypeScript 6.0 Released: The Final JavaScript-Based Version
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.
Quickly evaluate the security and health of any open source package.
sislab
0.0.0.post8
Live on pypi
Blocked by Socket
This module implements a runtime activation mechanism that decrypts and exec()s a bundled encrypted Python payload unlocked by an environment-supplied Fernet key. That allows execution of arbitrary, hidden code and conceals behavior from static review. Absent provenance and inspection of the decrypted payload, treat this as high-risk: do not install or run in sensitive environments until the encrypted payload is inspected and the activation key's origin/purpose is verified. If the package is expected to be open-source, this design is suspicious and warrants removal or replacement. If used for legitimate licensing, replace with a verifiable signature approach and avoid exec of opaque code.
fsd
0.1.204
Removed from pypi
Blocked by Socket
This module itself does not contain obvious obfuscated malware (no encoded payloads, hardcoded secrets, network exfiltration code). However it provides powerful primitives (subprocess with shell=True, ability to change directories, write files and open OS terminals) that allow arbitrary code execution and file modification when given untrusted inputs (steps_json, user inputs, or compromised upstream agents). Therefore the package is high-risk in supply-chain contexts: if an upstream component or dependency is malicious, this code can be used to execute arbitrary commands on the host. Use only with trusted inputs and add sanitization and restrictions before use.
Live on pypi for 5 days, 6 hours and 3 minutes before removal. Socket users were protected even while the package was live.
github.com/bishopfox/sliver
v1.5.40-0.20230719152730-0bfbe9ecd409
Live on go
Blocked by Socket
This file implements a DNS-based command-and-control client (implant) that encrypts and tunnels protobuf 'Envelope' messages over DNS queries and responses. It performs key exchange, fingerprinting of resolvers, and supports operator-controlled resolver configuration. In a software supply chain context, inclusion of this module would be highly suspicious/malicious because it establishes an encrypted covert channel to an operator-controlled server and can be used for data exfiltration and remote command execution. Do not include this package in benign applications; treat it as a high-risk malicious component.
chai-tests-async
3.3.5
by g.rada99
Live on npm
Blocked by Socket
This module’s entrypoint (index.js) immediately launches a detached, unobserved Node.js child process executing the local script ./lib/caller.js, passing it JSON-serialized arguments. The spawn call uses { detached: true, stdio: 'ignore' } combined with child.unref(), which ensures the background process continues after the parent exits and suppresses all output or errors. Such a pattern is frequently used to hide backdoor or exfiltration routines in supply-chain attacks. Since all sensitive activity is delegated to the concealed lib/caller.js and no logs or errors are surfaced, this code functions as a stealthy loader for arbitrary malicious payloads. Do not use or publish this package until every invocation of ./lib/caller.js is audited and its behavior fully understood.
354766/tkersey/dotfiles/mesh/
a0e63a87c86f90e06f286f21d6600609c70196b0
Live on socket
Blocked by Socket
The mesh orchestration fragment is a well-structured, high-level specification of a plan-driven streaming orchestrator with defined gates and roles. It plausibly describes legitimate orchestration workflows and preflight safeguards. The primary security concern is supply-chain risk from external build/install sources (Zig, Homebrew taps, Git repos) and the lack of explicit pinning or signature verification in the fragment. No explicit credentials, data exfiltration patterns, or malware indicators are present within the provided material. Treat as BENIGN with MODERATE supply-chain risk requiring secure build practices, verified releases, and pinned dependencies in any real deployment.
@joystick.js/cli-canary
0.0.0-canary.1993
by cheatcodetuts
Live on npm
Blocked by Socket
The code implements an autonomous, installer-like flow for MongoDB components on Windows, including network downloads, archive extraction, and placing binaries in a user-hidden directory. This behavior presents significant security and supply-chain risks due to lack of user consent, absence of integrity checks, and potential persistence. It should be reviewed for necessity, replaced with explicit user prompts and verifiable integrity checks (digests/signatures), and ideally moved to a clearly trusted installer process rather than a library-like module.
tx.openroads
1.0.1
by TianTeng
Live on nuget
Blocked by Socket
This assembly contains a highly obfuscated loader/packer that reads encrypted embedded resources, performs cryptographic verification, decrypts payloads using a hard-coded symmetric key/IV, allocates unmanaged memory, writes payload bytes and invokes them (in-memory native execution). It also exposes functions to open other processes and write to their memory — capabilities consistent with code injection, process injection, and runtime method patching. The combination of obfuscation, embedded cryptographic keys, P/Invoke to sensitive kernel32 APIs, and runtime manipulation is a strong indicator of malicious or at least surreptitious behavior (loader/backdoor/packer). I recommend not using this package and treating it as malicious until proven otherwise; further dynamic analysis in an isolated environment would be required to extract the exact payload and intent.
odaislib
1.10.2
Live on pypi
Blocked by Socket
This module is a credential harvesting / account extraction tool for Facebook. It automates login attempts (web/mobile/graph) and extracts sensitive account data (access tokens, cookies, account IDs, linked apps, contacts, birthday) and returns plaintext credentials/cookies in its outputs. While it does not directly exfiltrate data to a third-party domain, it is explicitly designed to collect and expose sensitive authentication material and account information that an attacker could misuse. It should not be used in production or included as a dependency in trusted projects.
riftcore
2.0.6
by ridz-coder
Live on npm
Blocked by Socket
`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.
simo
2.10.11
Removed from pypi
Blocked by Socket
The code exhibits high-risk admin tooling characteristics with privileged system operations, active VPN configuration management, and remote hub synchronization that can lead to data exfiltration or unauthorized control if the remote payloads are compromised. The VACUUM_SQL issue and dynamic method invocation via getattr are notable risk factors. Recommended mitigations include: eliminating free-form remote control paths, validating all inputs, insulating Celery tasks with strict authentication/authorization, replacing bare except blocks with targeted exception handling, separating privileged actions from application logic, and adding robust auditing/logging to detect misuse. Given these concerns, treat the package as high-risk until hardened.
Live on pypi for 5 hours and 6 minutes before removal. Socket users were protected even while the package was live.
ethers-web3
6.13.5
by timyorks
Removed from npm
Blocked by Socket
The code contains a significant security risk in the superSignKey function, which modifies the SSH authorized_keys file and could allow unauthorized access. This function should be reviewed and restricted to prevent misuse. Other functions appear secure in isolation, but overall risk is elevated due to the potential for misuse.
Live on npm for 5 hours and 7 minutes before removal. Socket users were protected even while the package was live.
atlasctf-21-prod-10
99.99.99.1
Live on pypi
Blocked by Socket
This setup.py contains a deliberate install-time data-exfiltration backdoor: it reads a likely-sensitive file at /flag.txt and posts its contents to a hardcoded external webhook during installation. The behavior is malicious and constitutes a supply-chain compromise. The package should not be installed; treat any installations as compromised and investigate/mitigate accordingly.
io.acryl:datahub-custom-plugin-lib
1.2.0.10rc4
Live on maven
Blocked by Socket
The code implements remote dynamic class loading and execution via network fetch and reflection. While such a mechanism can be legitimate for plugin ecosystems, it introduces a clear remote-code-execution risk in supply-chain contexts. It should be treated as high-risk for unauthenticated payload loading and require strong controls: TLS, payload signing/verification, strict allowlists, sandboxing, and minimum privileges. If kept, ensure robust auditing and runtime protections.
@gigabuddy/gadgets
0.1.3
by dr0ne
Live on npm
Blocked by Socket
The code is a dynamic gadget renderer that heavily relies on untrusted, runtime-supplied code (escapedCode) to define the Gadget component. It uses Babel and new Function to execute code received at runtime, which is a high-risk pattern for remote code execution. While this may be by design for hot-module replacement in a gadget environment, it presents clear security concerns: potential arbitrary code execution, data leakage through postMessage channels, and reliance on third-party CDNs. Recommendations include: implement strict origin checks, sandbox the dynamic code (e.g., via a dedicated worker or iframe with a sandbox attribute), validate and rate-limit gifted code, avoid executing unknown code with Function, and remove or harden reliance on third-party CDNs or verify integrity via Subresource Integrity (SRI). Improve error handling to avoid leaking sensitive state, and consider implementing a formal permission model for gadget actions and data access.
mtmai
0.4.256
Live on pypi
Blocked by Socket
The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.
mtmai
0.4.20
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.
crypto-bignumber
1.2.9
by topnotchdeveloper12
Removed from npm
Blocked by Socket
The presence of an exec call executing an external binary is highly suspicious and poses a significant security risk. This behavior is not typical for a library handling number calculations and could potentially be malicious.
Live on npm for 7 days, 17 hours and 21 minutes before removal. Socket users were protected even while the package was live.
@partner-tech/pax-illustrations
99.99.99
by mach1avelli
Live on npm
Blocked by Socket
The code is malicious as it sends system information to an external domain without user consent. This represents a significant security risk due to unauthorized data exfiltration.
sislab
0.0.0.post8
Live on pypi
Blocked by Socket
This module implements a runtime activation mechanism that decrypts and exec()s a bundled encrypted Python payload unlocked by an environment-supplied Fernet key. That allows execution of arbitrary, hidden code and conceals behavior from static review. Absent provenance and inspection of the decrypted payload, treat this as high-risk: do not install or run in sensitive environments until the encrypted payload is inspected and the activation key's origin/purpose is verified. If the package is expected to be open-source, this design is suspicious and warrants removal or replacement. If used for legitimate licensing, replace with a verifiable signature approach and avoid exec of opaque code.
fsd
0.1.204
Removed from pypi
Blocked by Socket
This module itself does not contain obvious obfuscated malware (no encoded payloads, hardcoded secrets, network exfiltration code). However it provides powerful primitives (subprocess with shell=True, ability to change directories, write files and open OS terminals) that allow arbitrary code execution and file modification when given untrusted inputs (steps_json, user inputs, or compromised upstream agents). Therefore the package is high-risk in supply-chain contexts: if an upstream component or dependency is malicious, this code can be used to execute arbitrary commands on the host. Use only with trusted inputs and add sanitization and restrictions before use.
Live on pypi for 5 days, 6 hours and 3 minutes before removal. Socket users were protected even while the package was live.
github.com/bishopfox/sliver
v1.5.40-0.20230719152730-0bfbe9ecd409
Live on go
Blocked by Socket
This file implements a DNS-based command-and-control client (implant) that encrypts and tunnels protobuf 'Envelope' messages over DNS queries and responses. It performs key exchange, fingerprinting of resolvers, and supports operator-controlled resolver configuration. In a software supply chain context, inclusion of this module would be highly suspicious/malicious because it establishes an encrypted covert channel to an operator-controlled server and can be used for data exfiltration and remote command execution. Do not include this package in benign applications; treat it as a high-risk malicious component.
chai-tests-async
3.3.5
by g.rada99
Live on npm
Blocked by Socket
This module’s entrypoint (index.js) immediately launches a detached, unobserved Node.js child process executing the local script ./lib/caller.js, passing it JSON-serialized arguments. The spawn call uses { detached: true, stdio: 'ignore' } combined with child.unref(), which ensures the background process continues after the parent exits and suppresses all output or errors. Such a pattern is frequently used to hide backdoor or exfiltration routines in supply-chain attacks. Since all sensitive activity is delegated to the concealed lib/caller.js and no logs or errors are surfaced, this code functions as a stealthy loader for arbitrary malicious payloads. Do not use or publish this package until every invocation of ./lib/caller.js is audited and its behavior fully understood.
354766/tkersey/dotfiles/mesh/
a0e63a87c86f90e06f286f21d6600609c70196b0
Live on socket
Blocked by Socket
The mesh orchestration fragment is a well-structured, high-level specification of a plan-driven streaming orchestrator with defined gates and roles. It plausibly describes legitimate orchestration workflows and preflight safeguards. The primary security concern is supply-chain risk from external build/install sources (Zig, Homebrew taps, Git repos) and the lack of explicit pinning or signature verification in the fragment. No explicit credentials, data exfiltration patterns, or malware indicators are present within the provided material. Treat as BENIGN with MODERATE supply-chain risk requiring secure build practices, verified releases, and pinned dependencies in any real deployment.
@joystick.js/cli-canary
0.0.0-canary.1993
by cheatcodetuts
Live on npm
Blocked by Socket
The code implements an autonomous, installer-like flow for MongoDB components on Windows, including network downloads, archive extraction, and placing binaries in a user-hidden directory. This behavior presents significant security and supply-chain risks due to lack of user consent, absence of integrity checks, and potential persistence. It should be reviewed for necessity, replaced with explicit user prompts and verifiable integrity checks (digests/signatures), and ideally moved to a clearly trusted installer process rather than a library-like module.
tx.openroads
1.0.1
by TianTeng
Live on nuget
Blocked by Socket
This assembly contains a highly obfuscated loader/packer that reads encrypted embedded resources, performs cryptographic verification, decrypts payloads using a hard-coded symmetric key/IV, allocates unmanaged memory, writes payload bytes and invokes them (in-memory native execution). It also exposes functions to open other processes and write to their memory — capabilities consistent with code injection, process injection, and runtime method patching. The combination of obfuscation, embedded cryptographic keys, P/Invoke to sensitive kernel32 APIs, and runtime manipulation is a strong indicator of malicious or at least surreptitious behavior (loader/backdoor/packer). I recommend not using this package and treating it as malicious until proven otherwise; further dynamic analysis in an isolated environment would be required to extract the exact payload and intent.
odaislib
1.10.2
Live on pypi
Blocked by Socket
This module is a credential harvesting / account extraction tool for Facebook. It automates login attempts (web/mobile/graph) and extracts sensitive account data (access tokens, cookies, account IDs, linked apps, contacts, birthday) and returns plaintext credentials/cookies in its outputs. While it does not directly exfiltrate data to a third-party domain, it is explicitly designed to collect and expose sensitive authentication material and account information that an attacker could misuse. It should not be used in production or included as a dependency in trusted projects.
riftcore
2.0.6
by ridz-coder
Live on npm
Blocked by Socket
`lotusbail` is a malicious npm package that masquerades as a WhatsApp Web API library by forking legitimate Baileys-based code and preserving working messaging functionality. In addition to normal API behavior, it inserts a wrapper around the WhatsApp WebSocket client so that all traffic passing through the library is duplicated for collection. Reported data theft includes WhatsApp authentication tokens and session keys, full message content (sent/received and historical), contact lists (including phone numbers), and transferred media/files. The package also attempts to establish persistent unauthorized access by hijacking the WhatsApp device-linking (“pairing”) workflow using a hardcoded pairing code, effectively linking an attacker-controlled device to the victim’s account; removing the npm dependency does not automatically remove the linked device. To hinder detection, the exfiltration endpoint is hidden behind multiple obfuscation layers, collected data is encrypted (including a custom RSA implementation), and the code includes anti-debugging traps designed to disrupt analysis.
simo
2.10.11
Removed from pypi
Blocked by Socket
The code exhibits high-risk admin tooling characteristics with privileged system operations, active VPN configuration management, and remote hub synchronization that can lead to data exfiltration or unauthorized control if the remote payloads are compromised. The VACUUM_SQL issue and dynamic method invocation via getattr are notable risk factors. Recommended mitigations include: eliminating free-form remote control paths, validating all inputs, insulating Celery tasks with strict authentication/authorization, replacing bare except blocks with targeted exception handling, separating privileged actions from application logic, and adding robust auditing/logging to detect misuse. Given these concerns, treat the package as high-risk until hardened.
Live on pypi for 5 hours and 6 minutes before removal. Socket users were protected even while the package was live.
ethers-web3
6.13.5
by timyorks
Removed from npm
Blocked by Socket
The code contains a significant security risk in the superSignKey function, which modifies the SSH authorized_keys file and could allow unauthorized access. This function should be reviewed and restricted to prevent misuse. Other functions appear secure in isolation, but overall risk is elevated due to the potential for misuse.
Live on npm for 5 hours and 7 minutes before removal. Socket users were protected even while the package was live.
atlasctf-21-prod-10
99.99.99.1
Live on pypi
Blocked by Socket
This setup.py contains a deliberate install-time data-exfiltration backdoor: it reads a likely-sensitive file at /flag.txt and posts its contents to a hardcoded external webhook during installation. The behavior is malicious and constitutes a supply-chain compromise. The package should not be installed; treat any installations as compromised and investigate/mitigate accordingly.
io.acryl:datahub-custom-plugin-lib
1.2.0.10rc4
Live on maven
Blocked by Socket
The code implements remote dynamic class loading and execution via network fetch and reflection. While such a mechanism can be legitimate for plugin ecosystems, it introduces a clear remote-code-execution risk in supply-chain contexts. It should be treated as high-risk for unauthenticated payload loading and require strong controls: TLS, payload signing/verification, strict allowlists, sandboxing, and minimum privileges. If kept, ensure robust auditing and runtime protections.
@gigabuddy/gadgets
0.1.3
by dr0ne
Live on npm
Blocked by Socket
The code is a dynamic gadget renderer that heavily relies on untrusted, runtime-supplied code (escapedCode) to define the Gadget component. It uses Babel and new Function to execute code received at runtime, which is a high-risk pattern for remote code execution. While this may be by design for hot-module replacement in a gadget environment, it presents clear security concerns: potential arbitrary code execution, data leakage through postMessage channels, and reliance on third-party CDNs. Recommendations include: implement strict origin checks, sandbox the dynamic code (e.g., via a dedicated worker or iframe with a sandbox attribute), validate and rate-limit gifted code, avoid executing unknown code with Function, and remove or harden reliance on third-party CDNs or verify integrity via Subresource Integrity (SRI). Improve error handling to avoid leaking sensitive state, and consider implementing a formal permission model for gadget actions and data access.
mtmai
0.4.256
Live on pypi
Blocked by Socket
The code exposes powerful administrative actions: arbitrary shell execution, arbitrary file reads, full environment dumps, and building/pushing Docker images to a hardcoded registry. These are not obfuscated but are high-risk capabilities that can be abused for data exfiltration, remote code execution, and supply-chain leakage if the superuser authentication is compromised or misconfigured. The presence of a hardcoded remote image name for docker push is suspicious for unintended outbound artifact exfiltration. Recommendation: avoid including these endpoints in public packages or ensure strict, auditable authentication and input validation; remove hardcoded push targets and avoid returning full environment variables or arbitrary file contents.
mtmai
0.4.20
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.
crypto-bignumber
1.2.9
by topnotchdeveloper12
Removed from npm
Blocked by Socket
The presence of an exec call executing an external binary is highly suspicious and poses a significant security risk. This behavior is not typical for a library handling number calculations and could potentially be malicious.
Live on npm for 7 days, 17 hours and 21 minutes before removal. Socket users were protected even while the package was live.
@partner-tech/pax-illustrations
99.99.99
by mach1avelli
Live on npm
Blocked by Socket
The code is malicious as it sends system information to an external domain without user consent. This represents a significant security risk due to unauthorized data exfiltration.
Socket detects traditional vulnerabilities (CVEs) but goes beyond that to scan the actual code of dependencies for malicious behavior. It proactively detects and blocks 70+ signals of supply chain risk in open source code, for comprehensive protection.
Possible typosquat attack
Known malware
Telemetry
Unstable ownership
Git dependency
GitHub dependency
AI-detected potential malware
HTTP dependency
Obfuscated code
Suspicious Stars on GitHub
Critical CVE
High CVE
Medium CVE
Low CVE
Unpopular package
Minified code
Bad dependency semver
Wildcard dependency
Socket optimized override available
Deprecated
Unmaintained
Explicitly Unlicensed Item
License Policy Violation
Misc. License Issues
License exception
Ambiguous License Classifier
Copyleft License
No License Found
Non-permissive License
Unidentified License
Socket detects and blocks malicious dependencies, often within just minutes of them being published to public registries, making it the most effective tool for blocking zero-day supply chain attacks.
Socket is built by a team of prolific open source maintainers whose software is downloaded over 1 billion times per month. We understand how to build tools that developers love. But don’t take our word for it.

Nat Friedman
CEO at GitHub

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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