New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign 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 App
Book a Demo

Questions? Call us at (844) SOCKET-0

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.5

We protect you from vulnerable and malicious packages

colab-ssh

0.2.5

Live on pypi

Blocked by Socket

This code enables privileged remote access (root SSH) and automatically exposes and publishes the connection endpoint to an external service. That combination creates a high-risk supply-chain/remote-access vector: it changes system configuration, sets root credentials, runs a third-party binary (ngrok) to tunnel SSH, and exfiltrates the public endpoint. Even though the fragment contains syntax errors and would need fixing to run, the intended behavior is dangerous. Treat this code as potentially malicious or at minimum as extremely risky for use in shared/cloud environments.

@captivateiq/random

1.0.0

by adamdeziri

Live on npm

Blocked by Socket

The code is collecting and sending sensitive system information to an external endpoint, which is indicative of potential data exfiltration and poses a significant security risk.

instant-python

0.18.1

Live on pypi

Blocked by Socket

This templated script contains a high-severity command-injection vulnerability: it interpolates unsanitized user input into a shell command string executed with subprocess.run(..., shell=True). There is no evidence of deliberate malware or exfiltration in the snippet, but the insecure pattern allows arbitrary command execution and therefore poses a serious security risk. Remediation should prioritize removing shell=True by using argument lists or strict input validation/quoting before any use in a shell.

github.com/sourcegraph/sourcegraph

v0.0.0-20210208175517-598793fd2d85

Live on go

Blocked by Socket

This module is a deliberate destructive utility that corrupts all .zip files in a specified directory by truncating each archive to half its size and appending repeated junk data. While it lacks common malware features like networking or data exfiltration, the behavior is strongly indicative of sabotage and would be unacceptable in most software supply-chain contexts due to its potential to break builds, deployments, or artifact integrity.

github.com/weaveworks/weave

v1.5.1-0.20160507134103-bd06553ce093

Live on go

Blocked by Socket

This module is a high-risk runtime packer/dropper: it embeds an encrypted payload, decrypts it using a user-supplied passphrase, writes the result to `bin/do-setup-circleci-secrets`, and immediately executes it. Because there is no integrity/authenticity validation of the decrypted artifact and the executed code is not shown here, the module should be treated as potentially malicious until the decrypted `bin/do-setup-circleci-secrets` content is inspected and validated in a safe environment.

pytdx

1.46

Live on pypi

Blocked by Socket

This code retrieves a DLL from hxxp://example[.]com/tts/Trade.dll and a ZIP file from hxxp://example[.]com/tts/TdxTradeServer-0.1_20170823174759.zip, modifies the DLL with user-provided credentials, and sets up a server environment. The absence of file integrity or signature checks significantly increases the risk of executing malicious code. Embedding user account details in the DLL also raises privacy concerns. Reliance on potentially unsafe external URLs for core functionality further escalates the threat potential.

cl-lite

1.0.1364

by michael_tian

Live on npm

Blocked by Socket

This SQLite database file contains embedded explicit adult content and torrent distribution infrastructure instead of legitimate data. The file includes extensive HTML fragments with pornographic video metadata, download links to torrent files, and suspicious redirect URLs. Key malicious domains identified include rmdown[.]com, redircdn[.]com, 97p[.]org, qpic[.]ws, imgbox[.]com, and various other image hosting services. The content contains hash values for torrent files, BitTorrent magnet links, and obfuscated download URLs using multiple redirect layers to mask the true destinations. This represents a supply chain attack where adult content distribution infrastructure has been embedded within what appears to be a standard database file, potentially exposing users to inappropriate content and malicious download sites when accessed.

pyhtools

1.2.0

Live on pypi

Blocked by Socket

This code implements clear malicious functionality: it harvests Telegram 'tdata' directories, force-terminates Telegram processes, archives the data, and exfiltrates it via SMTP using supplied credentials, then removes artifacts. It should be treated as malware and not used; any occurrence in a package is a high-risk supply chain compromise.

dotflow

0.14.0

Live on pypi

Blocked by Socket

This snippet contains an extremely high-risk, backdoor-like behavior: it spawns an interactive /bin/bash shell via os.system when the execution mode equals TypeExecution.BACKGROUND. The trigger is controlled by runtime parameters and lacks any safety or authorization checks in the shown code. While it also wires user-provided callbacks/context into a workflow engine, the shell execution alone is sufficient to treat this package/module as dangerous and unsuitable for untrusted environments.

