Lotusbail npm package found to be harvesting WhatsApp messages and contacts

Popularity, trust signals & dependency bloat

  • Several commenters argue that download counts and GitHub stars are poor security signals; 56k downloads is seen as low and easily gamed.
  • Others admit that in practice “verification” often means only checking age, stars, and a quick repo glance, not real audits.
  • Heavy transitive dependency trees (thousands of packages, GBs of node_modules) make meaningful review unrealistic, reinforcing complacency.
  • Some advocate writing small utilities in-house instead of pulling trivial deps, but acknowledge the JS ecosystem tends to reintroduce them transitively anyway.

Supply-chain risk & ecosystem design

  • Many see npm’s late-fetch, uncurated model as structurally unsafe compared to distro-style repositories (Debian, etc.) with human stewardship and reproducible builds.
  • Others counter that no ecosystem truly audits everything (xz is cited) and the problem is broader than npm: PyPI, Cargo, Docker images, GitHub Actions, curl-to-bash installers, etc.
  • Some suggest corporate-curated internal registries and approval workflows; others note this requires dedicated security staff and slows development.

Mitigations in practice

  • Suggested tactics:
    • Vendor critical deps, read them, pin versions, and update slowly.
    • Use lockfiles, Dependabot (with human review), and dependency “cool-down” windows.
    • Containerize or VM-isolate dev environments; avoid global npm installs.
    • Enforce policies where every new dependency has an “owner” responsible for reviewing changes.
  • There is interest in tools like Nix/Bazel/Buck for strict pinning and reproducibility, though their learning curve is seen as a barrier.

OS, capabilities & permission models

  • Some argue the real root problem is that code runs with “ambient authority”: any library can access filesystem, network, credentials.
  • Proposals include capability-based languages (functions only get access to explicitly passed resources) and finer-grained OS mediation of network/domain access.
  • Others warn this easily turns into walled gardens or unusable permission UX, citing mobile OSes and macOS as mixed examples.

JavaScript ecosystem & stdlib debate

  • One camp claims JS is particularly risky for backends (weak static analysis, culture of many tiny packages, no “real” stdlib).
  • Others respond that JS now has a large standard library and that exfiltration attacks would be just as feasible in Go/Rust/Java; the issue is trust, not language.

WhatsApp-specific angle & npm governance

  • This package is a malicious fork of an unofficial WhatsApp Web client library, not an official API wrapper, which inherently requires broad access to user data.
  • Some see using such a library as a security red flag from the outset.
  • Multiple comments call for Microsoft to either harden npm with real governance and automated scanning (especially for obfuscated/encrypted payloads) or hand it to a foundation.

LLMs, AI content & future risks

  • The blog post itself is widely perceived as AI-generated, prompting meta-discussion about AI-written “slop” dominating security reporting.
  • On the code side, some expect more people to “vibe code” libraries with LLMs to avoid untrusted deps; others warn LLMs can just as easily reproduce malware or become another poisoning vector.