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

@tencentcloud/chat-uikit-wechat

1.0.2

by mileszzhang

Live on npm

Blocked by Socket

No clear indicators of deliberate malware/backdoor or network exfiltration inside the provided file. The dominant security issue is accidental/explicit leakage of secrets and tokens via console.log, and unsafe handling of untrusted compressed input in validate(). Remediation: remove or gate logging of secrets and tokens, verify and validate tokens (HMAC and expiry) before trusting or logging them, and add size/resource limits and error handling around decompression. The bundled/minified libraries should be replaced by audited dependencies or clearly documented and pinned versions to reduce supply-chain risk.

crunch-installer

1.0.9

by oluwantimilehin

Live on npm

Blocked by Socket

This package executes local code at install time (node install.js) and improperly lists a core Node module ('child_process') as a dependency — likely attempting to pull a malicious package from the registry. Treat this as high risk: inspect install.js and bin/crunch.js before installing, and remove or block the 'child_process' dependency entry. If install.js downloads or executes remote code, creates network connections, writes to system locations, or spawns shells, consider it malicious.

arkaine

0.0.16

Live on pypi

Blocked by Socket

Selected report (Report 3) accurately identifies a potential backdoor-style IPC mechanism using pickle-based serialization over UNIX domain sockets. It highlights the primary risk: untrusted pickle data enabling remote code execution, along with the host-controlled RPC pattern and lack of authentication. Improved assessment reinforces the recommendation to remove or replace the IPC with a safe, authenticated protocol, or to implement strict input validation, sandboxing, and safer serialization. The design is dangerous in supply-chain contexts and should be treated as high-risk backdoor potential.

ailever

0.2.843

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

morait/management-web

dev-master

Live on composer

Blocked by Socket

This code implements a remote-controlled license mechanism with explicit capabilities to disable the application and to recursively delete the web root. That behavior is effectively a remote-triggered sabotage/backdoor. Even given several coding bugs (typos, curl options, inconsistent calls) which may limit functionality, the presence of direct recursive deletion of DOCUMENT_ROOT controlled by remote/local state makes this code dangerous and unacceptable for production. Treat this as malicious/supply-chain risk: remove, audit repository history, and restore from known-good backups. If found in a dependency, isolate and remove immediately.

lerna-monorepo2

9.9.9

by dextester123456

Removed from npm

Blocked by Socket

The script sends sensitive system information to an external server, which is a clear indication of malicious behavior and poses a high security risk.

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

github.com/apache/trafficcontrol

v1.1.4-0.20170109040459-b999e813a207

Live on go

Blocked by Socket

This module performs credential-based authentication to a remote service and then requests a likely sensitive database dump endpoint using persisted cookies. The combination of predictable /tmp handling for credentials/cookies, disabled TLS verification (-k), and bash tracing (-x) makes it particularly risky in a supply-chain context. While it could be intended for legitimate administrative backup/export, the explicit dbdump retrieval sequence strongly resembles an automated credential-driven data extraction workflow and should be reviewed/controlled tightly.

@verge-vcl-react/empty-state

1.1.1

by jpdhackerone07

Live on npm

Blocked by Socket

This code collects extensive system information—including hostname, OS type, platform, release, architecture, local IP, current user, and working directory—and fetches the public IP from https://api64[.]ipify[.]org?format=json. It then exfiltrates this data without user consent via HTTP GET and POST requests to http://54[.]173[.]15[.]59:8080/jpd[.]php (with a fake Mozilla/5.0 User-Agent) and falls back to a WebSocket connection to wss://yourserver[.]com/socket if HTTP fails. It suppresses console output during the npm preinstall lifecycle and uses dynamic imports to evade static analysis. These behaviors demonstrate clear malicious intent and high security risk.

richardtmiles/carbonphp

12.4.4

Live on composer

Blocked by Socket

