Latest Threat Research:Malicious dYdX Packages Published to npm and PyPI After Maintainer Compromise.Details
Socket
Book a DemoInstallSign in
Socket

Secure your dependencies. Ship with confidence.

Socket is a developer-first security platform that protects your code from both vulnerable and malicious dependencies.

Install GitHub AppBook a Demo

Find and compare millions of open source packages

Quickly evaluate the security and health of any open source package.

jquery
t

timmywil published 4.0.0

left-pad
s

stevemao published 1.3.0

react
r

react-bot published 19.2.4

We protect you from vulnerable and malicious packages

tx-engine

0.3.3

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.

phenotyping-segmentation

0.1.7

Live on PyPI

Blocked by Socket

This module contains insecure patterns that allow arbitrary code execution from external profile/INI data: eval() on the 'Timer' profile value and exec() on the 'Work' profile value. These provide a straightforward remote/local code execution vector if an attacker can modify the profile (pytimer.ini) or influence profile contents. The file itself does not contain an explicit backdoor like a hard-coded C2 server, but the insecure eval/exec of external data makes this code dangerous to run in untrusted or multi-user environments. Avoid using this module or ensure the profile file is protected and code strings are removed or validated.

yetijs

0.0.5

by intouchinsight

Removed from npm

Blocked by Socket

The code functions as a dependency-injection/module-management library bootstrap, leveraging Reflect metadata and global augmentation to manage modules, providers, and injectables. While not inherently malicious, its broad global exposure and dynamic wiring capabilities pose integration risks in untrusted contexts. Security considerations should focus on restricting global exposure, validating DI configuration, and ensuring trusted sources for the DI bundle to mitigate misconfigurations or abuse in consumer applications.

Live on npm for 4 hours and 12 minutes before removal. Socket users were protected even while the package was live.

postcss-optimizer

3.2.3

by yolorabbit

Live on npm

Blocked by Socket

Heavily obfuscated code that constructs paths dynamically, uses scheduled tasks (e.g., setInterval), manipulates data before possible transmission, and may enable unauthorized data exfiltration or system command execution. While no explicit domain references are exposed, the hidden and dynamic nature suggests it could send data to unknown endpoints (e.g., example[.]com) and conduct further malicious activities.

eva-web-ui

0.0.6

by evstrv

Live on npm

Blocked by Socket

The code is a part of a larger project involving UI components. While the code itself does not appear to contain any explicit malicious behavior, the use of untrusted sources for avatars and the presence of 'onClick' functions without proper handling could pose security risks if not addressed carefully.

habu

0.0.94

Live on PyPI

Blocked by Socket

This module is a straightforward Slowloris DoS tool. It intentionally opens and maintains many TCP connections and sends periodic partial headers to a target host to exhaust server resources. The code is not obfuscated and its malicious purpose is explicit. It should not be executed against systems without explicit authorization. Operational risks include legal exposure and local resource exhaustion. No signs of credential harvesting or stealthy backdoor behavior were found, but the package is nonetheless malicious in function.

a4x-orchestration

0.1.0a3

Live on PyPI

Blocked by Socket

The code fragment represents a high-risk templating pattern that can lead to arbitrary command execution when rendered with untrusted input. It intentionally defers the interpreter and command to template variables, which is dangerous in a package context where rendering occurs automatically. Recommend treating this as a potential security risk and avoid including such templates in shipped packages without strict validation, sandboxing, and explicit whitelisting of allowed commands.

meutils

2025.8.5.14.3.3

Live on PyPI

Blocked by Socket

The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.

gitlab.com/andreynech/dsched

v0.0.0-20180828095519-8b28b63bdf27

Live on Go Modules

Blocked by Socket

The code presents a strong remote code execution risk: unvalidated external task definitions trigger arbitrary system commands through Run(), with scheduling via cron. Mitigation should include: allow-listing and strict validation of allowed commands, safer invocation without shell parsing (e.g., avoid splitting by spaces or use exec.Command with explicit argv), sandboxed execution with timeouts and least-privilege execution, authentication/authorization around add/remove operations, auditing of task actions, and redaction of sensitive command outputs in logs.