ambar-src

9.4.101

by a_awerin

Removed from npm

Blocked by Socket

This file contains a concealed downloader/backdoor: an obfuscated IIFE decodes platform-specific shell commands that fetch and execute remote payloads (URLs embedded in byte arrays). Executing or importing this module will cause the host to run remote commands and possibly install/run binaries. Treat this package as malicious and a critical supply-chain threat — remove and do not run. Investigate systems where this version was installed for executed payloads and persistence.

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

eval-as-module

0.1.1

by jkroso

Live on npm

Blocked by Socket

This fragment implements a high-risk arbitrary code execution gadget: attacker-supplied JavaScript (`js`) is embedded into an `eval()` call inside dynamically generated module source and executed immediately via Node’s internal `_compile` API. While this snippet alone shows no network/file/credential actions, the primitive can directly enable backdoor-like behavior wherever it is invoked. Export corruption (`module.exports = ru`) limits certainty about usage, but materially does not mitigate the dangerous capability.

jasmine-marbers

1.0.0

by yjkgc718edm

Removed from npm

Blocked by Socket

This code implements a data exfiltration malware that automatically collects comprehensive system information and transmits it to a remote server without user consent. Upon execution, it gathers sensitive data including username, home directory, hostname, shell information, CPU details, memory statistics, running processes (with specific checks for browsers and office applications), screen resolution, system locale, and various OS metrics. The collected data is packaged into a JSON payload and sent via an unencrypted TCP socket connection to the hardcoded IP address 8[.]152[.]163[.]60 on port 8058. The code uses obfuscated variable names to hide its intent, employs silent error handling to avoid detection, and executes platform-specific shell commands (wmic, xrandr, system_profiler, tasklist, ps) to probe the system. This behavior is consistent with reconnaissance malware used in supply chain attacks to fingerprint and profile infected systems.

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

elf-stats-tinsel-drum-369

1.0.3

Live on npm

Blocked by Socket

This code is malicious: it collects filesystem data (directory listings and file contents) and attempts to exfiltrate them to a hard-coded external domain using shell commands and curl. Even though the provided snippet contains syntax errors that would prevent successful runtime execution as-is, the intent and pattern are clear and high-risk. Do not run this code; treat it as a data-exfiltration backdoor, remove it, and investigate any systems where it may have executed.

term-from-nat

0.1.2

Live on pypi

Blocked by Socket

This file implements a reverse shell: it connects to a remote host and exposes a local bash shell to that remote peer, forwarding commands from the network to the shell and sending shell output back. pkt_common functions obscure packet handling and may provide additional stealth (encryption/obfuscation). This is high-risk malicious functionality — treat as malware/backdoor unless execution is explicitly authorized and audited. Remove or quarantine and investigate any systems where this code ran.

underscoer

1.16.2

by xwlazssz

Removed from npm

Blocked by Socket

The code exhibits clear signs of malicious behavior, including file encryption and suspicious network activity, consistent with ransomware. It poses a significant security risk.

Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.

pinokiod

6.0.109

by cocktailpeanut

Live on npm

Blocked by Socket

The SweetAlert2 library code is mostly benign and serves as a UI modal dialog tool. However, it contains a suspicious and potentially malicious snippet that targets Russian users on certain domains to play an unsolicited audio prank, disabling pointer events and potentially disrupting user interaction. This behavior is unexpected and should be considered a moderate security risk and potential malware. The rest of the code shows no signs of malicious intent. The provided reports were invalid and unhelpful. Users should be cautious about this version of the library due to the embedded prank behavior.

evil-omo

3.11.5

by d4rchlau

Live on npm

Blocked by Socket

The immediate install-time risk is that npm will run node postinstall.mjs automatically. Because postinstall scripts can execute arbitrary actions (network requests, writing files, installing binaries, adding hooks, spawning shells, exfiltrating data), this is a significant risk that requires inspecting the contents of postinstall.mjs and any referenced platform-specific optional dependencies before trusting the package. There are no obvious non-registry dependency URLs or http:// links in the shown fields, but the presence of a postinstall script plus many optional native-like packages and a CLI makes this package moderate-to-high risk until the postinstall code and optional packages are audited.

