Launch Week Day 5: Introducing Reachability for PHP.Learn More
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

cronapp-lib-js

4.0.3

by cronapp

Live on npm

Blocked by Socket

High risk: the code demonstrates an obfuscated dynamic loader capable of reconstructing and executing arbitrary code at runtime across both Node and browser environments. This is a classic indicator of a potential backdoor or supply-chain dropper. Such patterns should not be trusted in open-source dependencies without rigorous provenance verification, deobfuscation, and signing. Removal or replacement with vetted components is advised.

tx-engine

0.3.4

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.

@dasidev/dasi-ui

1.1.1-beta.35

by taufikamf

Live on npm

Blocked by Socket

Critical supply-chain risk. This module includes an embedded `data:text/javascript;base64,...` JavaScript payload within a bundle otherwise consistent with a PDF.js-style annotation editor. Even though the execution/activation call site is not shown in the excerpt, shipping a hardcoded executable data-URI is highly indicative of staged malicious behavior. Combined with existing capabilities for network fetches, clipboard handling, and DOM/SVG manipulation, the potential impact is severe if the payload is activated. Treat the dependency as compromised until the full source is inspected for how the embedded payload is used (e.g., `Pet` references and execution/injection sinks).

yujin-tools

0.2.86

Live on pypi

Blocked by Socket

The script misleadingly claims to add the current user to a system group by referring to the ${USER} environment variable, yet it actually adds a hardcoded username ('snorri') to the 'users' group. It then prompts the user for confirmation to change their primary group to 'users' using sudo usermod commands. This behavior, which deviates from the claimed action, may indicate an attempt to silently establish a backdoor with elevated privileges and facilitate unauthorized access. No domains, IP addresses, or external URLs are involved.

sotka-ui

0.0.12

by trmntsv

Removed from npm

Blocked by Socket

The code shows signs of potential obfuscation and unclear behavior, warranting a higher risk score. Further investigation and deobfuscation are recommended to ensure the code's integrity and security.

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

doughnuts

3.1.1

Live on pypi

Blocked by Socket

The code implements a bind-style interactive shell forwarding local terminal input/output to a remote TCP peer. It lacks authentication and binds to 0.0.0.0, so any reachable network client can connect and control the terminal — effectively a remote backdoor. The fragment contains syntax/corruption errors, but the intended functionality and high-risk nature are clear. Treat this artifact as high security risk; avoid running it in production or including it in packages.

q-uestionable-ai

0.10.5

Live on pypi

Blocked by Socket

This module is a deliberate payload generator for agent/LLM prompt-injection and callback-driven attacks. It constructs (and optionally encodes) attacker-controlled URLs and embeds them into explicit instructions that direct downstream systems to exfiltrate conversation/context, perform SSRF against internal/cloud metadata and localhost services, abuse tools for local file/config access, override instructions, and persist attacker directives for future sessions. While the code itself does not perform network/file operations, its outputs are highly action-oriented toward sensitive exploitation goals, making it unsafe to use in a supply-chain context without strong isolation and threat-model justification.

jlab

1.1.57

Live on pypi

Blocked by Socket

This snippet performs unsafe remote deserialization: it downloads a .bin file from an external GitHub repository and directly passes the bytes to pickle.loads. That pattern enables remote arbitrary code execution if the serialized payload is malicious or the repository is compromised. The code is high-risk for supply-chain/malicious payloads and should not be used in production without strong integrity/authentication controls or replacing pickle with safer formats. Also fix the syntax error and add proper error handling.

@suspensive/react-query

2.16.1

by manudeli

Removed from npm

Blocked by Socket

The script imports and executes a module, which could potentially contain harmful code. The safety of this script cannot be determined without inspecting the contents of 'postinstall.cjs'.

Live on npm for 16 days, 14 hours and 55 minutes before removal. Socket users were protected even while the package was live.

devsense.phptools-vscode

1.37.13657

Live on openvsx

Blocked by Socket

The improved assessment identifies a high-risk pattern in the Node path of the XMLHttpRequest polyfill: it dynamically writes a script to disk, spawns a process to execute it, and then cleans up. This pattern enables hidden code execution or data exfiltration under certain inputs and represents a credible backdoor/supply-chain risk within a public package. While other libraries in the bundle are common, the dynamic execution surface warrants strict caution, sandboxing, or removal of such behavior in production deployments. Recommend removing dynamic code generation paths, hardening the bundle, and applying strict network, filesystem, and process-execution controls in OpenVSX extension environments.

@guanghechen/kit-pm

0.2.3

by lemonclown

Live on npm

Blocked by Socket

Overall, Report 2 is the most cohesive high-signal finding among the three: the code demonstrates heavy obfuscation, runtime string reconstruction, dynamic module loading, and extensive Node.js IO access, including potential shell and network activity. This combination is characteristic of backdoors or covert data-exfiltration payloads in a supply-chain context. Recommend treating as malware-like until a full deobfuscation and behavioral sandboxing confirms benign instrumentation. Do not trust or deploy this code in production until thoroughly audited.

ailever

0.3.234

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.

@dmsdc-ai/aigentry-brain

0.1.1

by duckyoung_kim

Live on npm

Blocked by Socket

The module primarily acts as an installation utility that creates a persistent shell hook to log shell activity and sets up a periodic synchronization task. The most concerning aspect is the shell hook's command-logging facility, which constitutes privacy-sensitive data collection with potential for data leakage or misuse. While not inherently malicious in all contexts, the behavior warrants explicit user consent, clear disclosures, and robust controls (disablement, data minimization, and secure storage). The presence of syntax irregularities further undermines confidence in safety and should be corrected. Overall, moderate-to-high security risk due to privacy-invasive data capture and persistence, with notable supply-chain risk if included without consent or proper governance.

abstract-database

0.0.2.70

Live on pypi

Blocked by Socket

The code in the flagged file explicitly reads a local file from a fixed system path (/home/joben/Desktop/testsol/abstract_it.py) and transmits its contents via an HTTP request to a Discord webhook. The target URL is hardcoded as https://discordapp[.]com/api/webhooks/1278595755812327424/3xvzS30Bx8bOhooNJeY9gnYj2KjFb2-ZfV2rHpBdkS71tuibNeu56_mRFE38MrmQRa_j, with the embedded token included in the URL. This behavior is characteristic of malware designed for data exfiltration, as it automatically sends potentially sensitive file content to an external service without user consent.

@ysjkof/jip

1.1.4

by ysjkof

Live on npm

Blocked by Socket

The code implements a login function that sends user credentials (username and password) in plaintext over unencrypted HTTP to a hardcoded external server at jinsul[.]co[.]kr/erp/login/alogin[.]php. This behavior constitutes credential theft as sensitive authentication data is transmitted without encryption to an external domain, exposing users to credential interception and potential account compromise. The function extracts and returns session cookies from the server response. This represents malicious data exfiltration in a supply chain context, as user credentials are sent to an untrusted third-party domain without user consent or awareness.

jngularjs

1.1.2

by nepz

Live on npm

Blocked by Socket

This code is malicious. It performs unauthorized data exfiltration of system network interface IP addresses and hostname to an attacker-controlled Discord webhook. This behavior constitutes malware and poses a high security risk. The code is clear and not obfuscated, but the embedded webhook and silent transmission of system information without user consent make it dangerous and privacy-invasive.

ailever

0.3.217

Live on pypi

Blocked by Socket

The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).

dolibabyphp

0.2.3

Live on pypi

Blocked by Socket

This module is a deliberate offensive tool designed to achieve remote code execution against Dolibarr instances by creating content pages containing arbitrary PHP, triggering their execution, collecting output, and then attempting destructive cleanup via rm on the remote host. Inclusion of this code in a dependency is a critical supply-chain risk. Treat as malicious/unwanted in almost all production contexts unless explicitly used for authorized security testing; remove, investigate, and rotate any potentially compromised credentials/endpoints if found.

routerxpl

0.9.0

Live on pypi