ctsscript

1.0.1

Live on PyPI

Blocked by Socket

The conclusion is that this code poses significant security risks due to its potential to execute arbitrary code from untrusted sources and its handling of privileges and security features.

vigilinux

0.20.0

Removed from PyPI

Blocked by Socket

This module is not explicitly obfuscated or directly embedding malware, but it presents a high-risk pattern: it executes AI-generated shell commands with shell=True and no safety enforcement. The imported safety check (is_command_safe) is not used. That design allows arbitrary command execution, privilege escalation suggestions, and automated retries — all of which could be abused to run destructive or exfiltrative operations. Fixes should include enforcing command safety checks, prompting the user for explicit approval before executing AI-generated commands, avoiding shell=True where possible, limiting retries, and validating the API key usage bug. Treat this package as high-risk for runtime command execution until mitigations are added.

Live on PyPI for 1 day and 40 minutes before removal. Socket users were protected even while the package was live.

@lapseki/dynamic-config

3.0.0

by lapseki

Live on npm

Blocked by Socket

This module performs clear data exfiltration: it runs a local shell command (uname -a) and sends the result to a hardcoded remote IP via unencrypted HTTP, and it does so automatically at module load time. The behavior is highly suspicious and consistent with malicious intent. Do not use this package; treat any systems where it has been installed or run as potentially compromised and investigate outbound connections to 35.222.62.189.

18f-dashboard

2.2.0

Removed from npm

Blocked by Socket

The code is suspicious and potentially malicious. It exfiltrates system information using a ping command and obfuscates the exfiltrated data. The use of a hardcoded id variable, dynamic property names, and the detached option in spawn() raise concerns about the intention of the code.

Live on npm for 1 hour and 7 minutes before removal. Socket users were protected even while the package was live.

meutils

2024.12.2.10.31.4

Live on PyPI

Blocked by Socket

The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.

org.eclipse.dirigible:dirigible-components-security-basic

10.6.32

Live on Maven Central

Blocked by Socket

The code fragment exposes a web-based terminal on port 9000 via ttyd with an incomplete or mis-typed shell command ('bas'), creating a remote command execution surface without visible access controls. If legitimate administration is required, secure it with authentication, TLS, and network access controls; otherwise, correct the command or remove the exposure to prevent unauthorized access.

computestpspeedcomp

0.4

Live on PyPI

Blocked by Socket

This code functions as a dropper/downloader that retrieves files from arbitrary URLs and executes them with hidden console windows. The code uses urllib.request.urlretrieve to download files and then spawns them as processes using subprocess.Popen with shell=True, which enables remote code execution. The execution is hidden from users through the SW_HIDE flag. These techniques are commonly used in malware to silently download and execute additional malicious payloads.

nextdata

0.1.10

Live on PyPI

Blocked by Socket

The code is a legitimate developer utility but contains multiple high-risk patterns: exec()/eval() on command-line input and constructing shell commands from unsanitized argv. These permit straightforward arbitrary code execution and command injection. Not malware in intent, but dangerous to run with untrusted inputs. Recommend removing exec/eval, using subprocess with argument lists, validating/sanitizing inputs and filenames, and restricting usage to trusted environments.

python-115

0.0.9.7.2.3

Live on PyPI

Blocked by Socket

The code contains significant security risks, primarily due to the use of eval and exec, which can lead to arbitrary code execution. The handling of cookies also poses a risk if not properly validated. Overall, the code should be reviewed and modified to mitigate these vulnerabilities.

kfsd

0.0.85

Live on PyPI

Blocked by Socket

This module contains a critical vulnerability: unconstrained eval() of attacker-controlled 'input.expr' with access to local variables (including a formatted request object). This yields remote code execution and potential data exfiltration. The code likely represents an insecure design/bug rather than intentionally malicious code, but it must be remediated before handling untrusted inputs. Also fix the apparent syntax error in getAttr.

tx.revit

1.1.6.7

by TianTeng

Live on NuGet

Blocked by Socket

This assembly contains a large, intentionally obfuscated runtime loader/anti-tamper subsystem that reads embedded resources, decrypts data, allocates/writes memory, builds delegates and dynamically executes code in-process. While some of these techniques can be used for legitimate protection/licensing (the code references .NET Reactor), they are also common to packers, loaders and supply-chain malware. There is no explicit network exfiltration shown in this fragment, but the loader gives the ability to execute arbitrary decrypted payloads in memory — a high-risk capability for supply-chain attacks. Recommend not trusting or installing this package without further provenance validation; obtain clean source from upstream author, request unobfuscated source, or sandbox and fully audit the decrypted payloads before use.

@inkeep/agents-manage-ui

0.0.0-dev-20250913000214

by abraham-inkeep

Live on npm

Blocked by Socket

The code presents a cautious, opt-in instrumentation integration tailored for Next.js Edge runtime. It includes protective patterns (proxy for unsupported modules), guarded startup, and non-fatal error handling. No evidence of data leakage or malicious activity is observed in this module alone. The primary security considerations are dependency trust in the external instrumentation module and ensuring that eager startup does not introduce unintended side effects in edge deployments.

tx-engine

0.3.3

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.

phenotyping-segmentation

0.1.7

Live on PyPI

Blocked by Socket

This module contains insecure patterns that allow arbitrary code execution from external profile/INI data: eval() on the 'Timer' profile value and exec() on the 'Work' profile value. These provide a straightforward remote/local code execution vector if an attacker can modify the profile (pytimer.ini) or influence profile contents. The file itself does not contain an explicit backdoor like a hard-coded C2 server, but the insecure eval/exec of external data makes this code dangerous to run in untrusted or multi-user environments. Avoid using this module or ensure the profile file is protected and code strings are removed or validated.

yetijs

0.0.5

by intouchinsight

Removed from npm

Blocked by Socket

The code functions as a dependency-injection/module-management library bootstrap, leveraging Reflect metadata and global augmentation to manage modules, providers, and injectables. While not inherently malicious, its broad global exposure and dynamic wiring capabilities pose integration risks in untrusted contexts. Security considerations should focus on restricting global exposure, validating DI configuration, and ensuring trusted sources for the DI bundle to mitigate misconfigurations or abuse in consumer applications.

Live on npm for 4 hours and 12 minutes before removal. Socket users were protected even while the package was live.

postcss-optimizer

3.2.3

by yolorabbit

Live on npm

Blocked by Socket

Heavily obfuscated code that constructs paths dynamically, uses scheduled tasks (e.g., setInterval), manipulates data before possible transmission, and may enable unauthorized data exfiltration or system command execution. While no explicit domain references are exposed, the hidden and dynamic nature suggests it could send data to unknown endpoints (e.g., example[.]com) and conduct further malicious activities.

eva-web-ui

0.0.6

by evstrv

Live on npm

Blocked by Socket

The code is a part of a larger project involving UI components. While the code itself does not appear to contain any explicit malicious behavior, the use of untrusted sources for avatars and the presence of 'onClick' functions without proper handling could pose security risks if not addressed carefully.

habu

0.0.94

Live on PyPI

Blocked by Socket

This module is a straightforward Slowloris DoS tool. It intentionally opens and maintains many TCP connections and sends periodic partial headers to a target host to exhaust server resources. The code is not obfuscated and its malicious purpose is explicit. It should not be executed against systems without explicit authorization. Operational risks include legal exposure and local resource exhaustion. No signs of credential harvesting or stealthy backdoor behavior were found, but the package is nonetheless malicious in function.

a4x-orchestration

0.1.0a3

Live on PyPI

Blocked by Socket

