MAL-2026-4539 Malicious code in create-kachow (npm)
Malicious package
Published
MAL-2026-4539 is a malicious package: create-kachow (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-4539/ (Markdown: https://insights.sbomify.com/MAL-2026-4539/index.md)
- Package
- create-kachow
- Registry
- npm
What is MAL-2026-4539?
MAL-2026-4539 is a malicious package in create-kachow, published on 20 May 2026.
Official description
bin/create-kachow.js declares a BUILTIN_KEYS object containing live API keys for four third-party AI providers (Gemini key starting AIzaSyByPyGWXRVsa0…, OpenRouter sk-or-v1-673e3b6d…, Mistral OiCiNtvBsogE…, DeepSeek sk-7ecd4ed8…). The key-resolution helpers (e.g. resolveGeminiKeys) fall back to these built-in keys whenever the corresponding env var is unset, so any installer running
npx create-kachow obtains and uses live credentials against generativelanguage.googleapis.com, openrouter.ai, api.mistral.ai, and api.deepseek.com. Two installer-affecting harms follow: (1) the keys are extractable from the package by anyone who installs it and can be abused against the four third-party providers (credential redistribution); (2) the README advertises a 'deterministic template generator — no AI required' fallback when no keys are set, but the code instead silently routes the user-supplied app description (the appPrompt from ask("Describe your app:")) to those four providers under the author's account, where prompts may be logged. This contradicts documented behavior and makes the data flow non-consensual.What should I do about MAL-2026-4539?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.