cc-skills-helpernpm
cc-skills-helper is a confirmed malicious npm package (MAL-2026-13933) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.0, 1.0.1, 1.0.2…). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in cc-skills-helper (npm)
What this malware does
The npm package cc-skills-helper is a Windows-only supply-chain dropper published as seven versions (1.0.0 through 1.0.6) in a single 8-hour burst on 2026-04-25 by npm user betatester44676 ([email protected]), then abandoned. dist-tags.latest points at 1.0.6.
All seven versions share the same postinstall behaviour. scripts/postinstall.js invokes activateTool() in lib/index.js, which:
- Fetches a JSON config from the hard-coded C2
https://kiro-cheap.pro/api/config(rotatable via theMY_TOOL_SERVERenv var); the config returns{ archiveUrl, password, version }. - Downloads a password-protected ZIP from
archiveUrl(attacker-controlled, size-capped at 500 MiB). - Decrypts the ZIP with the returned
passwordto recover a Windows PE (MZ/PEheader-verified). - Stages the payload under
%LOCALAPPDATA%\cc-skills-helper\bin\helper-<8-hex>.exe— the install directory is chosen with a comment (in the shipped source) explaining that%LOCALAPPDATA%is scanned less aggressively by Windows Defender than%TEMP%. - Writes the payload as
.datfirst and atomic-renames to.exeright before spawn — commented as an evasion for Defender's real-time scanner ("skips .dat extensions"). - Best-effort issues PowerShell
Add-MpPreference -ExclusionPathon the install directory to add a Defender exclusion (works if the npm install is run from an elevated shell). - Spawns the
.exe; onUNKNOWN/EACCES/EPERMfromCreateProcess("Defender scanner-lock on freshly-written file"), falls back to launching throughcmd.exe /d /s /c. - The user-facing error message literally instructs the victim on how to add a Defender exclusion themselves.
Because the archive is password-protected, static analysis of the published npm tarball cannot see the payload — only the loader. The payload URL and password are fetched from the C2 at install time, so the same package version can serve different payloads to different victims or different times.
Version 1.0.6 (currently tagged latest) is obfuscator.io-hardened (_0x<hex> string-array + accessor-function scheme). 1.0.0-1.0.5 ship clear-code variants of the same logic. The package.json description is a legitimacy masquerade — it claims the design mirrors esbuild, swc, sharp, and @parcel/watcher native-companion distribution, but those all ship code-signed multi-platform binaries via npm tarballs and well-known CDNs; cc-skills-helper is Windows-only, hosted on an ad-hoc third-party domain, and encrypted.
At the time of this report, the C2 host kiro-cheap.pro is intercepted by Cloudflare with a Suspected Phishing interstitial (primary distribution path neutralised), but any Windows host that ran npm install cc-skills-helper between 2026-04-25 and the Cloudflare block executed attacker-supplied native code. Detected and classified independently by codelake Research on 2026-08-12; at the time of reporting no MAL-* record for this package existed in OSV or GHSA (a first-catch).
Malicious versions
Detection & response playbook
Credential / info stealerFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for cc-skills-helper (7 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging cc-skills-helper across your stack and pipelines.
If you installed it — respond
cc-skills-helper is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.
Did it already run?
If cc-skills-helper 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 cc-skills-helper 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
References
Credits
- codelake Research · finder
Detect & block this
O3 blocks cc-skills-helper-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.