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 (a98209ec0f506986521ebd7b24de4f266f6bb61aba50f2dc511c391f1037848b)
It's a clone of "loguru" package which on import loads a second-stage script from loguru[.]guru. This makes a few checks and downloads the next stage, which is a code obfuscated with PyArmor with unclear behaviour.
The way the malicious code has been embedded could be called a "sophisticated" threat. The code is in the _logger.py in two places: the payload in L2242 as a long string constraint of only whitespaces, which are then transformed into bits and bytes, and later compiled and executed using "types.FunctionType" during initialisation of Core class.
---
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2025-07-loquru
Reasons (based on the campaign):
- typosquatting
- obfuscation
- clones-real-package
- Downloads and executes a remote malicious script.
Indicators of compromise
Shown defanged and not clickable. Search any indicator to find other packages using it.
Domains
- loguru[.]guru other packages →
URLs
- hxxps://loguru[.]guru/version/is_match_revision other packages →
- hxxps://loguru[.]guru/version/code other packages →