Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in app-sim-layer (npm)

The npm package app-sim-layer contained malicious code in a postinstall hook that exfiltrated sensitive files (Solana keypairs, API keys, credentials), enumerated the user's filesystem, and on Linux granted remote SSH access to attacker infrastructure at 95.216.118.146.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or system that installed app-sim-layer via npm; particularly those in blockchain/Solana ecosystem given targeting of Solana CLI keypairs.
Ecosystems
Attack vectors
Affected entities
  • app-sim-layernpm package containing malicious postinstall hook

The npm package app-sim-layer was published with malicious code embedded in a postinstall hook (test.js) that executed automatically on npm install. The malicious code performed multiple exfiltration and persistence activities.\n\nThe package contained two primary malicious functions: from_str_2() fetched scan/block patterns from http://95.216.118.146:3001/api/v1, enumerated the user's home directory (Unix) or all logical drives (Windows), and uploaded matching files with metadata to the attacker server. from_str_1() recursively searched the current working directory for sensitive configuration files (id.json, config.toml, Config.toml, env, .env) and POSTed their contents to http://95.216.118.146:3000/api/v1, with particular targeting of Solana CLI keypairs (id.json) and API credentials commonly stored in .env files.\n\nOn Linux systems, the postinstall hook additionally fetched an SSH public key from the attacker server, appended it to ~/.ssh/authorized_keys, and used sudo to open inbound SSH access (ufw allow 22/tcp), granting the attacker persistent remote shell access to the compromised host.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository (MAL-2026-11126).

Indicators of compromise

Packages
  • app-sim-layer
IPs
  • 95.216.118.146

Remediation

  • Immediately uninstall app-sim-layer from all systems: npm uninstall app-sim-layer
  • Audit npm install logs and package-lock.json to identify when/if app-sim-layer was installed
  • On affected systems: revoke all Solana CLI keypairs (id.json) and regenerate new ones
  • Rotate all API keys and database credentials that may have been stored in .env or config files
  • On Linux systems: remove the attacker's SSH public key from ~/.ssh/authorized_keys and audit SSH access logs for unauthorized connections from 95.216.118.146
  • Review firewall rules and remove any rules allowing inbound SSH from untrusted sources
  • Monitor for suspicious outbound connections to 95.216.118.146 on ports 3000 and 3001
  • Add app-sim-layer to npm blocklists and security scanning tools

Sources

  1. GitHub Advisory GHSA-363f-gw2q-m6j5 · GitHub Advisory Database

Cite this entry

"Malicious code in app-sim-layer (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 28, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-app-sim-layer-npm-1ih1js

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in @yancyyu/agentcli (npm)

    The npm package @yancyyu/agentcli contains malicious code that extracts OAuth credentials and API keys for Lark/Feishu from the system keychain (macOS) and credential store (Windows), then exfiltrates them to a hardcoded remote IP address over plaintext HTTP. A persistent launchd agent ensures the exfiltration loop survives reboots.

    npmAI agents & skillsCompromised packageMalicious commit
  2. containedcritical

    Malicious code in json-schema-inspector (npm)

    The npm package json-schema-inspector contained malicious code that performed remote code execution on installation. The package advertised itself as a JSON/XML schema validator but included a trigger routine that fetched and executed attacker-controlled payloads from a remote manifest.

    npmCompromised packageMalicious commit
  3. containedcritical

    Malicious code in @crbrc/xbt (npm)

    The npm package @crbrc/xbt contains malicious code that exfiltrates OxaPay payment-gateway secrets and host metadata to a hardcoded attacker-controlled IP address, establishes a reverse TCP proxy tunnel, and allows remote process termination. The malicious behavior is conditionally activated only when all project source files import the companion package @crb/xbr.

    npmCompromised packageMalicious commit
  4. containedcritical

    Malicious code in @antv/x6-components (npm)

    The npm account `atool` was compromised and used to publish 631 malicious versions across 314 packages, including @antv/x6-components, in a 22-minute automated burst. Each version injects a preinstall hook executing an obfuscated Bun script that exfiltrates credentials and establishes persistence via CI/CD workflow injection and system daemons.

    Mini Shai HuludTeamPCPnpmOtherAccount takeoverCompromised packageMalicious commit