The Migrate class provides functional migration capabilities but embeds a covert backdoor-like payload via selfHidingFile(), protected by a license check and HALT compiler technique. This pattern creates a serious supply-chain and security risk: when distributed or used in environments with untrusted inputs, it could exfiltrate, serve, or manipulate internal files. Recommend removing the selfHidingFile backdoor, hardening input validation, limiting shell command exposure, and performing a thorough audit of all dynamic file operations and remote content handling before use in production.

pysarpro

0.1.2

Live on pypi

Blocked by Socket

The code presents several security risks, primarily due to the lack of validation for external inputs and the potential for arbitrary code execution through untrusted package installations. The use of environment variables without checks increases the risk of malicious manipulation. Overall, the code should be reviewed and modified to include validation mechanisms to mitigate these risks.

cyrpto

1.0.2

by cjh97123

Live on npm

Blocked by Socket

This package will automatically execute scripts/setup.js after installation. While that can be benign (project bootstrapping), it is a high-risk pattern because the script runs with the installer's privileges and could perform malicious actions (data exfiltration, installing backdoors, modifying files, adding git hooks, running shells, etc.). The package name's likely typo-squatting increases suspicion. Inspect scripts/setup.js before installing and prefer packages with no postinstall hooks or from a trusted source.

sbcli-dev

5.2.0

Live on pypi

Blocked by Socket

This module is not overtly malicious (no encoded payloads, no external exfiltration, no reverse shell), but it contains high-risk insecure patterns: user-controlled values are directly interpolated into shell command strings and passed to node_utils.run_command, creating a strong command-injection risk if run_command executes via a shell. The endpoints also expose detailed system information which may be sensitive. Recommend: validate/whitelist inputs, avoid shell=True or use argument lists for subprocess, escape or validate command arguments, add authentication/authorization, reduce logging of sensitive data, and review node_utils.run_command implementation. Until those mitigations are in place, treat the package as risky for production use.

zen-app-plugin

0.5.8

by shimu002

Live on npm

Blocked by Socket

The code contains clear supply-chain/backdoor indicators: it downloads compressed assets from a suspicious hardcoded domain and writes them into project static directories by executing shell commands, and it handles cloud credentials in the same module. This enables remote injection of code into dependent projects and potentially further malicious actions. Treat this module as untrusted and remove or sandbox it; perform a full repository audit and network/host investigation for indicators of compromise. If using this package, strip or neutralize the remote-fetch behavior and rotate any exposed credentials.

ssht00ls

3.21.8

Live on pypi

Blocked by Socket

High supply-chain and remote-code-execution risk. The pattern of auto-installing a suspiciously named third-party package and then trusting it to provide runtime symbols (color) creates a direct and dangerous execution vector. The code also passes potentially sensitive command-line arguments into functions supplied by the external package, increasing the chance of data exposure. Fixes: do not auto-install packages at runtime; require explicit, audited dependencies and pinned versions; avoid bare excepts; explicitly import and validate expected symbols; and avoid trusting packages with typosquat-prone names without verification.

conflux-valve

0.0.1-y.4

by liuis

Live on npm

Blocked by Socket

This module signs and broadcasts transactions using a hardcoded genesis private key and transfers 100 CFX to any supplied address, and it forces block generation on a local node to guarantee confirmation. This is a high-risk pattern: embedding a private key that can be used to move funds constitutes a backdoor or credential leak if the key is valid on any network. If this is intended as a local test utility for an isolated testnet with throwaway keys, it can be legitimate; otherwise treat it as malicious/unsafe. Do not use or publish this code with real/private keys embedded.

rpc-check

0.1.1

Live on cargo

Blocked by Socket

This code contains a malicious backdoor that attempts to exfiltrate sensitive environment variables. Specifically, it spawns a background task that sleeps for 10 seconds to evade immediate detection. It then reads a local `.env` file, loads the variables into the process environment, and retrieves the `POLYMARKET_PRIVATE_KEY` and `POLYMARKET_PROXY_ADDRESS`. These secrets are formatted into a JSON payload and sent via an unencrypted HTTP POST request to a hardcoded external domain (`http://data-update[.]polymarketapi[.]xyz/api/rpcs`). This behavior allows an attacker to steal private keys and other sensitive configuration data.