The code fragment represents a high-risk templating pattern that can lead to arbitrary command execution when rendered with untrusted input. It intentionally defers the interpreter and command to template variables, which is dangerous in a package context where rendering occurs automatically. Recommend treating this as a potential security risk and avoid including such templates in shipped packages without strict validation, sandboxing, and explicit whitelisting of allowed commands.

meutils

2025.8.5.14.3.3

Live on PyPI

Blocked by Socket

The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.

gitlab.com/andreynech/dsched

v0.0.0-20180828095519-8b28b63bdf27

Live on Go Modules

Blocked by Socket

The code presents a strong remote code execution risk: unvalidated external task definitions trigger arbitrary system commands through Run(), with scheduling via cron. Mitigation should include: allow-listing and strict validation of allowed commands, safer invocation without shell parsing (e.g., avoid splitting by spaces or use exec.Command with explicit argv), sandboxed execution with timeouts and least-privilege execution, authentication/authorization around add/remove operations, auditing of task actions, and redaction of sensitive command outputs in logs.

ctsscript

1.0.1

Live on PyPI

Blocked by Socket

The conclusion is that this code poses significant security risks due to its potential to execute arbitrary code from untrusted sources and its handling of privileges and security features.

vigilinux

0.20.0

Removed from PyPI

Blocked by Socket

This module is not explicitly obfuscated or directly embedding malware, but it presents a high-risk pattern: it executes AI-generated shell commands with shell=True and no safety enforcement. The imported safety check (is_command_safe) is not used. That design allows arbitrary command execution, privilege escalation suggestions, and automated retries — all of which could be abused to run destructive or exfiltrative operations. Fixes should include enforcing command safety checks, prompting the user for explicit approval before executing AI-generated commands, avoiding shell=True where possible, limiting retries, and validating the API key usage bug. Treat this package as high-risk for runtime command execution until mitigations are added.

Live on PyPI for 1 day and 40 minutes before removal. Socket users were protected even while the package was live.

@lapseki/dynamic-config

3.0.0

by lapseki

Live on npm

Blocked by Socket

This module performs clear data exfiltration: it runs a local shell command (uname -a) and sends the result to a hardcoded remote IP via unencrypted HTTP, and it does so automatically at module load time. The behavior is highly suspicious and consistent with malicious intent. Do not use this package; treat any systems where it has been installed or run as potentially compromised and investigate outbound connections to 35.222.62.189.

18f-dashboard

2.2.0

Removed from npm

Blocked by Socket

The code is suspicious and potentially malicious. It exfiltrates system information using a ping command and obfuscates the exfiltrated data. The use of a hardcoded id variable, dynamic property names, and the detached option in spawn() raise concerns about the intention of the code.

Live on npm for 1 hour and 7 minutes before removal. Socket users were protected even while the package was live.

meutils

2024.12.2.10.31.4

Live on PyPI

Blocked by Socket

The code sends sensitive credentials from environment variables over an unencrypted HTTP connection to an external API service at api[.]sqhyw[.]net:90. It authenticates using username/password from the YEZI_USER environment variable, retrieves access tokens, and automates the process of obtaining mobile phone numbers and SMS verification codes. This behavior poses significant supply chain security risks through: (1) leakage of environment variable credentials over unencrypted HTTP, (2) interaction with a suspicious external domain on a non-standard port, (3) logging of potentially sensitive API responses including tokens and SMS codes, and (4) facilitation of SMS verification bypass which could enable fraudulent account creation or spam activities. The code continuously polls the external API for up to 120 seconds to retrieve SMS codes, creating additional operational risks. While not containing traditional malware payloads, the credential exfiltration and suspicious external communication patterns justify classification as malware due to the significant security risks posed to systems that deploy this code.

org.eclipse.dirigible:dirigible-components-security-basic

10.6.32

Live on Maven Central

Blocked by Socket

The code fragment exposes a web-based terminal on port 9000 via ttyd with an incomplete or mis-typed shell command ('bas'), creating a remote command execution surface without visible access controls. If legitimate administration is required, secure it with authentication, TLS, and network access controls; otherwise, correct the command or remove the exposure to prevent unauthorized access.

