Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@velliajs/discordnpm

@velliajs/discord is a confirmed malicious npm package (MAL-2026-14051) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.3, 1.0.4, 1.0.5…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @velliajs/discord (npm)

MAL-2026-14051
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @velliajs/discord

What this malware does

The package presents itself as a discord.js clone (repository field points at the real github.com/discordjs/discord.js.git, README instructs import... from '@verylinh/discord') but ships two installer-relevant hostile mechanisms. First, package.json declares a runtime dependency sysframe resolved from git+https://[email protected]/navaLinh/node-ai.git — an unpinned (no commit SHA or tag), private, author-controlled GitHub repository, using an embedded live GitHub Personal Access Token. Every npm install uses the shipped token to fetch the current HEAD of that private repo into the installer's node_modules; the author can rewrite HEAD at any time to deliver arbitrary code, including lifecycle scripts, that will execute on subsequent installs. Second, Client.login() invokes an undocumented _verifyAuthorization routine that fetches an allow-list JSON from api.github.com/repos/Vellia-Elyvia/mydb/contents/db.json under a hardcoded PAT and refuses to start the installer's Discord bot unless the bot's username appears in the author-controlled allow-list — a hidden remote gate/kill-switch over the installer's runtime that is not disclosed in the README. Two live GitHub PATs are hardcoded in the shipped package (one in the git dependency URL, one as the default ghToken in _validateAuthOptions). The package name and metadata impersonate discord.js.

Malicious versions

5 flagged
1.0.31.0.41.0.51.0.61.0.7

Indicators of compromise (SHA-256)

04b7767e977c183f47d761464e45db73c07784967f48456f2fd4ee261d781161
1c86edd3f7edd7d111df5621cb884fd0ef3d870c6c0719d587b7bb0f16f65b8d
7a036e528b785b9495fd5fb2a49f2cbe0ab4f1796f2a235a46e63b0f7de83030
c59b0d662d2067100ccd6b81ce6223d979067bf7927c92c76a8841aff6c8fcde
d9ec14c7e20b722636937ac258aec64347df2df21e2b2e2812a30f4ff63acbfe

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @velliajs/discord (5 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @velliajs/discord across your stack and pipelines.

  2. If you installed it — respond

    @velliajs/discord is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If @velliajs/discord was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks @velliajs/discord before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. @velliajs/discord on npm has been identified as a malicious package (versions 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-017930IN-MAL-2026-017929IN-MAL-2026-017933IN-MAL-2026-017932IN-MAL-2026-017931

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @velliajs/discord-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore