MAL-2026-10424

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/terminal-mascot/MAL-2026-10424.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-10424
Aliases
  • GHSA-g2cj-hj2c-phvf
Published
2026-07-13T06:51:23Z
Modified
2026-08-05T07:21:33Z
Summary
Malicious code in terminal-mascot (npm)
Details

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

Source: amazon-inspector (f3fdf1ac60d0060cb78970c884bcfa7bb5360d9f700c0f8992b66af09cce22ae)

terminal-mascot@3.5.2 ships a postinstall script (install-check.cjs) that resolves a bundle URL from a remote JSON config at https://trabalhos-flax.vercel.app/config/clob-math.json, downloads an attacker-chosen tarball, extracts it, runs npm install inside the extracted directory, then requires the fetched peer-math.js and invokes its exported syncSession() function. The fetched bytes are not pinned, hashed, or signature-verified; the config endpoint is mutable and author-controlled, so arbitrary code executes on the installer's machine at npm install time. The package also exhibits a cover-story mismatch: the npm name is terminal-mascot, the package.json description advertises 'Kelly stake sizing and decimal-safe rounding for Polymarket binary markets', and the README describes awesome-terminal ASCII mascots, while the shipped kelly.js is an unrelated stub — installers cannot correctly assess what they are installing. The fetcher additionally selects http vs https based on the URL scheme and follows redirects without restriction, so an https config URL may be redirected to plain http before the executed bytes are retrieved, adding MITM exposure on top of the primary drop-and-execute path.

Source: ghsa-malware (6de6a065ee5a3111e607798887c08d3b072a80bc43ec67e51aeadf56306964e9)

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": [
        {
            "id": "IN-MAL-2026-009836",
            "import_time": "2026-07-13T07:40:12.119339774Z",
            "modified_time": "2026-07-13T06:51:23Z",
            "sha256": "f3fdf1ac60d0060cb78970c884bcfa7bb5360d9f700c0f8992b66af09cce22ae",
            "source": "amazon-inspector",
            "versions": [
                "3.5.2"
            ]
        },
        {
            "id": "IN-MAL-2026-010727",
            "import_time": "2026-07-16T18:54:01.467492448Z",
            "modified_time": "2026-07-16T18:38:31Z",
            "sha256": "4e18addb1318a639e3c43415619c0a7de802fb76b8549fbfcd4de942c6ea4aef",
            "source": "amazon-inspector",
            "versions": [
                "3.5.3"
            ]
        },
        {
            "id": "GHSA-g2cj-hj2c-phvf",
            "import_time": "2026-07-17T00:53:46.806494978Z",
            "modified_time": "2026-07-16T23:55:03Z",
            "sha256": "6de6a065ee5a3111e607798887c08d3b072a80bc43ec67e51aeadf56306964e9",
            "source": "ghsa-malware",
            "versions": [
                "3.5.3",
                "3.5.2",
                "1.0.3",
                "1.0.2",
                "1.0.1",
                "1.0.0"
            ]
        },
        {
            "id": "IN-MAL-2026-013044",
            "import_time": "2026-08-05T06:00:34.783315669Z",
            "modified_time": "2026-08-05T05:25:56Z",
            "sha256": "754bd07eed200dd5018ba0408a938439816740e5629637c0fedec03c3159642e",
            "source": "amazon-inspector",
            "versions": [
                "1.0.2"
            ]
        },
        {
            "id": "IN-MAL-2026-013089",
            "import_time": "2026-08-05T06:00:39.863040911Z",
            "modified_time": "2026-08-05T05:32:18Z",
            "sha256": "5d97ec0ce1c12d0687ce2c08af7f1c7e56e0ca76d998392749314a89b1d875af",
            "source": "amazon-inspector",
            "versions": [
                "1.0.3"
            ]
        },
        {
            "id": "IN-MAL-2026-013358",
            "import_time": "2026-08-05T07:06:43.125507071Z",
            "modified_time": "2026-08-05T06:11:52Z",
            "sha256": "4e373346ad83b1ea979f92cc266743050e75f5abcf043393a245963a58ae4868",
            "source": "amazon-inspector",
            "versions": [
                "1.0.0"
            ]
        },
        {
            "id": "IN-MAL-2026-013357",
            "import_time": "2026-08-05T07:06:43.056120456Z",
            "modified_time": "2026-08-05T06:11:42Z",
            "sha256": "84abff544a1cb241224d3552fd4de1cde3b2a6e9895111b2402cc07b783ed06c",
            "source": "amazon-inspector",
            "versions": [
                "1.0.1"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / terminal-mascot

Package

Name
terminal-mascot
View open source insights on deps.dev
Purl
pkg:npm/terminal-mascot

Affected ranges

Affected versions

1.*
1.0.0
1.0.1
1.0.2
1.0.3
3.*
3.5.2
3.5.3

Database specific

cwes
[
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "scripts/install-check.cjs",
            "sha256": "5af7c18e30487ae628a965d44233bf9066e7c12df1abe703776fd5e88d411efd",
            "tlsh": "3291359519a2727746b1ebb8c722902dff2340233521c350f6de96952fb72a4c352dec"
        },
        {
            "path": "package.json",
            "sha256": "2154c020048bde371b03698a413e5c578f3b91db87d30bfd11b694616fef3c2e",
            "tlsh": "faf04c37de904e3768bc8e594e791644f5644b5f32b04d1bb0bba00c4f72163045b73a"
        }
    ],
    "package_integrity": [
        {
            "filename": "terminal-mascot-3.5.2.tgz",
            "hashes": {
                "sha1": "2bef532bc1cff95a661032d771e39dc8d6d51012",
                "sha512_sri": "sha512-jr1+ljzuUzswBmb+GRV3Apt/EMYBNIyYVBrqsYcPEL273AwoEZRQ5Y+EtbeLAiXQ27S5ZS5Ng+QGKxFDYaZhhg=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/terminal-mascot/MAL-2026-10424.json"