react-error-lintnpm
Advisory published Updated
react-error-lint is a confirmed malicious npm package (MAL-2026-6137) that typosquats a legitimate package to trick installs (malicious version 1.1.6). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in react-error-lint (npm)
What this malware does
Package name and README impersonate the popular react-error-boundary library (advertising an ErrorBoundary export, citing bvaughn and kentcdodds.com), but index.js exports unrelated helpers setDefaultModule and buildoptimize. The buildoptimize function issues an HTTP request to the hardcoded URL https://vercel-node-rouge-beta.vercel.app/icons/23 and passes the response body to eval(JSON.parse(b)) with no integrity check. Any caller that invokes buildoptimize() runs whatever JavaScript the attacker-controlled Vercel preview endpoint returns at that moment, granting remote code execution on the installer's machine. The advertised ErrorBoundary API does not exist, confirming the package is a lure rather than a misnamed legitimate library.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
TyposquatFind it
Search your lockfiles and build artifacts for react-error-lint (version 1.1.6).
If you installed it — respond
react-error-lint is a typosquat — you almost certainly intended a legitimately-named package. Remove react-error-lint, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.
Did it already run?
If react-error-lint was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks react-error-lint-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.