Malicious Code Injection in riyanto-poke40: A Threat to npm Users
Summary
MAL-2025-165148: Malicious code in riyanto-poke40 (npm). Affected versions are not published. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The package riyanto-poke40 is part of a series of malicious npm packages that emerged during the tea.xyz token reward campaign. These packages are designed to manipulate the npm registry by automatically generating and publishing derivative packages with randomized names. The primary function of riyanto-poke40 is to inflate developer reputation scores for token rewards, but it does so at the cost of security and integrity within the npm ecosystem.
Vulnerability Detail
The vulnerability in riyanto-poke40 stems from its malicious payload, which modifies the package.json file to remove private flags and change version numbers. It generates random package names, often themed around Indonesian culture, and continuously republishes these variants to pollute the npm registry. This behavior not only compromises the integrity of the npm ecosystem but also poses risks to developers who may unknowingly use these packages, potentially leading to further exploitation.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall riyanto-poke40
If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, you can avoid using the riyanto-poke40 package and any other packages associated with the tea.xyz token reward campaign. Regularly audit your package-lock.json file for any suspicious entries and remove any packages that appear to be malicious.
Conclusion
The riyanto-poke40 package poses a significant threat to the npm ecosystem due to its malicious behavior aimed at manipulating developer reputation scores. It is essential for developers to remain vigilant, regularly audit their dependencies, and utilize tools like Vulert to monitor for vulnerabilities.
See every vulnerability recorded for riyanto-poke40 →
FAQ
Riyanto-poke40 is an npm package that has been identified as malicious, designed to manipulate the npm registry for token reward purposes.
The vulnerability can compromise your project's integrity by introducing malicious code that may lead to further exploitation or data leakage.
You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
If you have installed riyanto-poke40, you should uninstall it immediately using 'npm uninstall riyanto-poke40' and review your project for any other suspicious packages.
Yes, Vulert provides a service that monitors and alerts you in real-time for open-source vulnerabilities using just your package-lock.json file.