High confidence indicators of compromise:
- File location:
C:\Users[Redacted]\AppData\Roaming\uv\python\cpython-3.12.9-windows-x86_64-none\python.exe - SHA256:
22D4C91325660C46C242F0D66D2FF34FF7B65DAD7E17277E0535796B018446F0 - Authenticode:
Not signed. Official CPython binaries are signed. - AV detections observed:
Kaspersky: Trojan-PSW.MSIL.Stealer
McAfee: Artemis!F111A311D45A
BitDefender: Gen:Variant.Lazy.84273
ESET: MSIL/Spy.Agent.DFO
Symantec: Trojan.Gen.2 - Resources:
20+ embedded .ico resources inside python.exe. This is atypical for legitimate interpreters and consistent with a packed or tampered binary. - Build provenance artifact:
Embedded PDB path references the default Windows GitHub Actions account “runneradmin,” indicating CI compiled origin rather than an official release build. - Network and host behavior observed:
- Outbound beacon attempts to Microsoft owned domains.
- Local lateral movement indicators including an attempted connection to 192.168.0.20.
- RPC binding activity on port 135. ESET terminated a PowerShell process that was sending malicious content over localhost toward the internal network.
- Browser targeting: droppers wrote .ico payloads into Firefox cache under AppData. This appears designed to stage execution through cached icon loads.
- Widespread contamination: every .pycache and .venv directory that executed with the trojanized interpreter showed modification.
- One GUID named artifact was quarantined by ESET but could not be deleted on first attempt.