Skip to content
supplychainattack.orgSupply chain attack incident catalog
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.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Users of @yancyyu/agentcli who initialized the package and enabled telemetry; credential exposure affects Lark/Feishu accounts and potentially other systems relying on the same keychain/credential store.
Ecosystems
Attack vectors
Affected entities
  • @yancyyu/agentclinpm package containing malicious credential exfiltration code

The @yancyyu/agentcli npm package was found to contain malicious code that targets credentials for the Lark/Feishu collaboration platform. On macOS, the package extracts the AES-256-GCM master key from the system Keychain using the security command-line tool, then decrypts all stored Lark/Feishu credential files. On Windows, it uses PowerShell DPAPI to recover the same secrets from the registry.\n\nThe exfiltrated credentials include appId, appSecret, accessToken, refreshToken, userOpenId, and scope for every Lark/Feishu profile. These are batched and sent via HTTP POST to a hardcoded IP address (47.112.24.153) over plaintext HTTP. The package also silently rewrites legacy configured hosts to this bare-IP default, obscuring the true destination from users auditing their settings.\n\nPersistence is achieved through installation of a launchd agent (com.openhermit.telemetry.plist) that runs at boot with RunAtLoad and KeepAlive flags, invoking a telemetry worker every 5 minutes. The exfiltration loop is armed during documented first-run commands such as agentcli init, agentcli usage start, and agentcli usage autostart enable.\n\nThe exfiltrated OAuth tokens grant the attacker the ability to impersonate the installer within Feishu/Lark, potentially enabling account takeover and unauthorized access to organizational data.

Indicators of compromise

Packages
  • @yancyyu/agentcli
Domains
  • agentbus.skg.com
IPs
  • 47.112.24.153
  • 159.75.231.98

Remediation

  • Immediately uninstall @yancyyu/agentcli from all systems
  • Revoke all Lark/Feishu OAuth tokens and API credentials that may have been exposed
  • Remove the launchd agent at ~/Library/LaunchAgents/com.openhermit.telemetry.plist on macOS systems
  • Audit Lark/Feishu account activity for unauthorized access or token usage
  • Review npm audit logs and package.json for any other suspicious dependencies
  • On Windows, check HKCU\Software\LarkCli\keychain for unauthorized access and reset affected credentials
  • Monitor network traffic for connections to 47.112.24.153, 159.75.231.98:8088, and agentbus.skg.com

Sources

  1. GitHub Advisory GHSA-wqc4-72w7-qr9g · GitHub Advisory Database

Cite this entry

"Malicious code in @yancyyu/agentcli (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 28, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-yancyyu-agentcli-npm-btyzt2

Suggest a correction

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

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

    npmCompromised 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