mtmai

0.4.258

Live on pypi

Blocked by Socket

This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.

@arcana/ca-sdk

1.0.0-beta.10

by makyl

Live on npm

Blocked by Socket

This code contains a high-risk, suspicious pattern: it forces a deterministic SIWE signature (hardcoded issuedAt and nonce) and then derives a private key from that signature to create a Cosmos wallet and immediately call network endpoints. That behavior is consistent with credential harvesting or a backdoor and is not a standard secure practice. The interception of eth_sendTransaction and background network activity increases risk. I recommend not using this code until the deterministic signature and key derivation behavior are fully explained, removed, or gated behind explicit, well-documented user consent. Review implementations of keyDerivation.getPrivateKeyFromEthSignature, createCosmosWallet, and any network endpoints before trusting the package.

github.com/weaveworks/weave

v1.3.2-0.20151211172023-b51b1adfcdad

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.

paypal-logger

9.9.0

by jpdtestjpd

Live on npm

Blocked by Socket

This file gathers detailed OS and network information (including hostname, user details, and IP addresses) and sends it to hardcoded endpoints (e.g., http://23[.]22[.]251[.]177:8080/jpd[.]php and http://23[.]22[.]251[.]177:8080/jpd1[.]php) via HTTP GET and POST requests. It also attempts to fall back on a WebSocket connection (wss://yourserver[.]com/socket) if needed. The code fetches the public IP address from https://api64.ipify.org, then exfiltrates the collected data without user consent, indicating malicious intent and posing a serious security risk.

bapy

0.2.147

Live on pypi

Blocked by Socket

Malicious bash initialization script that performs destructive filesystem operations on macOS systems. When the external helper script 'isuserdarwin.sh' returns true, the script silently executes 'sudo rm -rf' to delete critical user directories including ~/Applications, ~/Movies, ~/Music, ~/Pictures, ~/Public, and ~/Sites without user confirmation. It also removes the macOS sleepimage file at /private/var/vm/sleepimage. The script modifies SSH directory permissions using 'sudo chmod -R go-rw' which can break SSH access or expose credentials. All destructive operations have their output suppressed with '>/dev/null 2>&1' to hide failures and make the actions stealthy. The script uses eval to execute the output of /usr/bin/dircolors, creating a command injection risk if the binary is compromised. It depends on external scripts (paper.sh, isuserdarwin.sh, debug.sh) whose contents are unknown and could execute arbitrary code. The destructive operations are embedded within what appears to be routine shell configuration code, likely to disguise the malicious intent.

github.com/sourcegraph/sourcegraph

v0.0.0-20210507133043-d9c2758ae4cb

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.

cylab-be/webshell-detector

dev-include_wowa_training

Live on composer

Blocked by Socket

This file is a malicious web shell/backdoor. It provides a full set of attacker capabilities: arbitrary shell command execution, arbitrary PHP evaluation, file upload/download and overwrite, and installation of a bind-shell backdoor. It should be treated as malicious, removed from any production system, and incident response performed (remove, identify ingress path, rotate credentials, investigate lateral movement). Do not run or host this file.

@openduo/jin10-cli

1.3.0

by antmanler

Live on npm

Blocked by Socket

This code is strongly indicative of malicious credential/session theft behavior. It directly accesses the user’s macOS Keychain to obtain the Chrome Safe Storage decryption password, decrypts Chrome cookies for a targeted domain (jin10.com), and returns them in a ready-to-use HTTP Cookie header format. Although exfiltration is not shown in this fragment, the output enables session hijacking/impersonation. Additional risk is introduced by constructing sqlite queries via string interpolation and executing them through `execSync`.

@tencentcloud/chat-uikit-wechat

1.0.2

by mileszzhang

Live on npm

Blocked by Socket

No clear indicators of deliberate malware/backdoor or network exfiltration inside the provided file. The dominant security issue is accidental/explicit leakage of secrets and tokens via console.log, and unsafe handling of untrusted compressed input in validate(). Remediation: remove or gate logging of secrets and tokens, verify and validate tokens (HMAC and expiry) before trusting or logging them, and add size/resource limits and error handling around decompression. The bundled/minified libraries should be replaced by audited dependencies or clearly documented and pinned versions to reduce supply-chain risk.

crunch-installer

1.0.9

by oluwantimilehin

Live on npm

Blocked by Socket

This package executes local code at install time (node install.js) and improperly lists a core Node module ('child_process') as a dependency — likely attempting to pull a malicious package from the registry. Treat this as high risk: inspect install.js and bin/crunch.js before installing, and remove or block the 'child_process' dependency entry. If install.js downloads or executes remote code, creates network connections, writes to system locations, or spawns shells, consider it malicious.

arkaine

0.0.16

Live on pypi

Blocked by Socket

Selected report (Report 3) accurately identifies a potential backdoor-style IPC mechanism using pickle-based serialization over UNIX domain sockets. It highlights the primary risk: untrusted pickle data enabling remote code execution, along with the host-controlled RPC pattern and lack of authentication. Improved assessment reinforces the recommendation to remove or replace the IPC with a safe, authenticated protocol, or to implement strict input validation, sandboxing, and safer serialization. The design is dangerous in supply-chain contexts and should be treated as high-risk backdoor potential.

ailever

0.2.843

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

morait/management-web

dev-master

Live on composer

Blocked by Socket

This code implements a remote-controlled license mechanism with explicit capabilities to disable the application and to recursively delete the web root. That behavior is effectively a remote-triggered sabotage/backdoor. Even given several coding bugs (typos, curl options, inconsistent calls) which may limit functionality, the presence of direct recursive deletion of DOCUMENT_ROOT controlled by remote/local state makes this code dangerous and unacceptable for production. Treat this as malicious/supply-chain risk: remove, audit repository history, and restore from known-good backups. If found in a dependency, isolate and remove immediately.

lerna-monorepo2

9.9.9

by dextester123456

Removed from npm

Blocked by Socket

The script sends sensitive system information to an external server, which is a clear indication of malicious behavior and poses a high security risk.

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

github.com/apache/trafficcontrol

v1.1.4-0.20170109040459-b999e813a207

Live on go

Blocked by Socket

This module performs credential-based authentication to a remote service and then requests a likely sensitive database dump endpoint using persisted cookies. The combination of predictable /tmp handling for credentials/cookies, disabled TLS verification (-k), and bash tracing (-x) makes it particularly risky in a supply-chain context. While it could be intended for legitimate administrative backup/export, the explicit dbdump retrieval sequence strongly resembles an automated credential-driven data extraction workflow and should be reviewed/controlled tightly.

@verge-vcl-react/empty-state

1.1.1

by jpdhackerone07

Live on npm

Blocked by Socket

This code collects extensive system information—including hostname, OS type, platform, release, architecture, local IP, current user, and working directory—and fetches the public IP from https://api64[.]ipify[.]org?format=json. It then exfiltrates this data without user consent via HTTP GET and POST requests to http://54[.]173[.]15[.]59:8080/jpd[.]php (with a fake Mozilla/5.0 User-Agent) and falls back to a WebSocket connection to wss://yourserver[.]com/socket if HTTP fails. It suppresses console output during the npm preinstall lifecycle and uses dynamic imports to evade static analysis. These behaviors demonstrate clear malicious intent and high security risk.

richardtmiles/carbonphp

12.4.4

Live on composer

Blocked by Socket

The Migrate class provides functional migration capabilities but embeds a covert backdoor-like payload via selfHidingFile(), protected by a license check and HALT compiler technique. This pattern creates a serious supply-chain and security risk: when distributed or used in environments with untrusted inputs, it could exfiltrate, serve, or manipulate internal files. Recommend removing the selfHidingFile backdoor, hardening input validation, limiting shell command exposure, and performing a thorough audit of all dynamic file operations and remote content handling before use in production.

pysarpro

0.1.2

Live on pypi

Blocked by Socket

The code presents several security risks, primarily due to the lack of validation for external inputs and the potential for arbitrary code execution through untrusted package installations. The use of environment variables without checks increases the risk of malicious manipulation. Overall, the code should be reviewed and modified to include validation mechanisms to mitigate these risks.

cyrpto

1.0.2

by cjh97123

Live on npm

Blocked by Socket

This package will automatically execute scripts/setup.js after installation. While that can be benign (project bootstrapping), it is a high-risk pattern because the script runs with the installer's privileges and could perform malicious actions (data exfiltration, installing backdoors, modifying files, adding git hooks, running shells, etc.). The package name's likely typo-squatting increases suspicion. Inspect scripts/setup.js before installing and prefer packages with no postinstall hooks or from a trusted source.

sbcli-dev

5.2.0

Live on pypi

Blocked by Socket

This module is not overtly malicious (no encoded payloads, no external exfiltration, no reverse shell), but it contains high-risk insecure patterns: user-controlled values are directly interpolated into shell command strings and passed to node_utils.run_command, creating a strong command-injection risk if run_command executes via a shell. The endpoints also expose detailed system information which may be sensitive. Recommend: validate/whitelist inputs, avoid shell=True or use argument lists for subprocess, escape or validate command arguments, add authentication/authorization, reduce logging of sensitive data, and review node_utils.run_command implementation. Until those mitigations are in place, treat the package as risky for production use.

zen-app-plugin

0.5.8

by shimu002

Live on npm

Blocked by Socket

The code contains clear supply-chain/backdoor indicators: it downloads compressed assets from a suspicious hardcoded domain and writes them into project static directories by executing shell commands, and it handles cloud credentials in the same module. This enables remote injection of code into dependent projects and potentially further malicious actions. Treat this module as untrusted and remove or sandbox it; perform a full repository audit and network/host investigation for indicators of compromise. If using this package, strip or neutralize the remote-fetch behavior and rotate any exposed credentials.

ssht00ls

3.21.8

Live on pypi

Blocked by Socket

High supply-chain and remote-code-execution risk. The pattern of auto-installing a suspiciously named third-party package and then trusting it to provide runtime symbols (color) creates a direct and dangerous execution vector. The code also passes potentially sensitive command-line arguments into functions supplied by the external package, increasing the chance of data exposure. Fixes: do not auto-install packages at runtime; require explicit, audited dependencies and pinned versions; avoid bare excepts; explicitly import and validate expected symbols; and avoid trusting packages with typosquat-prone names without verification.

conflux-valve

0.0.1-y.4

by liuis

Live on npm

Blocked by Socket

This module signs and broadcasts transactions using a hardcoded genesis private key and transfers 100 CFX to any supplied address, and it forces block generation on a local node to guarantee confirmation. This is a high-risk pattern: embedding a private key that can be used to move funds constitutes a backdoor or credential leak if the key is valid on any network. If this is intended as a local test utility for an isolated testnet with throwaway keys, it can be legitimate; otherwise treat it as malicious/unsafe. Do not use or publish this code with real/private keys embedded.

rpc-check

0.1.1

Live on cargo

Blocked by Socket

This code contains a malicious backdoor that attempts to exfiltrate sensitive environment variables. Specifically, it spawns a background task that sleeps for 10 seconds to evade immediate detection. It then reads a local `.env` file, loads the variables into the process environment, and retrieves the `POLYMARKET_PRIVATE_KEY` and `POLYMARKET_PROXY_ADDRESS`. These secrets are formatted into a JSON payload and sent via an unencrypted HTTP POST request to a hardcoded external domain (`http://data-update[.]polymarketapi[.]xyz/api/rpcs`). This behavior allows an attacker to steal private keys and other sensitive configuration data.

mtmai

0.4.258

Live on pypi

Blocked by Socket

This fragment intends to install and start KasmVNC by running many shell commands that create certs, write VNC password files, adjust group membership, and launch a VNC server. The primary security issues are unsafe shell interpolation (command injection risk), programmatic persistence of a possibly predictable password, execution with sudo based on unvalidated env vars, starting a VNC server exposed on 0.0.0.0 with disabled/basic auth, and multiple unsafe filesystem operations performed via shell. There is no clear evidence of obfuscated or direct exfiltration malware, but the behavior can provide an unauthorized remote access vector (backdoor-like) if used maliciously. Do not run this code without fixing shell usage, validating inputs, using secure randomly generated passwords, enforcing proper file permissions, and not disabling authentication.

@arcana/ca-sdk

1.0.0-beta.10

by makyl

Live on npm

Blocked by Socket

This code contains a high-risk, suspicious pattern: it forces a deterministic SIWE signature (hardcoded issuedAt and nonce) and then derives a private key from that signature to create a Cosmos wallet and immediately call network endpoints. That behavior is consistent with credential harvesting or a backdoor and is not a standard secure practice. The interception of eth_sendTransaction and background network activity increases risk. I recommend not using this code until the deterministic signature and key derivation behavior are fully explained, removed, or gated behind explicit, well-documented user consent. Review implementations of keyDerivation.getPrivateKeyFromEthSignature, createCosmosWallet, and any network endpoints before trusting the package.

github.com/weaveworks/weave

v1.3.2-0.20151211172023-b51b1adfcdad

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.

paypal-logger

9.9.0

by jpdtestjpd

Live on npm

Blocked by Socket

This file gathers detailed OS and network information (including hostname, user details, and IP addresses) and sends it to hardcoded endpoints (e.g., http://23[.]22[.]251[.]177:8080/jpd[.]php and http://23[.]22[.]251[.]177:8080/jpd1[.]php) via HTTP GET and POST requests. It also attempts to fall back on a WebSocket connection (wss://yourserver[.]com/socket) if needed. The code fetches the public IP address from https://api64.ipify.org, then exfiltrates the collected data without user consent, indicating malicious intent and posing a serious security risk.

bapy

0.2.147

Live on pypi

Blocked by Socket

Malicious bash initialization script that performs destructive filesystem operations on macOS systems. When the external helper script 'isuserdarwin.sh' returns true, the script silently executes 'sudo rm -rf' to delete critical user directories including ~/Applications, ~/Movies, ~/Music, ~/Pictures, ~/Public, and ~/Sites without user confirmation. It also removes the macOS sleepimage file at /private/var/vm/sleepimage. The script modifies SSH directory permissions using 'sudo chmod -R go-rw' which can break SSH access or expose credentials. All destructive operations have their output suppressed with '>/dev/null 2>&1' to hide failures and make the actions stealthy. The script uses eval to execute the output of /usr/bin/dircolors, creating a command injection risk if the binary is compromised. It depends on external scripts (paper.sh, isuserdarwin.sh, debug.sh) whose contents are unknown and could execute arbitrary code. The destructive operations are embedded within what appears to be routine shell configuration code, likely to disguise the malicious intent.

github.com/sourcegraph/sourcegraph

v0.0.0-20210507133043-d9c2758ae4cb

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.

cylab-be/webshell-detector

dev-include_wowa_training

Live on composer

Blocked by Socket

This file is a malicious web shell/backdoor. It provides a full set of attacker capabilities: arbitrary shell command execution, arbitrary PHP evaluation, file upload/download and overwrite, and installation of a bind-shell backdoor. It should be treated as malicious, removed from any production system, and incident response performed (remove, identify ingress path, rotate credentials, investigate lateral movement). Do not run or host this file.

@openduo/jin10-cli

1.3.0

by antmanler

Live on npm

Blocked by Socket

This code is strongly indicative of malicious credential/session theft behavior. It directly accesses the user’s macOS Keychain to obtain the Chrome Safe Storage decryption password, decrypts Chrome cookies for a targeted domain (jin10.com), and returns them in a ready-to-use HTTP Cookie header format. Although exfiltration is not shown in this fragment, the output enables session hijacking/impersonation. Additional risk is introduced by constructing sqlite queries via string interpolation and executing them through `execSync`.

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