Public mode

No access to your tenant or devices. Every item links to its source. What this means

Customize Public modeDiscuss ChangeIntel on Discord

Malicious code in cc-skills-helper (npm)

Exploitation and risk

Source status

CISA KEV lists vulnerabilities known to be exploited. FIRST EPSS estimates the likelihood of exploitation in the next 30 days. An unavailable score does not mean zero risk.

Which CVEs have scores here?

This view includes predictions for CVE identifiers explicitly listed in public NuGet advisories. Microsoft release pages have their own prediction coverage. Check source status for the scope and latest checks.

No exploitation or prediction data is available here for these CVEs. This does not mean they are safe or unlikely to be exploited.

osv · MAL-2026-13933

Published

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: 1. Fetches a JSON config from the hard-coded C2 `https://kiro-cheap.pro/api/config` (rotatable via the `MY_TOOL_SERVER` env var); the config returns `{ archiveUrl, password, version }`. 2. Downloads a password-protected ZIP from `archiveUrl` (attacker-controlled, size-capped at 500 MiB). 3. Decrypts the ZIP with the returned `password` to recover a Windows PE (`MZ`/`PE` header-verified). 4. 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%`. 5. Writes the payload as `.dat` first and atomic-renames to `.exe` right before spawn — commented as an evasion for Defender's real-time scanner ("skips .dat extensions"). 6. Best-effort issues PowerShell `Add-MpPreference -ExclusionPath` on the install directory to add a Defender exclusion (works if the npm install is run from an elevated shell). 7. Spawns the `.exe`; on `UNKNOWN`/`EACCES`/`EPERM` from `CreateProcess` ("Defender scanner-lock on freshly-written file"), falls back to launching through `cmd.exe /d /s /c`. 8. 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.

Source published
12 Aug 2026 00:00:00 UTC
Source modified
11 Sep 2026 04:00:06 UTC
Saved here
24 Oct 2026 13:17:17 UTC
Source terms
OSV · upstream source license applies

Original source record · Cite this exact observation · Complete original publisher JSON

Source: osv · OSV · upstream source license applies. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 15 Nov 00:38 UTC · 256 of 275 readable · 254 fully read · documentation 469/469 current