MAL-2026-14302

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-texts-utils/MAL-2026-14302.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-14302
Aliases
  • GHSA-3p3q-38q9-rr37
Published
2026-08-19T17:02:35Z
Modified
2026-08-20T04:00:12.005512591Z
Summary
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.

Source: ghsa-malware (981d46d97825c6c05b670b060d4842c7b42a87371746abfae09e6d619312111c)

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Database specific
{
    "malicious-packages-origins": [
        {
            "import_time": "2026-08-19T17:42:25.554742485Z",
            "sha256": "a340348046b89bf8c446a31a4f48233ec4e0bc412f531db713f54f35c6ea922c",
            "modified_time": "2026-08-19T17:22:16Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-018423",
            "versions": [
                "1.0.3"
            ]
        },
        {
            "import_time": "2026-08-20T01:06:54.048071212Z",
            "sha256": "981d46d97825c6c05b670b060d4842c7b42a87371746abfae09e6d619312111c",
            "modified_time": "2026-08-19T17:02:58Z",
            "source": "ghsa-malware",
            "id": "GHSA-3p3q-38q9-rr37",
            "ranges": [
                {
                    "type": "SEMVER",
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ]
                }
            ]
        },
        {
            "import_time": "2026-08-20T03:49:51.871544984Z",
            "sha256": "0444a2179f1067853015cb382e426c1a77fe8c3fb795afbe6b1737c4b2bcdf49",
            "modified_time": "2026-08-20T03:41:03Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-018443",
            "versions": [
                "1.0.0"
            ]
        },
        {
            "import_time": "2026-08-20T03:49:52.369121581Z",
            "sha256": "8b332f7e86aef546ca6340e675c75ca16d55cdfe9bbb7ececd583efe3c114645",
            "modified_time": "2026-08-20T03:41:35Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-018447",
            "versions": [
                "1.0.1"
            ]
        },
        {
            "import_time": "2026-08-20T03:49:52.162663722Z",
            "sha256": "f4c833aec11aaec0f3e51fd47aee3a4487341dd92701e51cef3e52161b5314e1",
            "modified_time": "2026-08-20T03:41:27Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-018446",
            "versions": [
                "1.0.2"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / ai-texts-utils

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*
1.0.0
1.0.1
1.0.2
1.0.3

Database specific

source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-texts-utils/MAL-2026-14302.json"
cwes
[
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    },
    {
        "name": "Embedded Malicious Code",
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506"
    },
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    },
    {
        "name": "Embedded Malicious Code",
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506"
    },
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    }
]