@appupdate/cdn-syncnpm
Malicious code in @appupdate/cdn-sync (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
Package presents itself as a CDN static-asset background sync worker, but the shipped ~12MB native libraries (linux-x64.so, darwin-arm64/x64.dylib) export cgo symbols ProbeStart / ProbeStop / ProbeRunning invoked by the JS start(knock) API, and their string tables contain pervasive implant capabilities: c2, reverseShell, socks, persist, setuid, chmod, knock, plus an embedded Tencent COS SDK with URL template https://%s.cos.%s.myqcloud.com and host-validation regex for myqcloud.com / tencentcos.cn. README explicitly states that endpoints and authentication are encapsulated inside the native binary (端点与鉴权等敏感配置封装在 native 二进制内) and references a compiled-in BuiltinKnock — the start(licenseKey) parameter is implant-activation authentication, not a commercial license check. When an installer follows the documented usage, the host activates a hidden agent with reverse-shell / SOCKS-proxy / persistence capability, communicating with hardcoded Tencent COS destinations the installer cannot inspect or configure. Publisher metadata reinforces the cover-story shape: placeholder github.com/your-org/appupdate repo URL, UNLICENSED, generic CDN-sync description, node-probe source directory hint.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @appupdate/cdn-sync (version 1.0.2). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @appupdate/cdn-sync across your stack and pipelines.
If you installed it — respond
@appupdate/cdn-sync establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If @appupdate/cdn-sync was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.
How O3 protects you
O3 blocks @appupdate/cdn-sync before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks @appupdate/cdn-sync-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.