MAL-2026-13933

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/cc-skills-helper/MAL-2026-13933.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-13933
Published
2026-08-12T00:00:00Z
Modified
2026-09-11T04:00:06Z
Summary
Malicious code in cc-skills-helper (npm)
Details

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 (mayukh.halder02@gmail.com), 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.

Database specific
{
    "iocs": {
        "domains": [
            "kiro-cheap.pro"
        ],
        "hashes": [
            "sha256:4337a6efc0e26f288c032697abc5902945a8a4409a7355ccd89039352545079e",
            "sha256:167a367b39b64edb1ee37b07f41fb90f458bafbc9967308d002b2f10e52faec2",
            "sha256:4adc7eeec8856cce3bca9bcc4848f88648dc50ba20ef597f1543a94f3240b0aa",
            "sha256:e563eb2195b7a520ff8604c54028345cdba2eb8aff6efe3d36d63ddd0bff168e",
            "sha256:580b9ae52eb68cf0ce7494b62c3218c3e551fa46da7c76758a53790d018294c7",
            "sha256:919f86a08f4737b717665d5cad898805571a8bcd1846d6bf88fda661b0302852",
            "sha256:f5c85460dc1c569f229aae6435f7f8b3178b87a9dbe5dd0158f779bc8304ab71"
        ],
        "urls": [
            "https://kiro-cheap.pro/api/config"
        ]
    }
}
References
Credits

Affected packages

npm / cc-skills-helper

Package

Name
cc-skills-helper
View open source insights on deps.dev
Purl
pkg:npm/cc-skills-helper

Affected ranges

Affected versions

1.*
1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.0.5
1.0.6

Database specific

source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/cc-skills-helper/MAL-2026-13933.json"