Skip to content

Malicious code in @velliajs/discord (npm)

Malware Published Aug 15, 2026 to the GitHub Advisory Database • Updated Aug 15, 2026

Package

npm @velliajs/discord (npm)

Affected versions

= 1.0.5
= 1.0.4
= 1.0.3
= 1.0.6
= 1.0.7

Patched versions

None

Description

Source: amazon-inspector (1c86edd3f7edd7d111df5621cb884fd0ef3d870c6c0719d587b7bb0f16f65b8d)

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://ghp_...@github.com/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.


Credit: OpenSSF (source)

References

Published to the GitHub Advisory Database Aug 15, 2026
Reviewed Aug 15, 2026
Last updated Aug 15, 2026

EPSS score

Weaknesses

Embedded Malicious Code

The product contains code that appears to be malicious in nature. Learn more on MITRE.

GHSA ID

GHSA-5546-mfxg-3v4r

Source code

No known source code
Improvements are not currently accepted on this advisory because this package is malware and has no patched versions. If there is something to change, please open an issue at https://github.com/github/advisory-database/issues.