Malicious code in qzc690385 (PyPI)
MAL-2026-18751
Published · Modified
Dependency scanning
Check whether qzc690385 is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (84cc8690335a9ed7454c095286b0a9fd18141513f6d619e62a28d1b5f4751beb)
On sdist install, setup.py writes a Python HTTP server to /tmp/.zqx and launches it detached via nohup... & with start_new_session=True. The server binds 0.0.0.0 on ports 9998, 9999, 8089, 8099, and 8777 and executes arbitrary shell commands received via HTTP GET query parameters, gated only by the hardcoded token kq7731. In parallel, setup.py POSTs crafted model-registration payloads to a local Xinference API at http://127.0.0.1:9997/v1/model_registrations/flexible, referencing xinference.model.flexible.launchers.transformers_launcher.launcher — a known Xinference abuse path for code execution via model registration. The same POST stream smuggles base64-url-encoded host reconnaissance (python path, listening ports in the backdoor's port range, and process count for /tmp/.zqx) in chunks via the model_name field (zqxp%02d<b64>), using the Xinference registry as both the RCE primitive and a data-return channel. The package provides no legitimate functionality consistent with these behaviors.
Source: kam193 (38936057b5c5ae57efbe9fc39bb036a1c848141352548997ae9ddb9d54737468)
In this campaign, packages execute malicious code during installation. The exact behavior varies between versions: fingerprinting environment, exposing a backdoor server listening for remote commands, downloading remote commands from a hardcoded location. Next stages seem to be downloaded from localhost, what suggests the code may still be a preparation for the real attack.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-11-qzc
Reasons (based on the campaign):
The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.
The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.
backdoor
The package overrides the install command in setup.py to execute malicious code during installation.
Ready to move
Start Securing
Free, no credit card | First findings in minutes