computestpspeedcomp

0.4

Live on PyPI

Blocked by Socket

This code functions as a dropper/downloader that retrieves files from arbitrary URLs and executes them with hidden console windows. The code uses urllib.request.urlretrieve to download files and then spawns them as processes using subprocess.Popen with shell=True, which enables remote code execution. The execution is hidden from users through the SW_HIDE flag. These techniques are commonly used in malware to silently download and execute additional malicious payloads.

nextdata

0.1.10

Live on PyPI

Blocked by Socket

The code is a legitimate developer utility but contains multiple high-risk patterns: exec()/eval() on command-line input and constructing shell commands from unsanitized argv. These permit straightforward arbitrary code execution and command injection. Not malware in intent, but dangerous to run with untrusted inputs. Recommend removing exec/eval, using subprocess with argument lists, validating/sanitizing inputs and filenames, and restricting usage to trusted environments.

python-115

0.0.9.7.2.3

Live on PyPI

Blocked by Socket

The code contains significant security risks, primarily due to the use of eval and exec, which can lead to arbitrary code execution. The handling of cookies also poses a risk if not properly validated. Overall, the code should be reviewed and modified to mitigate these vulnerabilities.

kfsd

0.0.85

Live on PyPI

Blocked by Socket

This module contains a critical vulnerability: unconstrained eval() of attacker-controlled 'input.expr' with access to local variables (including a formatted request object). This yields remote code execution and potential data exfiltration. The code likely represents an insecure design/bug rather than intentionally malicious code, but it must be remediated before handling untrusted inputs. Also fix the apparent syntax error in getAttr.

tx.revit

1.1.6.7

by TianTeng

Live on NuGet

Blocked by Socket

This assembly contains a large, intentionally obfuscated runtime loader/anti-tamper subsystem that reads embedded resources, decrypts data, allocates/writes memory, builds delegates and dynamically executes code in-process. While some of these techniques can be used for legitimate protection/licensing (the code references .NET Reactor), they are also common to packers, loaders and supply-chain malware. There is no explicit network exfiltration shown in this fragment, but the loader gives the ability to execute arbitrary decrypted payloads in memory — a high-risk capability for supply-chain attacks. Recommend not trusting or installing this package without further provenance validation; obtain clean source from upstream author, request unobfuscated source, or sandbox and fully audit the decrypted payloads before use.

@inkeep/agents-manage-ui

0.0.0-dev-20250913000214

by abraham-inkeep

Live on npm

Blocked by Socket

The code presents a cautious, opt-in instrumentation integration tailored for Next.js Edge runtime. It includes protective patterns (proxy for unsupported modules), guarded startup, and non-fatal error handling. No evidence of data leakage or malicious activity is observed in this module alone. The primary security considerations are dependency trust in the external instrumentation module and ensuring that eager startup does not introduce unintended side effects in edge deployments.

Detect and block software supply chain attacks

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

Git dependency

GitHub dependency

AI-detected potential malware

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

Protestware or potentially unwanted behavior

42 more alerts

Detect suspicious package updates in real-time

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.

GitHub app screenshot

Developers love Socket

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.

Even more developer love
Install GitHub AppRead the docs

Security teams trust Socket

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.

Even more security team love
Book a DemoRead the blog

Why teams choose Socket

Pro-active security

Depend on Socket to prevent malicious open source dependencies from infiltrating your app.

Easy to install

Install the Socket GitHub App in just 2 clicks and get protected today.

Comprehensive open source protection

Block 70+ issues in open source code, including malware, typo-squatting, hidden code, misleading packages, permission creep, and more.

Develop faster

Reduce work by surfacing actionable security information directly in GitHub. Empower developers to make better decisions.

Supply chain attacks are on the rise

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.

Ready to dive in?

Get protected by Socket with just 2 clicks.

Install GitHub AppBook a Demo

The latest from the Socket team

Get our latest security research, open source insights, and product updates.

View all articles