Blocked by Socket

This fragment is a purpose-built offensive module for credential disclosure against a specific vulnerable router. It performs unauthenticated requests to retrieve configuration from /getcfg.php, extracts credential fields with regex, and prints usernames/passwords (and potentially partial config) to stdout. While the snippet does not show obfuscation or persistence mechanisms, it clearly provides high-risk capability for credential theft if misused.

@salesforce/nimbus-plugin-lds

1.429.0

by lwc-admin

Live on npm

Blocked by Socket

Treat this module as high risk. Although it implements a plausible SQLite store plugin (migrations, batched writes, listener notifications), it also embeds a large Base64 payload and reconstructs executable JavaScript that is executed inside Worker contexts with eval enabled in Node. This is a common pattern for malicious loaders/obfuscated payload execution in supply-chain attacks. In parallel, the database layer exposes an arbitrary SQL sink (caller-provided sql) and builds SQL statements by interpolating identifiers/clauses (table/columns/keyColumn/segment) which can become SQL injection if any of those fields are influenced by untrusted inputs. Strongly review and/or isolate the worker/payload execution parts before trusting the package in production.

imagecomponents.win32.imaging

3.5.0.5

by Image Components

Live on nuget

Blocked by Socket

This assembly is a highly obfuscated runtime loader/packer that decrypts embedded resources, verifies integrity (RSA), allocates/writes executable memory and uses P/Invoke/Marshal/Reflection to map and execute payloads (including writing into other processes). Those behaviors match common malware techniques (process injection, reflective loading, runtime patching) and present high risk. It may be a legitimate commercial protector/packer, but from a supply-chain perspective the module is dangerous because it performs in-memory code execution and process memory writes. Treat as potentially malicious and review the encrypted resource and runtime behavior before trusting or distributing.

cronapp-lib-js

4.0.3

by cronapp

Live on npm

Blocked by Socket

High risk: the code demonstrates an obfuscated dynamic loader capable of reconstructing and executing arbitrary code at runtime across both Node and browser environments. This is a classic indicator of a potential backdoor or supply-chain dropper. Such patterns should not be trusted in open-source dependencies without rigorous provenance verification, deobfuscation, and signing. Removal or replacement with vetted components is advised.

tx-engine

0.3.4

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.

@dasidev/dasi-ui

1.1.1-beta.35

by taufikamf

Live on npm

Blocked by Socket

Critical supply-chain risk. This module includes an embedded `data:text/javascript;base64,...` JavaScript payload within a bundle otherwise consistent with a PDF.js-style annotation editor. Even though the execution/activation call site is not shown in the excerpt, shipping a hardcoded executable data-URI is highly indicative of staged malicious behavior. Combined with existing capabilities for network fetches, clipboard handling, and DOM/SVG manipulation, the potential impact is severe if the payload is activated. Treat the dependency as compromised until the full source is inspected for how the embedded payload is used (e.g., `Pet` references and execution/injection sinks).

yujin-tools

0.2.86

Live on pypi

Blocked by Socket

The script misleadingly claims to add the current user to a system group by referring to the ${USER} environment variable, yet it actually adds a hardcoded username ('snorri') to the 'users' group. It then prompts the user for confirmation to change their primary group to 'users' using sudo usermod commands. This behavior, which deviates from the claimed action, may indicate an attempt to silently establish a backdoor with elevated privileges and facilitate unauthorized access. No domains, IP addresses, or external URLs are involved.

sotka-ui

0.0.12

by trmntsv

Removed from npm

Blocked by Socket

The code shows signs of potential obfuscation and unclear behavior, warranting a higher risk score. Further investigation and deobfuscation are recommended to ensure the code's integrity and security.

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

doughnuts

3.1.1

Live on pypi

Blocked by Socket

The code implements a bind-style interactive shell forwarding local terminal input/output to a remote TCP peer. It lacks authentication and binds to 0.0.0.0, so any reachable network client can connect and control the terminal — effectively a remote backdoor. The fragment contains syntax/corruption errors, but the intended functionality and high-risk nature are clear. Treat this artifact as high security risk; avoid running it in production or including it in packages.

