Critical Malicious Code Vulnerability in @voiceflow/runtime-client-js Package
Summary
MAL-2025-191369: Malicious code in @voiceflow/runtime-client-js (npm). Affects @voiceflow/runtime-client-js versions 1.17.2 – 1.17.3. 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 @voiceflow/runtime-client-js package is a JavaScript library used for building voice applications. It provides developers with tools to create and manage voice interactions efficiently. However, this package has been compromised, making it susceptible to a severe security threat that can lead to unauthorized access to sensitive information.
Vulnerability Detail
The vulnerability stems from a malicious code injection by the Sha1-Hulud: The Second Coming NPM worm. This worm is designed to steal tokens and credentials from users, subsequently publishing them to GitHub. It can also propagate itself to other NPM packages owned by the user and establish persistence through GitHub actions. Additionally, there is a risk that the worm may delete the user's home directory, leading to significant data loss.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall @voiceflow/runtime-client-js
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 measure, you can remove the @voiceflow/runtime-client-js package from your project until a full fix is implemented. Use the following command to uninstall the package:
npm uninstall @voiceflow/runtime-client-js
This will help mitigate the risk while you work on updating to a secure version.
Conclusion
The @voiceflow/runtime-client-js package has been compromised by a malicious worm that poses serious security risks, including data theft and potential data loss. It is essential to update the package to the latest version or remove it temporarily to protect your application. Utilizing tools like Vulert can help monitor for such vulnerabilities in real-time.
See every vulnerability recorded for @voiceflow/runtime-client-js →
FAQ
The malicious code is designed to steal sensitive information such as tokens and credentials and can publish this data to GitHub.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in your software. By checking your package-lock.json file, you can identify if your application is affected by this vulnerability.
If an immediate update is not possible, consider removing the package from your project as a temporary workaround to reduce risk.
Yes, the worm has the potential to delete the user's home directory, which could result in significant data loss.
You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.