Skip to content
Heist/ feed
Back to feed
Unrated

Malicious code in @modss/baileys (npm)

Type: advisorySources: OSV

@modss/baileys is a renamed fork of the Baileys WhatsApp Web library published 2026-09-01 and 2026-09-02 under a scope created the same day. lib/Socket/newsletter.js sets NEWSLETTER_LIST_URL to https://raw.githubusercontent.com/Dayyy-19/Anu/main/Newsletter.json. On every connection.update with connection === 'open', autoFollowConfiguredNewsletters() fetches that list and issues an executeWMexQuery FOLLOW for each id on the user's own authenticated WhatsApp session, caching followed ids in session/followed-newsletters.json. An Indonesian comment in the file explains that the list lives on GitHub so channels can be added or removed without redeploying the code, i.e. the follow targets are publisher-controlled at runtime. All three published versions carry the identical handler. The package also aliases its libsignal dependency to @modss/libsignal, which pkgwarden read as a plain rename with no malicious content. No credential or session-key theft was observed, and the dead-drop URL was not requested by pkgwarden. All versions were fetched from the npm registry and read by hand on 2026-09-03. Same remote-dead-drop shape as MAL-2026-15819 (@mrlegendbot/baileys) and MAL-2026-13932 (my-auto-follow). --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (0b6522f1f967259853346030f220d40ef098fc3d54116a23161fb4ccf97f9bd3) package.json declares a runtime dependency `libsignal` whose source is `github:RILLYZY/libsignal-node` — a GitHub reference with no

Products
@modss/baileys
Affected versions
1.0.0, 1.0.1, 1.0.2, 2.0.0
Fixed versions
Not specified
CVEs
Not specified
Confirmed fixed CVEs
Not specified
Updated in this feed
30 Oct 2026, 19:46 UTC · Revision 1

Source evidence

Malicious code in @modss/baileys (npm)

core-osv · Original source

Published 3 Sept 2026, 18:09 UTC

@modss/baileys is a renamed fork of the Baileys WhatsApp Web library published 2026-09-01 and 2026-09-02 under a scope created the same day. lib/Socket/newsletter.js sets NEWSLETTER_LIST_URL to https://raw.githubusercontent.com/Dayyy-19/Anu/main/Newsletter.json. On every connection.update with connection === 'open', autoFollowConfiguredNewsletters() fetches that list and issues an executeWMexQuery FOLLOW for each id on the user's own authenticated WhatsApp session, caching followed ids in session/followed-newsletters.json. An Indonesian comment in the file explains that the list lives on GitHub so channels can be added or removed without redeploying the code, i.e. the follow targets are publisher-controlled at runtime. All three published versions carry the identical handler. The package also aliases its libsignal dependency to @modss/libsignal, which pkgwarden read as a plain rename with no malicious content. No credential or session-key theft was observed, and the dead-drop URL was not requested by pkgwarden. All versions were fetched from the npm registry and read by hand on 2026-09-03. Same remote-dead-drop shape as MAL-2026-15819 (@mrlegendbot/baileys) and MAL-2026-13932 (my-auto-follow). --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (0b6522f1f967259853346030f220d40ef098fc3d54116a23161fb4ccf97f9bd3) package.json declares a runtime dependency `libsignal` whose source is `github:RILLYZY/libsignal-node` — a GitHub reference with no

osv:MAL-2026-15918

@modss/baileys

Fixed versions: Not specified

Complete source record
{
  "id": "6607d680fdd8d4f18e96c851bb78b2db3b6ba17dc45008483947fb5ed9da9242",
  "url": "https://osv.dev/vulnerability/MAL-2026-15918",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Malicious code in @modss/baileys (npm)",
    "summary": "@modss/baileys is a renamed fork of the Baileys WhatsApp Web library published 2026-09-01 and 2026-09-02 under a scope created the same day. lib/Socket/newsletter.js sets NEWSLETTER_LIST_URL to https://raw.githubusercontent.com/Dayyy-19/Anu/main/Newsletter.json. On every connection.update with connection === 'open', autoFollowConfiguredNewsletters() fetches that list and issues an executeWMexQuery FOLLOW for each id on the user's own authenticated WhatsApp session, caching followed ids in session/followed-newsletters.json. An Indonesian comment in the file explains that the list lives on GitHub so channels can be added or removed without redeploying the code, i.e. the follow targets are publisher-controlled at runtime. All three published versions carry the identical handler. The package also aliases its libsignal dependency to @modss/libsignal, which pkgwarden read as a plain rename with no malicious content. No credential or session-key theft was observed, and the dead-drop URL was not requested by pkgwarden. All versions were fetched from the npm registry and read by hand on 2026-09-03. Same remote-dead-drop shape as MAL-2026-15819 (@mrlegendbot/baileys) and MAL-2026-13932 (my-auto-follow). --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (0b6522f1f967259853346030f220d40ef098fc3d54116a23161fb4ccf97f9bd3) package.json declares a runtime dependency `libsignal` whose source is `github:RILLYZY/libsignal-node` — a GitHub reference with no ",
    "evidence": "osv:MAL-2026-15918",
    "products": [
      {
        "name": {
          "value": "@modss/baileys",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.0.0",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1.0.1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1.0.2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.0.0",
            "evidence": "/affected/0/versions"
          }
        ]
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "MAL-2026-15918",
      "aliases": [
        "GHSA-4c9v-m7qm-2mpr",
        "MAL-2026-15918"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "@modss/baileys",
            "purl": "pkg:npm/%40modss/baileys",
            "ecosystem": "npm"
          },
          "versions": [
            "1.0.0",
            "1.0.1",
            "1.0.2",
            "2.0.0"
          ],
          "database_specific": {
            "cwes": [
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              }
            ],
            "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@modss/baileys/MAL-2026-15918.json",
            "indicators": {
              "evidence_files": [
                {
                  "path": "package.json",
                  "tlsh": "0f510e25cc5cceb304c636e9a9b60102647845534e95fc2c336c4bac4f5e2af32b9b6e",
                  "sha256": "73c1fa53ef8b4274314edb8f670942bef74714742d86bec0388ea2a02cc45502"
                }
              ]
            }
          }
        }
      ],
      "modified": "2026-10-16T07:15:08.802190951Z",
      "provider": "osv",
      "references": [
        "https://www.npmjs.com/package/@modss/baileys",
        "https://osv.dev/vulnerability/MAL-2026-15819",
        "https://osv.dev/vulnerability/MAL-2026-13932",
        "https://pkgwarden.com/incidents/baileys-whatsapp-auto-follow-npm-september-2026/",
        "https://github.com/advisories/GHSA-4c9v-m7qm-2mpr",
        "https://www.npmjs.com/package/@modss/baileys/v/2.0.0"
      ],
      "provider_metadata": {
        "iocs": {
          "urls": [
            "https://raw.githubusercontent.com/Dayyy-19/Anu/main/Newsletter.json"
          ],
          "files": [
            {
              "note": "runtime dead-drop fetch and forced follow loop (digest from 1.0.2)",
              "paths": [
                "lib/Socket/newsletter.js"
              ],
              "source": "PACKAGE_ARCHIVE",
              "digests": {
                "sha256": "935e65a1525ca7d4b11ca19d4aed36f92fd99dd9ddd20aca295f92134892f46c"
              }
            }
          ]
        },
        "malicious-packages-origins": [
          {
            "id": "GHSA-4c9v-m7qm-2mpr",
            "ranges": [
              {
                "type": "SEMVER",
                "events": [
                  {
                    "introduced": "0"
                  }
                ]
              }
            ],
            "sha256": "f380df417118802ce37118bae231cadcd5f41d20c60ac6ad830d9f62a53c8601",
            "source": "ghsa-malware",
            "import_time": "2026-10-12T16:30:26.92721009Z",
            "modified_time": "2026-10-12T15:31:43Z"
          },
          {
            "id": "IN-MAL-2026-021494",
            "sha256": "0b6522f1f967259853346030f220d40ef098fc3d54116a23161fb4ccf97f9bd3",
            "source": "amazon-inspector",
            "versions": [
              "2.0.0"
            ],
            "import_time": "2026-10-16T06:57:51.967649864Z",
            "modified_time": "2026-10-16T06:56:43Z"
          }
        ]
      }
    },
    "related_cves": [],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 337989,
  "published_at": "2026-09-03T18:09:54+00:00"
}