Supply-chain threat intelligence

Incident detail

criticalnpm·maintainer compromise·osv

Malicious code in @hkyyy/portal-widget-helper-0601 (npm)

@hkyyy/portal-widget-helper-0601

Risk score

92

AI summary

Indexed incident for @hkyyy/portal-widget-helper-0601 (npm).

Description

The package has no real functionality — index.js only exports { ok: true } — and its sole effect is to run a postinstall reconnaissance script. package.json declares scripts.install -> node postinstall.js, which on npm install executes whoami, id, hostname, captures cwd and Node version, and prints a PROOF_BEGIN/PROOF_END block to stderr. postinstall.js also contains a fully-formed exfiltration path that issues curl -fsS "${url}" || wget -qO- "${url}" and a dns.lookup(sub,...) call against a DNSLOG_URL constant. The URL is currently the placeholder string 'CHANGE_ME_DNSLOG_URL', so the network beacon is gated off in this published version, but the host-recon commands fire unconditionally and the exfil channel is one literal-string edit away from active. The package name @hkyyy/portal-widget-helper-0601 (date-suffixed variant of an apparent internal package name) plus the trivial body match the standard dependency-confusion PoC shape: the package exists to be picked up by mistaken namespace/version resolution and to fingerprint the installer's host.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Technical details

Affected versions

=1.0.0>=0

Indicators

  • Advisory IDs
    90%
  • affected version=1.0.075%
  • affected version>=075%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents