mal-2026-51
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: kam193 (9f97af1701ef4cd3f9c0a8bf1f8245a4291ac3b704b9149972b27a6dd9966428)
This is a typosquatting/dependency confusion package that is part of a campaign embedding malicious code but was found before the malicious code was injected. The original, legitimate package is https://pypi.org/project/celium-collateral/ The uploader proved malicious intentions in the gztensor-cli package
Packages in this campaign clone a legitimate library and add a hidden code that downloads a malicious script. The script then downloads an archive with malicious executable in the version appropriate to the system architecture, and ensures persistency by adding automatically started service entries. The remote code is a Go-based inforstealer and backdoor previously attributed to Nordkorean cybercrime activities. In this campaign, the malicious code is not immediately introduced in the typosquatted package, but added with an update.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-01-gztensor-cli
Reasons (based on the campaign):
-
crypto-related
-
action-hidden-in-lib-usage
-
Downloads and executes a remote executable.
-
clones-real-package
-
peristence-autorun
-
typosquatting
-
obfuscation
-
backdoor
-
infostealer
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "async-substrate-interface-upgrade"
},
"versions": [
"1.5.17"
]
}
],
"credits": [
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "REPORTER"
}
],
"database_specific": {
"iocs": {
"domains": [
"bitensor.xyz",
"cameradriver.pro"
],
"ips": [
"23.227.203.99"
],
"urls": [
"https://bitensor.xyz/realtek.sh"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2026-01-gztensor-cli/async-substrate-interface-upgrade",
"import_time": "2026-01-05T17:40:51.662382221Z",
"modified_time": "2026-01-05T17:33:17.656801Z",
"sha256": "9f97af1701ef4cd3f9c0a8bf1f8245a4291ac3b704b9149972b27a6dd9966428",
"source": "kam193",
"versions": [
"1.5.17"
]
},
{
"id": "pypi/2026-01-gztensor-cli/async-substrate-interface-upgrade",
"import_time": "2026-01-05T22:40:31.048853794Z",
"modified_time": "2026-01-05T17:33:17.656801Z",
"sha256": "3ea2a1a85801dfb28bed2b98ee9ee9e12cc6d2ab9dfad88fd12cdd8fffcfcf7e",
"source": "kam193",
"versions": [
"1.5.17"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (9f97af1701ef4cd3f9c0a8bf1f8245a4291ac3b704b9149972b27a6dd9966428)\nThis is a typosquatting/dependency confusion package that is part of a campaign embedding malicious code but was found before the malicious code was injected. The original, legitimate package is https://pypi.org/project/celium-collateral/ The uploader proved malicious intentions in the gztensor-cli package\n \nPackages in this campaign clone a legitimate library and add a hidden code that downloads a malicious script. The script then downloads an archive with malicious executable in the version appropriate to the system architecture, and ensures persistency by adding automatically started service entries. The remote code is a Go-based inforstealer and backdoor previously attributed to Nordkorean cybercrime activities. In this campaign, the malicious code is not immediately introduced in the typosquatted package, but added with an update.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-01-gztensor-cli\n\n\nReasons (based on the campaign):\n\n\n - crypto-related\n\n\n - action-hidden-in-lib-usage\n\n\n - Downloads and executes a remote executable.\n\n\n - clones-real-package\n\n\n - peristence-autorun\n\n\n - typosquatting\n\n\n - obfuscation\n\n\n - backdoor\n\n\n - infostealer\n",
"id": "MAL-2026-51",
"modified": "2026-01-05T22:42:07Z",
"published": "2026-01-05T17:33:17Z",
"references": [
{
"type": "WEB",
"url": "https://dmpdump.github.io/posts/NorthKorea_Backdoor_Stealer/"
},
{
"type": "WEB",
"url": "https://www.virustotal.com/gui/file-analysis/NTk2Y2FiNTBmM2QxODI2NDRlZGM0OTA2OGVjYzUxOTk6MTc2NzYzMzkzMA=="
},
{
"type": "EVIDENCE",
"url": "https://www.virustotal.com/gui/file/d02d6a5da3cff57d78e260961526420c172a46f4a07d18a3865fecbf5dfebc1d/detection"
},
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/async-substrate-interface-upgrade"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in async-substrate-interface-upgrade (PyPI)"
}
Sightings
| Author | Source | Type | Date |
|---|
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.