Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in cc-skills-helper (npm)

The npm package cc-skills-helper (versions 1.0.0–1.0.6) contained malicious postinstall code that acts as a Windows-only supply-chain dropper. Published in a single 8-hour burst on 2026-04-25 by account betatester44676, the package fetches and executes arbitrary Windows PE payloads from attacker-controlled infrastructure with anti-detection evasion techniques.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
All users who installed cc-skills-helper versions 1.0.0–1.0.6 on Windows systems during the publication window (2026-04-25).
Ecosystems
Attack vectors
Affected entities
  • cc-skills-helper · 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6

The npm package cc-skills-helper was published in seven consecutive versions (1.0.0 through 1.0.6) on 2026-04-25 by npm user betatester44676 (mayukh.halder02@gmail.com). All versions contained identical malicious postinstall behavior designed to execute on Windows systems only.\n\nThe attack chain begins with a postinstall script that invokes activateTool() from lib/index.js. This function fetches a JSON configuration from a hard-coded C2 server at https://kiro-cheap.pro/api/config (configurable via the MY_TOOL_SERVER environment variable). The configuration response includes an archive URL, decryption password, and version number.\n\nThe malware then downloads a password-protected ZIP file from the attacker-controlled archive URL (capped at 500 MiB), decrypts it using the provided password, and verifies the resulting payload as a valid Windows PE executable. The payload is staged in %LOCALAPPDATA%\\cc-skills-helper\\bin\\helper-.exe, a location chosen specifically because it is scanned less aggressively by Windows Defender than %TEMP%. The package employs multiple evasion techniques: writing the payload as .dat first and atomically renaming to .exe immediately before execution to evade real-time scanning, and attempting to add a Defender exclusion via PowerShell if the install runs with elevated privileges.\n\nThe package was abandoned after publication and the latest dist-tag points to version 1.0.6. The incident was disclosed via GitHub Advisory GHSA-q4r7-cr6w-c7xj.

Indicators of compromise

Packages
  • cc-skills-helper
Domains
  • kiro-cheap.pro

Remediation

  • Immediately uninstall cc-skills-helper from all systems, especially Windows machines.
  • Audit npm install logs and dependency trees to identify all projects that may have installed any version of cc-skills-helper (1.0.0–1.0.6).
  • On affected Windows systems, scan for and remove any executable files in %LOCALAPPDATA%\cc-skills-helper\bin\ and check for unexpected processes spawned during npm install.
  • Review Windows Defender logs and event logs for suspicious process execution or exclusion additions during the installation window.
  • If npm install was run with elevated privileges, verify that no unauthorized Defender exclusions were added.
  • Update npm and use `npm audit` to detect any remaining transitive dependencies on cc-skills-helper.
  • Consider implementing package pinning and pre-installation verification in CI/CD pipelines to prevent installation of malicious packages.

Sources

  1. GitHub Advisory GHSA-q4r7-cr6w-c7xj · GitHub Advisory Database

Cite this entry

"Malicious code in cc-skills-helper (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed April 25, 2026; last updated August 13, 2026. https://supplychainattack.org/incident/malicious-code-in-cc-skills-helper-npm-1ckzxv

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in pfp-forms-sme-loan (npm)

    The npm package pfp-forms-sme-loan contains malicious code that executes a hidden loader on import, downloading and running platform-specific native payloads from attacker-controlled Cloudflare Workers hosts or reconstructing them via DNS TXT records under well1.site. Any system that imported this package should be considered compromised.

    npmCompromised packageMalicious commit
  2. containedcritical

    Malicious code in @wololasod/tiny-id (npm)

    The npm package @wololasod/tiny-id contained obfuscated malicious code that downloads and executes platform-specific remote executables on Windows and Linux systems. The dropper was embedded in both the main entry point (dist/index.cjs) and the TypeScript types file (dist/index.d.ts), disguised as a tiny ID generator.

    npmCompromised packageMalicious commit
  3. resolvedcritical

    Malicious code in twilio-hackerone-poc-afe6937c (npm)

    The npm package twilio-hackerone-poc-afe6937c contained malicious preinstall/postinstall scripts that exfiltrate host metadata and environment variables to an external webhook, spawn a persistent daemon process, and attempt cross-tenant code injection in shared environments.

    npmCompromised packageMalicious commit
  4. resolvedcritical

    Malicious code in @velliajs/discord (npm)

    @velliajs/discord, a malicious npm package masquerading as a discord.js clone, contained two hostile mechanisms: an unpinned private git dependency with embedded GitHub PAT enabling arbitrary code injection on install, and a hidden runtime kill-switch that gates bot functionality based on a remote allow-list. Two live GitHub Personal Access Tokens were hardcoded in the package.

    npmCompromised packageMalicious commit