Critical Malicious Code Vulnerability in @voiceflow/dtos-interact Package
Summary
MAL-2025-191343: Malicious code in @voiceflow/dtos-interact (npm). Affects @voiceflow/dtos-interact versions 1.40.1 – 1.40.2. 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/dtos-interact package is a library used in Node.js applications for handling data transfer objects (DTOs) in voice interaction scenarios. It provides developers with tools to create and manage structured data for voice applications. However, this package has been compromised, exposing users to significant security risks.
Vulnerability Detail
The vulnerability originates from the Sha1-Hulud: The Second Coming NPM worm, which has infected the @voiceflow/dtos-interact package. This malicious code is designed to steal tokens and credentials from users, publishing them to GitHub. Additionally, the worm can propagate itself to other NPM packages owned by the user and establish persistence through GitHub actions. There is also a risk that the worm may destroy the user's home directory, leading to severe data loss.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall @voiceflow/dtos-interact
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, users can remove the @voiceflow/dtos-interact package from their project until a secure version is released. This can be done using the command: npm uninstall @voiceflow/dtos-interact.
Conclusion
The @voiceflow/dtos-interact package has been compromised by a malicious worm that poses serious security risks to users. It is crucial to update the package to the latest version or remove it entirely until a fix is available. Utilizing tools like Vulert can help monitor and alert for such vulnerabilities in real-time.
See every vulnerability recorded for @voiceflow/dtos-interact →
FAQ
The malicious code is part of an NPM worm that steals sensitive information and can propagate to other packages.
You can use Vulert to monitor your application for vulnerabilities. Check your package-lock.json file for any affected packages.
If you suspect a compromise, immediately change your tokens and credentials, and remove the affected package.
Regularly update your packages and use tools like Vulert to monitor for vulnerabilities in real-time.
Yes, you can use the Vulert playground at Vulert Scanner to check for vulnerabilities without needing to sign up.