Malicious code in postcss-animate-css-vars (npm)
The npm package postcss-animate-css-vars version 2.0.3 contains heavily obfuscated malicious code that executes arbitrary code during build or CI processes. The malicious loader fetches and executes remote code, writes a persistent wrapper file to the OS temporary directory, and spawns a detached Node.js child process that remains active for approximately 24.8 days after the build completes. The package metadata mimics a legitimate PostCSS plugin but does not perform any animate.css handling, indicating the metadata is a cover for the malicious loader.
AI Analysis
Technical Summary
The postcss-animate-css-vars npm package version 2.0.3 includes a malicious loader in src/normalize-options.js that uses obfuscation techniques such as RC4-decoded string arrays and rotating string shufflers. When instantiated, it constructs an HTTPS URL from obfuscated data and caller-supplied options, fetches a JSON response, base64-decodes a 'message' field, and executes the decoded code via new Function, enabling arbitrary code execution in downstream consumers' build or CI environments. Additionally, the loader writes a wrapper file to the OS temporary directory named with the process ID, which requires the package and sets an interval timer, then spawns a detached Node.js process with environment variable LT1_STAGE1_CHILD=1. This detached child process re-enters the loader code path, decoupling the fetch-and-execute cycle from the parent process and maintaining persistence for roughly 24.8 days after PostCSS exits. The package metadata falsely presents as a legitimate PostCSS plugin for animate.css, but the obfuscated loader contains no animate.css functionality, indicating the metadata is a cover for the malicious behavior.
Potential Impact
This malicious package enables arbitrary code execution in every downstream consumer's build or continuous integration process, potentially allowing attackers to execute any code on affected systems. The persistence mechanism via a detached Node.js child process extends the attacker's foothold beyond the build window for nearly 25 days, increasing the risk of prolonged compromise. The obfuscation and remote code fetching complicate detection and analysis, posing a significant threat to supply chain security for projects depending on this package.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should immediately remove version 2.0.3 of postcss-animate-css-vars from their dependency trees and avoid using this package until a trusted, clean version is released. Conduct a thorough audit of build and CI environments for signs of compromise, including the presence of unexpected temporary files or detached Node.js processes. Monitor for updates from the package maintainer or npm security advisories for official fixes or guidance. Consider using package integrity verification tools and restricting network access during builds to prevent remote code fetching.
Malicious code in postcss-animate-css-vars (npm)
Description
The npm package postcss-animate-css-vars version 2.0.3 contains heavily obfuscated malicious code that executes arbitrary code during build or CI processes. The malicious loader fetches and executes remote code, writes a persistent wrapper file to the OS temporary directory, and spawns a detached Node.js child process that remains active for approximately 24.8 days after the build completes. The package metadata mimics a legitimate PostCSS plugin but does not perform any animate.css handling, indicating the metadata is a cover for the malicious loader.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The postcss-animate-css-vars npm package version 2.0.3 includes a malicious loader in src/normalize-options.js that uses obfuscation techniques such as RC4-decoded string arrays and rotating string shufflers. When instantiated, it constructs an HTTPS URL from obfuscated data and caller-supplied options, fetches a JSON response, base64-decodes a 'message' field, and executes the decoded code via new Function, enabling arbitrary code execution in downstream consumers' build or CI environments. Additionally, the loader writes a wrapper file to the OS temporary directory named with the process ID, which requires the package and sets an interval timer, then spawns a detached Node.js process with environment variable LT1_STAGE1_CHILD=1. This detached child process re-enters the loader code path, decoupling the fetch-and-execute cycle from the parent process and maintaining persistence for roughly 24.8 days after PostCSS exits. The package metadata falsely presents as a legitimate PostCSS plugin for animate.css, but the obfuscated loader contains no animate.css functionality, indicating the metadata is a cover for the malicious behavior.
Potential Impact
This malicious package enables arbitrary code execution in every downstream consumer's build or continuous integration process, potentially allowing attackers to execute any code on affected systems. The persistence mechanism via a detached Node.js child process extends the attacker's foothold beyond the build window for nearly 25 days, increasing the risk of prolonged compromise. The obfuscation and remote code fetching complicate detection and analysis, posing a significant threat to supply chain security for projects depending on this package.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should immediately remove version 2.0.3 of postcss-animate-css-vars from their dependency trees and avoid using this package until a trusted, clean version is released. Conduct a thorough audit of build and CI environments for signs of compromise, including the presence of unexpected temporary files or detached Node.js processes. Monitor for updates from the package maintainer or npm security advisories for official fixes or guidance. Consider using package integrity verification tools and restricting network access during builds to prevent remote code fetching.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-12418
- Osv Schema Version
- 1.7.4
- Aliases
- []
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a73574fbf8831d53915a5c3
Added to database: 08/05/2026, 15:31:27 UTC
Last enriched: 08/05/2026, 17:48:02 UTC
Last updated: 08/05/2026, 17:48:02 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.