@cryptiklemur/lattice

5.13.5

by aequasi

Live on npm

Blocked by Socket

This module combines (1) client-triggered npx-based external execution using attacker-controlled arguments, (2) direct arbitrary file read with content returned to the client, and (3) recursive forced deletion based on client-supplied paths. Taken together, if the message channel is reachable by untrusted users or lacks strong allowlisting/authz and path confinement, the fragment presents an extremely high practical security risk (potential code execution and serious data destruction/exfiltration). Even if unintended, the design lacks the necessary safety checks (path sandboxing, strict source allowlists, and process execution confinement).

354766/opusgamelabs/game-creator/make-game/

85c0d24d9be4375941c9e6074d7f449985d92f2e

Live on socket

Blocked by Socket

The provided source outlines a comprehensive, multi-step game development pipeline with automated scaffolding, asset generation, QA, promo capture, audio, deployment, and monetization. It emphasizes automation and orchestration across subagents but introduces potential security and reliability risks stemming from external tool dependencies, credential handling, and supply-chain variability. The approach is plausible for an advanced automation framework, but requires concrete error handling, strict credential hygiene, validation of external assets, and robust rollback/consistency checks to be production-safe.

react-ecosistema-unp

1.9.1-pre.1

Live on npm

Blocked by Socket

This code is a browser fingerprinting library (collecting canvas, WebGL, audio, font, DOM, and many other signals) to compute a visitorId. It is not exhibiting classic malware behaviors (no remote shells, no credential leaks to arbitrary endpoints, no system command execution). However it is privacy-invasive by design: it builds a persistent identifier from many device/browser signals and performs hidden DOM/audio/canvas measurements. The only network activity visible is an occasional telemetry GET to an openfpcdn.io monitoring path; the fragment does not show exfiltration of collected fingerprint components. If you are evaluating for supply-chain safety: the module is not malware but it poses significant privacy/tracking risk and should be treated accordingly in contexts where fingerprinting is unacceptable.

ailever

0.3.245

Live on pypi

Blocked by Socket

The code exhibits a dangerous remote code execution pattern: it downloads and immediately runs a remote Python payload without integrity checks, sandboxing, or input validation. This creates a severe supply-chain and runtime security risk. Recommended mitigations include removing dynamic downloads, validating payloads with cryptographic hashes or signatures, using safe subprocess invocations with argument lists, and implementing strict input sanitization. If remote functionality must remain, switch to a trusted-internal mechanism (e.g., plugin architecture with signed components, offline verification) and add robust error handling and logging.

spellcheckers

1.4.0

Removed from pypi

Blocked by Socket

The code contains a high-risk unsafe pattern: run_index reads an index file, base64-decodes it and exec()s the result with no validation or restrictions. That permits arbitrary code execution if the .index file can be influenced. This is a serious supply-chain or local-file compromise risk. Other parts show bugs and poor error handling but not direct malicious behavior. Recommend removing exec usage, validating contents, or restricting index file access and avoiding base64-exec patterns.

Live on pypi for 127 days, 1 hour and 47 minutes before removal. Socket users were protected even while the package was live.

elf-stats-storybook-cookiejar-481

999.0.0

by chtipilou

Live on npm

Blocked by Socket

This code performs deliberate, automated data collection and exfiltration. It enumerates /opt, reads file contents, executes reconnaissance commands, and POSTs all collected data to a hard-coded external HTTP endpoint without consent, filtering, or encryption. This is malicious behavior (unauthorized data exfiltration) in the context of a library or dependency and should be treated as high risk. Immediate remediation actions: remove or quarantine the package, audit systems where it ran for egress to the specified host, and rotate any secrets or credentials that may have been exposed.

colab-ssh

0.2.5

Live on pypi

Blocked by Socket

This code enables privileged remote access (root SSH) and automatically exposes and publishes the connection endpoint to an external service. That combination creates a high-risk supply-chain/remote-access vector: it changes system configuration, sets root credentials, runs a third-party binary (ngrok) to tunnel SSH, and exfiltrates the public endpoint. Even though the fragment contains syntax errors and would need fixing to run, the intended behavior is dangerous. Treat this code as potentially malicious or at minimum as extremely risky for use in shared/cloud environments.

@captivateiq/random

1.0.0

by adamdeziri

Live on npm

Blocked by Socket

The code is collecting and sending sensitive system information to an external endpoint, which is indicative of potential data exfiltration and poses a significant security risk.

instant-python

0.18.1

Live on pypi

Blocked by Socket

This templated script contains a high-severity command-injection vulnerability: it interpolates unsanitized user input into a shell command string executed with subprocess.run(..., shell=True). There is no evidence of deliberate malware or exfiltration in the snippet, but the insecure pattern allows arbitrary command execution and therefore poses a serious security risk. Remediation should prioritize removing shell=True by using argument lists or strict input validation/quoting before any use in a shell.

github.com/sourcegraph/sourcegraph

v0.0.0-20210208175517-598793fd2d85

Live on go

Blocked by Socket

This module is a deliberate destructive utility that corrupts all .zip files in a specified directory by truncating each archive to half its size and appending repeated junk data. While it lacks common malware features like networking or data exfiltration, the behavior is strongly indicative of sabotage and would be unacceptable in most software supply-chain contexts due to its potential to break builds, deployments, or artifact integrity.

github.com/weaveworks/weave

v1.5.1-0.20160507134103-bd06553ce093

Live on go

Blocked by Socket

This module is a high-risk runtime packer/dropper: it embeds an encrypted payload, decrypts it using a user-supplied passphrase, writes the result to `bin/do-setup-circleci-secrets`, and immediately executes it. Because there is no integrity/authenticity validation of the decrypted artifact and the executed code is not shown here, the module should be treated as potentially malicious until the decrypted `bin/do-setup-circleci-secrets` content is inspected and validated in a safe environment.

pytdx

1.46

Live on pypi

Blocked by Socket

This code retrieves a DLL from hxxp://example[.]com/tts/Trade.dll and a ZIP file from hxxp://example[.]com/tts/TdxTradeServer-0.1_20170823174759.zip, modifies the DLL with user-provided credentials, and sets up a server environment. The absence of file integrity or signature checks significantly increases the risk of executing malicious code. Embedding user account details in the DLL also raises privacy concerns. Reliance on potentially unsafe external URLs for core functionality further escalates the threat potential.

cl-lite

1.0.1364

by michael_tian

Live on npm

Blocked by Socket

This SQLite database file contains embedded explicit adult content and torrent distribution infrastructure instead of legitimate data. The file includes extensive HTML fragments with pornographic video metadata, download links to torrent files, and suspicious redirect URLs. Key malicious domains identified include rmdown[.]com, redircdn[.]com, 97p[.]org, qpic[.]ws, imgbox[.]com, and various other image hosting services. The content contains hash values for torrent files, BitTorrent magnet links, and obfuscated download URLs using multiple redirect layers to mask the true destinations. This represents a supply chain attack where adult content distribution infrastructure has been embedded within what appears to be a standard database file, potentially exposing users to inappropriate content and malicious download sites when accessed.

pyhtools

1.2.0

Live on pypi

Blocked by Socket

This code implements clear malicious functionality: it harvests Telegram 'tdata' directories, force-terminates Telegram processes, archives the data, and exfiltrates it via SMTP using supplied credentials, then removes artifacts. It should be treated as malware and not used; any occurrence in a package is a high-risk supply chain compromise.

dotflow

0.14.0

Live on pypi

Blocked by Socket

This snippet contains an extremely high-risk, backdoor-like behavior: it spawns an interactive /bin/bash shell via os.system when the execution mode equals TypeExecution.BACKGROUND. The trigger is controlled by runtime parameters and lacks any safety or authorization checks in the shown code. While it also wires user-provided callbacks/context into a workflow engine, the shell execution alone is sufficient to treat this package/module as dangerous and unsuitable for untrusted environments.

ambar-src

9.4.101

by a_awerin

Removed from npm

Blocked by Socket

This file contains a concealed downloader/backdoor: an obfuscated IIFE decodes platform-specific shell commands that fetch and execute remote payloads (URLs embedded in byte arrays). Executing or importing this module will cause the host to run remote commands and possibly install/run binaries. Treat this package as malicious and a critical supply-chain threat — remove and do not run. Investigate systems where this version was installed for executed payloads and persistence.

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

eval-as-module

0.1.1

by jkroso

Live on npm

Blocked by Socket

This fragment implements a high-risk arbitrary code execution gadget: attacker-supplied JavaScript (`js`) is embedded into an `eval()` call inside dynamically generated module source and executed immediately via Node’s internal `_compile` API. While this snippet alone shows no network/file/credential actions, the primitive can directly enable backdoor-like behavior wherever it is invoked. Export corruption (`module.exports = ru`) limits certainty about usage, but materially does not mitigate the dangerous capability.

jasmine-marbers

1.0.0

by yjkgc718edm

Removed from npm

Blocked by Socket

This code implements a data exfiltration malware that automatically collects comprehensive system information and transmits it to a remote server without user consent. Upon execution, it gathers sensitive data including username, home directory, hostname, shell information, CPU details, memory statistics, running processes (with specific checks for browsers and office applications), screen resolution, system locale, and various OS metrics. The collected data is packaged into a JSON payload and sent via an unencrypted TCP socket connection to the hardcoded IP address 8[.]152[.]163[.]60 on port 8058. The code uses obfuscated variable names to hide its intent, employs silent error handling to avoid detection, and executes platform-specific shell commands (wmic, xrandr, system_profiler, tasklist, ps) to probe the system. This behavior is consistent with reconnaissance malware used in supply chain attacks to fingerprint and profile infected systems.

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

elf-stats-tinsel-drum-369

1.0.3

Live on npm

Blocked by Socket

This code is malicious: it collects filesystem data (directory listings and file contents) and attempts to exfiltrate them to a hard-coded external domain using shell commands and curl. Even though the provided snippet contains syntax errors that would prevent successful runtime execution as-is, the intent and pattern are clear and high-risk. Do not run this code; treat it as a data-exfiltration backdoor, remove it, and investigate any systems where it may have executed.

term-from-nat

0.1.2

Live on pypi

Blocked by Socket

This file implements a reverse shell: it connects to a remote host and exposes a local bash shell to that remote peer, forwarding commands from the network to the shell and sending shell output back. pkt_common functions obscure packet handling and may provide additional stealth (encryption/obfuscation). This is high-risk malicious functionality — treat as malware/backdoor unless execution is explicitly authorized and audited. Remove or quarantine and investigate any systems where this code ran.

underscoer

1.16.2

by xwlazssz

Removed from npm

Blocked by Socket

The code exhibits clear signs of malicious behavior, including file encryption and suspicious network activity, consistent with ransomware. It poses a significant security risk.

Live on npm for 42 minutes before removal. Socket users were protected even while the package was live.

pinokiod

6.0.109

by cocktailpeanut

Live on npm

Blocked by Socket

The SweetAlert2 library code is mostly benign and serves as a UI modal dialog tool. However, it contains a suspicious and potentially malicious snippet that targets Russian users on certain domains to play an unsolicited audio prank, disabling pointer events and potentially disrupting user interaction. This behavior is unexpected and should be considered a moderate security risk and potential malware. The rest of the code shows no signs of malicious intent. The provided reports were invalid and unhelpful. Users should be cautious about this version of the library due to the embedded prank behavior.

evil-omo

3.11.5

by d4rchlau

Live on npm

Blocked by Socket

The immediate install-time risk is that npm will run node postinstall.mjs automatically. Because postinstall scripts can execute arbitrary actions (network requests, writing files, installing binaries, adding hooks, spawning shells, exfiltrating data), this is a significant risk that requires inspecting the contents of postinstall.mjs and any referenced platform-specific optional dependencies before trusting the package. There are no obvious non-registry dependency URLs or http:// links in the shown fields, but the presence of a postinstall script plus many optional native-like packages and a CLI makes this package moderate-to-high risk until the postinstall code and optional packages are audited.

@cryptiklemur/lattice

5.13.5

by aequasi

Live on npm

Blocked by Socket

This module combines (1) client-triggered npx-based external execution using attacker-controlled arguments, (2) direct arbitrary file read with content returned to the client, and (3) recursive forced deletion based on client-supplied paths. Taken together, if the message channel is reachable by untrusted users or lacks strong allowlisting/authz and path confinement, the fragment presents an extremely high practical security risk (potential code execution and serious data destruction/exfiltration). Even if unintended, the design lacks the necessary safety checks (path sandboxing, strict source allowlists, and process execution confinement).

