MAL-2026-51

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/async-substrate-interface-upgrade/MAL-2026-51.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-51
Published
2026-01-05T17:33:17Z
Modified
2026-01-05T22:49:24.965211Z
Summary
Malicious code in async-substrate-interface-upgrade (PyPI)
Details

-= 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

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",
            "sha256": "9f97af1701ef4cd3f9c0a8bf1f8245a4291ac3b704b9149972b27a6dd9966428",
            "source": "kam193",
            "versions": [
                "1.5.17"
            ],
            "modified_time": "2026-01-05T17:33:17.656801Z",
            "import_time": "2026-01-05T17:40:51.662382221Z"
        },
        {
            "id": "pypi/2026-01-gztensor-cli/async-substrate-interface-upgrade",
            "sha256": "3ea2a1a85801dfb28bed2b98ee9ee9e12cc6d2ab9dfad88fd12cdd8fffcfcf7e",
            "source": "kam193",
            "versions": [
                "1.5.17"
            ],
            "modified_time": "2026-01-05T17:33:17.656801Z",
            "import_time": "2026-01-05T22:40:31.048853794Z"
        }
    ]
}
References
Credits

Affected packages

PyPI / async-substrate-interface-upgrade

Package

Name
async-substrate-interface-upgrade
View open source insights on deps.dev
Purl
pkg:pypi/async-substrate-interface-upgrade

Affected ranges

Affected versions

1.*
1.5.17

Database specific

source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/async-substrate-interface-upgrade/MAL-2026-51.json"