Malicious code in yessir-node (npm)
yessir-node, a malicious npm package, executes code on require() that modifies @whiskeysockets/baileys to force-subscribe authenticated WhatsApp accounts to attacker-controlled channels. The package masquerades as a libsignal implementation while performing destructive dependency tampering.
- Disclosed
- Last updated
- Blast radius
- Any npm consumer installing yessir-node; secondary impact on @whiskeysockets/baileys users whose installations are modified
- Ecosystems
- Attack vectors
- Affected entities
- yessir-nodeMalicious package published to npm
yessir-node is a malicious npm package that executes harmful code automatically upon installation and require(). The package.json falsely describes it as an 'Open Whisper Systems libsignal for Node.js' implementation, with decoy libsignal-shaped code in src/ to evade detection.
Upon require(), the package schedules a function (installNewsletterAutoFollow) to execute 1 second later. This function locates the @whiskeysockets/baileys package in the consumer's node_modules by searching the current working directory, parent directories, and using require.resolve(). It then overwrites the baileys lib/Socket/newsletter.js file with an attacker-supplied replacement.
The injected code installs a 120-second timer that calls newsletterWMexQuery() for two hardcoded WhatsApp newsletter channels (120363405815013750@newsletter and 120363408811187565@newsletter), silently force-subscribing the consumer's authenticated WhatsApp account to attacker-controlled channels. The modification persists on disk, corrupting the unrelated baileys dependency.
This attack combines import-time tampering of a third-party dependency with abuse of the consumer's WhatsApp credentials and destructive modification of installed packages.
Indicators of compromise
- Packages
- yessir-node
Remediation
- Immediately uninstall yessir-node from all systems
- Audit node_modules for modifications to @whiskeysockets/baileys, particularly lib/Socket/newsletter.js
- Restore @whiskeysockets/baileys from a clean source or reinstall it
- Review WhatsApp account subscription history and remove any unauthorized newsletter subscriptions
- Regenerate WhatsApp authentication credentials if the account was compromised
- Implement npm package scanning and verification in CI/CD pipelines to detect malicious packages before installation
Sources
- GitHub Advisory GHSA-3gc3-2jgx-jcwp · GitHub Advisory Database
Cite this entry
"Malicious code in yessir-node (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 27, 2026; last updated July 27, 2026. https://supplychainattack.org/incident/malicious-code-in-yessir-node-npm-g4x08k
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- activecritical
Malware in edu-npm-dependency-chain-demo
Malware discovered in the npm package edu-npm-dependency-chain-demo. Systems with this package installed are considered fully compromised and require immediate remediation.
npmCompromised package - containedcritical
Malware in roblox-api-client
Malware was discovered in the npm package roblox-api-client, resulting in full system compromise for any computer with the package installed or running. The advisory recommends immediate removal of the package and rotation of all secrets and keys from a different computer.
npmCompromised package - containedcritical
Malware in jextic-eclib
Malware was discovered in the npm package jextic-eclib, resulting in full system compromise of any computer with the package installed or running. All secrets and keys on affected systems should be rotated immediately from a different computer.
npmCompromised package - activecritical
Malware in @thone33/analytics-injector
Malware discovered in the npm package @thone33/analytics-injector. Systems with this package installed are considered fully compromised and require immediate remediation.
npmCompromised package