354766/opusgamelabs/game-creator/make-game/

85c0d24d9be4375941c9e6074d7f449985d92f2e

Live on socket

Blocked by Socket

The provided source outlines a comprehensive, multi-step game development pipeline with automated scaffolding, asset generation, QA, promo capture, audio, deployment, and monetization. It emphasizes automation and orchestration across subagents but introduces potential security and reliability risks stemming from external tool dependencies, credential handling, and supply-chain variability. The approach is plausible for an advanced automation framework, but requires concrete error handling, strict credential hygiene, validation of external assets, and robust rollback/consistency checks to be production-safe.

react-ecosistema-unp

1.9.1-pre.1

Live on npm

Blocked by Socket

This code is a browser fingerprinting library (collecting canvas, WebGL, audio, font, DOM, and many other signals) to compute a visitorId. It is not exhibiting classic malware behaviors (no remote shells, no credential leaks to arbitrary endpoints, no system command execution). However it is privacy-invasive by design: it builds a persistent identifier from many device/browser signals and performs hidden DOM/audio/canvas measurements. The only network activity visible is an occasional telemetry GET to an openfpcdn.io monitoring path; the fragment does not show exfiltration of collected fingerprint components. If you are evaluating for supply-chain safety: the module is not malware but it poses significant privacy/tracking risk and should be treated accordingly in contexts where fingerprinting is unacceptable.

ailever

0.3.245

Live on pypi

Blocked by Socket

The code exhibits a dangerous remote code execution pattern: it downloads and immediately runs a remote Python payload without integrity checks, sandboxing, or input validation. This creates a severe supply-chain and runtime security risk. Recommended mitigations include removing dynamic downloads, validating payloads with cryptographic hashes or signatures, using safe subprocess invocations with argument lists, and implementing strict input sanitization. If remote functionality must remain, switch to a trusted-internal mechanism (e.g., plugin architecture with signed components, offline verification) and add robust error handling and logging.

spellcheckers

1.4.0

Removed from pypi

Blocked by Socket

The code contains a high-risk unsafe pattern: run_index reads an index file, base64-decodes it and exec()s the result with no validation or restrictions. That permits arbitrary code execution if the .index file can be influenced. This is a serious supply-chain or local-file compromise risk. Other parts show bugs and poor error handling but not direct malicious behavior. Recommend removing exec usage, validating contents, or restricting index file access and avoiding base64-exec patterns.

Live on pypi for 127 days, 1 hour and 47 minutes before removal. Socket users were protected even while the package was live.

elf-stats-storybook-cookiejar-481

999.0.0

by chtipilou

Live on npm

Blocked by Socket

This code performs deliberate, automated data collection and exfiltration. It enumerates /opt, reads file contents, executes reconnaissance commands, and POSTs all collected data to a hard-coded external HTTP endpoint without consent, filtering, or encryption. This is malicious behavior (unauthorized data exfiltration) in the context of a library or dependency and should be treated as high risk. Immediate remediation actions: remove or quarantine the package, audit systems where it ran for egress to the specified host, and rotate any secrets or credentials that may have been exposed.

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

Unstable ownership

Git dependency

GitHub dependency

AI-detected potential malware

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

55 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.

Book a Demo

Questions? Call us at (844) SOCKET-0

Read the blog

Protect every package in your stack

Secure your team's dependencies across your stack with Socket. Stop supply chain attacks before they reach production.

View all integrations

RUST

crates.io

Rust Package Manager

PHP

Packagist

PHP Package Manager

GOLANG

Go Modules

Go Dependency Management

JAVA

Maven Central

JAVASCRIPT

npm

Node Package Manager

.NET

NuGet

.NET Package Manager

PYTHON

PyPI

Python Package Index

RUBY

RubyGems.org

Ruby Package Manager

SWIFT

Swift

AI

Hugging Face Hub

AI Model Hub

CI

GitHub Actions

CI/CD Workflows

EXTENSIONS

Chrome Web Store

Chrome Browser Extensions

EXTENSIONS

Open VSX

VS Code Extensions

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 App
Book a Demo

Questions? Call us at (844) SOCKET-0

The latest from the Socket team

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

View all articles