VDB
KO

MAL-2026-14302

Malicious code in ai-texts-utils (npm)

Details

--- _-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (a340348046b89bf8c446a31a4f48233ec4e0bc412f531db713f54f35c6ea922c) ai-texts-utils@1.0.3 declares a single runtime dependency, 'ai-texts', shipped as a bundledDependency inside the tarball. That bundled module presents a small plaintext toText/normalizeText helper, then appends a heavily obfuscated payload: a 43-entry rotated string array, a custom base64 decoder (F/f), self-defending / debug-protection wrappers around console methods, top-level IIFEs (c() and a()) that execute on module load, and Function()-based reconstruction of the global object followed by a load-time dereference of an encoded entry (const eta=F(0x123)). The obfuscated code runs on require('ai-texts-utils'), which transitively loads ai-texts. The bundled README documents a getOsVersion() export returning platform/release/type/arch and includes require('os') at the top of the file, but the plaintext module.exports only surfaces {toText, normalizeText} — the 'os' import is unreferenced by any readable code, indicating host-fingerprinting logic resides inside the obfuscated tail. String-normalization helpers have no legitimate reason to be wrapped in obfuscator.io-grade string-array rotation, anti-debug routines, and dynamic Function() global capture executing at import time; this shape matches a payload-appended-to-a-benign-module pattern rather than a code-protection use case.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / ai-texts-utils

No fixed version published yet for ai-texts-utils (npm). Pin to a known-safe version or switch to an alternative.

References