q-uestionable-ai

0.10.5

Live on pypi

Blocked by Socket

This module is a deliberate payload generator for agent/LLM prompt-injection and callback-driven attacks. It constructs (and optionally encodes) attacker-controlled URLs and embeds them into explicit instructions that direct downstream systems to exfiltrate conversation/context, perform SSRF against internal/cloud metadata and localhost services, abuse tools for local file/config access, override instructions, and persist attacker directives for future sessions. While the code itself does not perform network/file operations, its outputs are highly action-oriented toward sensitive exploitation goals, making it unsafe to use in a supply-chain context without strong isolation and threat-model justification.

jlab

1.1.57

Live on pypi

Blocked by Socket

This snippet performs unsafe remote deserialization: it downloads a .bin file from an external GitHub repository and directly passes the bytes to pickle.loads. That pattern enables remote arbitrary code execution if the serialized payload is malicious or the repository is compromised. The code is high-risk for supply-chain/malicious payloads and should not be used in production without strong integrity/authentication controls or replacing pickle with safer formats. Also fix the syntax error and add proper error handling.

@suspensive/react-query

2.16.1

by manudeli

Removed from npm

Blocked by Socket

The script imports and executes a module, which could potentially contain harmful code. The safety of this script cannot be determined without inspecting the contents of 'postinstall.cjs'.

Live on npm for 16 days, 14 hours and 55 minutes before removal. Socket users were protected even while the package was live.

devsense.phptools-vscode

1.37.13657

Live on openvsx

Blocked by Socket

The improved assessment identifies a high-risk pattern in the Node path of the XMLHttpRequest polyfill: it dynamically writes a script to disk, spawns a process to execute it, and then cleans up. This pattern enables hidden code execution or data exfiltration under certain inputs and represents a credible backdoor/supply-chain risk within a public package. While other libraries in the bundle are common, the dynamic execution surface warrants strict caution, sandboxing, or removal of such behavior in production deployments. Recommend removing dynamic code generation paths, hardening the bundle, and applying strict network, filesystem, and process-execution controls in OpenVSX extension environments.

@guanghechen/kit-pm

0.2.3

by lemonclown

Live on npm

Blocked by Socket

Overall, Report 2 is the most cohesive high-signal finding among the three: the code demonstrates heavy obfuscation, runtime string reconstruction, dynamic module loading, and extensive Node.js IO access, including potential shell and network activity. This combination is characteristic of backdoors or covert data-exfiltration payloads in a supply-chain context. Recommend treating as malware-like until a full deobfuscation and behavioral sandboxing confirms benign instrumentation. Do not trust or deploy this code in production until thoroughly audited.

ailever

0.3.234

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.

@dmsdc-ai/aigentry-brain

0.1.1

by duckyoung_kim

Live on npm

Blocked by Socket

The module primarily acts as an installation utility that creates a persistent shell hook to log shell activity and sets up a periodic synchronization task. The most concerning aspect is the shell hook's command-logging facility, which constitutes privacy-sensitive data collection with potential for data leakage or misuse. While not inherently malicious in all contexts, the behavior warrants explicit user consent, clear disclosures, and robust controls (disablement, data minimization, and secure storage). The presence of syntax irregularities further undermines confidence in safety and should be corrected. Overall, moderate-to-high security risk due to privacy-invasive data capture and persistence, with notable supply-chain risk if included without consent or proper governance.

abstract-database

0.0.2.70

Live on pypi

Blocked by Socket

The code in the flagged file explicitly reads a local file from a fixed system path (/home/joben/Desktop/testsol/abstract_it.py) and transmits its contents via an HTTP request to a Discord webhook. The target URL is hardcoded as https://discordapp[.]com/api/webhooks/1278595755812327424/3xvzS30Bx8bOhooNJeY9gnYj2KjFb2-ZfV2rHpBdkS71tuibNeu56_mRFE38MrmQRa_j, with the embedded token included in the URL. This behavior is characteristic of malware designed for data exfiltration, as it automatically sends potentially sensitive file content to an external service without user consent.

