Skip to content
OpenAdvisories
Malicious MAL-2026-1036

uitil

PyPI package · versions 0.1.4, 0.1.5

Reported Jan 16, 2026 · Updated Feb 26, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: kam193 (ff0b75197d8e7cd361d61461260811fba8920c54b8538cb5f21ec2fc1c885ec3)
The package implements an undocumented way to execute code hidden in image files, and a function that searches for images in the current directory and attempts to execute the code.

It's used in the GitHub repository https://github.com/OR-6/PassCheck/blob/main/main.py#L190 to silently execute the command hidden in the image https://github.com/OR-6/PassCheck/blob/b09b3f1ec5d7345c614b1d956840ee2774f7131b/demo.png when the user interacts with the repository code. The decrypted command attempted to download and execute code from hxxps://or-6.github[.]io, which at the time of analysis didn't host any code.

---

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

Campaign: 2026-01-uitil

Reasons (based on the campaign):

- typosquatting

- steganography

- The malicious code is intentionally included in a dependency of the package

- action-hidden-in-lib-usage

- The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.

Indicators of compromise

Shown defanged and not clickable. Search any indicator to find other packages using it.

Domains

URLs