The polyfill.js is a popular open source library to support older browsers. 100K+ sites embed it using the cdn.polyfill.io domain. Notable users are JSTOR, Intuit and World Economic Forum. However, in February this year, a Chinese company bought the domain and the Github account. Since then, this domain was caught injecting malware on mobile devices via any site that embeds cdn.polyfill.io. Any complaints were quickly removed (archive here) from the Github repository.
One place I worked at recently was still using Node version 8. Running
npm install
would give me a mini heart attack… Like 400+ critical vulnerabilities, it was several thousand vulnerabilities all around.It should; but more because it installs things right off the net with no validation. Consistency of code product is not the only thing you’re tossing.
How else would you get LPAD ? Expect me to write 2 lines of code when I could just import a 100 Mb library to do it for me?
You need to get up to date from three years ago. NodeJS 16.20, or thereabouts, enabled dependency auditing by default.
I’m still fighting my engineers go get current enough to use this (but we do have a proxy artifact server that also attempts to keep downloads clean, and a dependency scanner)
If you’re on RHEL 8+, you can install the latest version of node with dnf.
dnf install nodejs
will likely install node 8 :(. Usednf module install nodejs:20
to install the latest version.After the first 100, the other 300 kinda don’t matter.