Malicious code in @decido/backend-core (npm)
The npm package @decido/backend-core contained hardcoded authentication bypass credentials ('mock-admin-token' and 'mock-token-123') in its Express middleware, allowing any HTTP client to impersonate admin or student users without valid JWT verification. This malicious code was published to npm and affects all downstream applications using the package.
- Disclosed
- Last updated
- Blast radius
- Any downstream application using @decido/backend-core as Express authentication middleware
- Ecosystems
- Attack vectors
- Affected entities
- @decido/backend-corenpm package containing hardcoded authentication bypass credentials
The npm package @decido/backend-core exported authentication middleware (createAuthMiddleware / createAuthRouter) for use in Express applications. The middleware contained hardcoded literal strings that bypassed JWT verification: the string 'mock-admin-token' in the Authorization header would grant ADMIN privileges, and 'mock-token-123' would grant STUDENT privileges.\n\nThese tokens were embedded directly in the published package code and were effectively universal credentials. Any HTTP client sending 'Authorization: Bearer mock-admin-token' would pass permission checks that gate administrative routes, including user listing, role changes, and permission editing.\n\nThe malicious code was identified by Amazon Inspector and credited to the OpenSSF malicious-packages project. All deployments that wired this middleware into their Express applications were vulnerable to authentication bypass by any attacker aware of these fixed strings.
Indicators of compromise
- Packages
- @decido/backend-core
Remediation
- Immediately remove or update @decido/backend-core from all affected applications
- Audit all authentication logs for use of 'mock-admin-token' or 'mock-token-123' bearer tokens
- Review all administrative actions (user listing, role changes, permission edits) performed during the package's availability
- Replace the package with a patched version or alternative authentication middleware
- Rotate all credentials and reset user permissions if compromise is suspected
- Implement runtime monitoring for suspicious authentication patterns
Sources
- GitHub Advisory GHSA-32mh-mxcj-9p4g · GitHub Advisory Database
Cite this entry
"Malicious code in @decido/backend-core (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-decido-backend-core-npm-1sboqs
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malware in svelte-dim-kit
The npm package svelte-dim-kit was found to contain malware, potentially giving attackers full control of affected systems. All systems with this package installed should be considered compromised and secrets/keys rotated immediately from a different computer.
npmCompromised package - containedcritical
Malicious code in @syncraft-labs/react (npm)
The npm package @syncraft-labs/react contained obfuscated malicious code in its ESM distribution that implements the EtherHiding pattern, fetching and executing arbitrary code from an Ethereum smart contract via RPC endpoints. The tampering occurred post-build in the dist/index.js artifact.
npmCompromised package - containedcritical
Malicious code in stillm4ddpocs-demo-sprocket (npm)
The npm package stillm4ddpocs-demo-sprocket version 999.9.12 contains malicious code that exfiltrates system and project metadata via multiple channels (HTTPS, HTTP, and DNS) to a hardcoded callback host. The package uses a high version number to exploit dependency-confusion attacks against organizations with internal packages of the same name.
npmCompromised packageDependency confusion - resolvedcritical
Malicious code in stillm4ddpocs-rtest-bravo (npm)
The npm package stillm4ddpocs-rtest-bravo contained malicious code in its preinstall script that automatically executed during installation, collecting system information and internal package metadata and exfiltrating it to a third-party Interactsh collector via HTTPS and DNS tunneling.
npmCompromised package