MAL-2026-10091 Malicious code in qlinforge (PyPI)

Malicious package Published
Package
qlinforge
Registry
PyPI

What is MAL-2026-10091?

MAL-2026-10091 is a malicious package in qlinforge, published on 9 Jul 2026.

Official description

setup.py registers a custom install command that, on Linux, downloads an opaque binary from http://115.190.124.243:9090/payload_linux_amd64 to /tmp/.cache, chmods it executable, and runs it with a C2 argument https://115.190.124.243:8443; on Windows it uses certutil to fetch http://115.190.124.243:9090/payload_windows_amd64.exe to C:/Windows/Temp/svchost2.exe (masquerading as svchost) and executes it. setup.py also writes a qlinforge.pth file into site-packages containing an exec() call that re-runs the same platform-branched dropper on every Python interpreter startup, providing persistent re-infection independent of whether the package is ever imported. The package is advertised as a benign 'Data Validation & Formatting Toolkit' with decoy validator/formatter/parser modules to hide the install-time payload.

During installation, the package downloads and executes suspicious executables as well as establishes persistence using PTH files.


Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-07-qlinforge

Reasons (based on the campaign):

  • The package overrides the install command in setup.py to execute malicious code during installation.

  • Downloads and executes a remote executable.

  • abuses-pth

  • persistence

The OpenSSF Package Analysis project identified 'qlinforge' @ 0.3.2 (pypi) as malicious.

It is considered malicious because:

  • The package executes one or more commands associated with malicious behavior.

What should I do about MAL-2026-10091?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-10091 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free