@ysjkof/jip

1.1.4

by ysjkof

Live on npm

Blocked by Socket

The code implements a login function that sends user credentials (username and password) in plaintext over unencrypted HTTP to a hardcoded external server at jinsul[.]co[.]kr/erp/login/alogin[.]php. This behavior constitutes credential theft as sensitive authentication data is transmitted without encryption to an external domain, exposing users to credential interception and potential account compromise. The function extracts and returns session cookies from the server response. This represents malicious data exfiltration in a supply chain context, as user credentials are sent to an untrusted third-party domain without user consent or awareness.

jngularjs

1.1.2

by nepz

Live on npm

Blocked by Socket

This code is malicious. It performs unauthorized data exfiltration of system network interface IP addresses and hostname to an attacker-controlled Discord webhook. This behavior constitutes malware and poses a high security risk. The code is clear and not obfuscated, but the embedded webhook and silent transmission of system information without user consent make it dangerous and privacy-invasive.

ailever

0.3.217

Live on pypi

Blocked by Socket

The fragment contains a high-risk pattern: it downloads a Python script from a remote source and immediately executes it without integrity verification or sandboxing. This creates a critical supply-chain and remote-code-execution risk, as the remote payload could perform any action on the host, including data exfiltration, credential access, or system compromise. Even though defaults use placeholders, the mechanism itself is unsafe and should be disallowed or hardened (e.g., verify hashes, use signed modules, avoid executing remote code).

dolibabyphp

0.2.3

Live on pypi

Blocked by Socket

This module is a deliberate offensive tool designed to achieve remote code execution against Dolibarr instances by creating content pages containing arbitrary PHP, triggering their execution, collecting output, and then attempting destructive cleanup via rm on the remote host. Inclusion of this code in a dependency is a critical supply-chain risk. Treat as malicious/unwanted in almost all production contexts unless explicitly used for authorized security testing; remove, investigate, and rotate any potentially compromised credentials/endpoints if found.

routerxpl

0.9.0

Live on pypi

Blocked by Socket

This fragment is a purpose-built offensive module for credential disclosure against a specific vulnerable router. It performs unauthenticated requests to retrieve configuration from /getcfg.php, extracts credential fields with regex, and prints usernames/passwords (and potentially partial config) to stdout. While the snippet does not show obfuscation or persistence mechanisms, it clearly provides high-risk capability for credential theft if misused.

@salesforce/nimbus-plugin-lds

1.429.0

by lwc-admin

Live on npm

Blocked by Socket

Treat this module as high risk. Although it implements a plausible SQLite store plugin (migrations, batched writes, listener notifications), it also embeds a large Base64 payload and reconstructs executable JavaScript that is executed inside Worker contexts with eval enabled in Node. This is a common pattern for malicious loaders/obfuscated payload execution in supply-chain attacks. In parallel, the database layer exposes an arbitrary SQL sink (caller-provided sql) and builds SQL statements by interpolating identifiers/clauses (table/columns/keyColumn/segment) which can become SQL injection if any of those fields are influenced by untrusted inputs. Strongly review and/or isolate the worker/payload execution parts before trusting the package in production.

imagecomponents.win32.imaging

3.5.0.5

by Image Components

Live on nuget

Blocked by Socket

This assembly is a highly obfuscated runtime loader/packer that decrypts embedded resources, verifies integrity (RSA), allocates/writes executable memory and uses P/Invoke/Marshal/Reflection to map and execute payloads (including writing into other processes). Those behaviors match common malware techniques (process injection, reflective loading, runtime patching) and present high risk. It may be a legitimate commercial protector/packer, but from a supply-chain perspective the module is dangerous because it performs in-memory code execution and process memory writes. Treat as potentially malicious and review the encrypted resource and runtime behavior before trusting or distributing.

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

HTTP dependency

Obfuscated code

Suspicious Stars on GitHub

Telemetry

Protestware or potentially unwanted behavior

Unstable ownership

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