Supply-chain threat intelligence

Incident detail

criticalnpm·obfuscation·osv

Malicious code in selparsecss-selector (npm)

selparsecss-selector

Risk score

92

AI summary

Indexed incident for selparsecss-selector (npm).

Description

selparsecss-selector@2.1.0 is a name-confusion fork of postcss-selector-parser: package.json declares author 'Ai Pyramid' pyramid.info@gmail.com while the LICENSE-MIT, source tree, API, and CHANGELOG are copied verbatim from the upstream postcss-selector-parser (Ben Briggs). The tarball ships dist/util/webpack.min.js, a ~40KB obfuscator.io-packed bundle with a rotated 757-entry string array and an RC4+base64+XOR string decoder, whose top-level IIFE destructures exec and execSync from child_process, branches on values returned by the os module, and calls process.exit(1) on specific conditions. A CSS-selector parser has no functional need for child_process shell execution. Additionally, propPaths.js and selectors/wrapper.js reconstruct filenames such as 'wrapper.js' and the extension '.jsc' from CSS-hex-escape sequences via an unesc helper, and the package declares bytenode as a runtime dependency; bytenode registers a require hook for opaque V8-bytecode.jsc files, providing a loader path for code that cannot be inspected as source. The combination — impersonated identity, obfuscated child_process-execution bundle, and hex-obfuscated bytenode load scaffolding — is a supply-chain attack shape targeting developers who intended to install postcss-selector-parser.

Technical details

Affected versions

=1.1.0=2.0.0=1.0.0=2.1.0

Indicators

  • affected version=1.1.075%
  • affected version=2.0.075%
  • affected version=1.0.075%
  • affected version=2.1.075%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents