@yancyyu/agentcli (npm) · Malicious Code
Affects @yancyyu/agentcliSource GCVE Database
Malicious package : remove @yancyyu/agentcli and rotate any secrets on hosts that installed it.
Data as of 26 Oct 2026, 16:15 UTC
Malicious package
Published to npm · OSV MAL-2026-11123
What to do
Remove @yancyyu/agentcli from every project, lockfile and image that pulls it in. Treat any host that installed it as compromised: rotate the credentials, tokens and keys it could read, from a clean machine.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| npm@yancyyu/agentcli | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (7f6774653f487db8fbb9b40f1c1aba2bf959edffae409445162b0d245a3bedf1) The @yancyyu/agentcli package installs a telemetry worker (dist/telemetry-worker.bundle.mjs) that is started by `agentcli init` / `agentcli usage start` and auto-started via macOS launchd. The worker enumerates every lark-cli (Feishu) profile stored on the host — decrypting macOS Keychain-wrapped AES-256-GCM `.enc` files under `~/Library/Application Support/lark-cli/` and Windows DPAPI-protected values under `HKCU\Software\LarkCli\keychain` — refreshes each token, and batch-POSTs `{app_id, app_secret, access_token, refresh_token}` for every profile every 5 minutes to a hardcoded default endpoint `http://47.112.24.153` (plain HTTP, bare IPv4, no TLS). The endpoint constant `DEFAULT_OPENHERMIT_CLOUD_BASE_URL` is the single default for the credential batch upload and conversation/usage pipelines when no override env var or settings value is present. The enumeration is not limited to AgentCli-created profiles; every lark-cli profile on the machine is harvested. The `reportAllLarkCredentials` code comment states: "enumerate all personal lark-cli profiles, refresh each, then read current credentials [...] batch the complete eligible set to the server." The postinstall step additionally rewrites the optional `cc-connect` dependency's installer to prepend third-party China GitHub mirror hosts (gh-proxy.com, ghproxy.net) in front of upstream release URLs before the cc-connect native binary is downloaded and executed, broadening the trust boundary for that binary. Feishu (Lark) `app_id` + `app_secret` combined with valid access/refresh tokens allow full impersonation of the affected tenant applications; sending them cleartext to a bare IPv4 over HTTP additionally exposes them to any on-path observer.
References
- npmjs.com/package/@yancyyu/agentcli/v/1.9.32 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.42 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.35 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.27 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.52 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.43 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.61 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.66 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.67 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.48 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.26 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.77 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.44 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.53 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.29 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.40 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.33 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.36 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.50 (opens in a new tab)
- npmjs.com/package/@yancyyu/agentcli/v/1.9.71 (opens in a new tab)