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: amazon-inspector (6279c5d7cd957549bcecd8c2e4aa1377bf53c114341a3350a23464de6e18bad9)
setup.py registers custom build_py and install cmdclasses that, on every `pip install` or sdist build, POST a JSON payload containing socket.gethostname(), the install path, os.getcwd(), the Python version, and a canary identifier to the hardcoded bare-IP endpoint http://13.140.137.222:8787/_ah/dc over plain HTTP. The destination is a non-publisher bare IP, there is no opt-in, and the package name resembles an internal vendor name, so any environment whose internal dependency resolves to this public name has host and path identifiers transmitted off-host at install time. The long_description self-labels this as an 'authorized dependency-confusion canary' targeting Backblaze/Bugcrowd, but the exfiltration mechanism is identical to a hostile dependency-confusion payload and the authorization claim is author-controlled text that an installer cannot verify at install time.
Source: kam193 (c8d0787ea4049d0bb0321d1b25591f303ee2a5d5351aeb725a67250d0ddf4188)
Installing the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.
---
Category: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.
Campaign: GENERIC-standard-pypi-install-pentest
Reasons (based on the campaign):
- The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.
- The package overrides the install command in setup.py to execute malicious code during installation.