MAL-2026-18751: Malicious code in qzc690385 (PyPI)
--- -= Per source details. Do not edit below this line.=-
Source: amazon-inspector (84cc8690335a9ed7454c095286b0a9fd18141513f6d619e62a28d1b5f4751beb) On sdist install, setup.py writes a Python HTTP server to /tmp/.zqx and launches it detached via nohup... & with startnewsession=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/modelregistrations/flexible, referencing xinference.model.flexible.launchers.transformerslauncher.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 modelname 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.