{"id":"MAL-2026-11067","summary":"Malicious code in blessclient (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (82efbe82f1f4cdc513a33b4deeb7a811318155aaf4de1d4319dc54f8730f409b)\nThe package name matches Lyft's internal `python-blessclient` and is published on the public index as a dependency-confusion tripwire. `setup.py` overrides the `install` command class (`InstallWithCanary`) to issue an HTTP GET to `http://canarytokens.com/about/static/obeoafaz522zscu7248tqu4rh/submit.aspx` during `pip install`, and `blessclient/__init__.py` fires the same beacon at import time via `urllib.request.urlopen(_CANARY_URL)`. The beacon body carries only what an ordinary HTTP GET reveals (source IP, User-Agent); no environment variables, filesystem contents, or credentials are read or transmitted, and no code is fetched or executed. The destination is the canarytokens.com research service rather than attacker-controlled infrastructure. Installing this package discloses the fact and source of the install to whoever configured the canary token, and executes network I/O at install and import time without opt-out.\n\n## Source: kam193 (cce3c8791da7093bb0d6aaf8b79f49e5cbbcc4114f075f60121fc99b31c74e09)\nInstalling the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.\n\n\n---\n\nCategory: 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.\n\n\nCampaign: GENERIC-standard-pypi-install-pentest\n\n\nReasons (based on the campaign):\n\n\n - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n","modified":"2026-08-05T06:36:44.314983848Z","published":"2026-07-25T21:13:35Z","database_specific":{"malicious-packages-origins":[{"sha256":"cce3c8791da7093bb0d6aaf8b79f49e5cbbcc4114f075f60121fc99b31c74e09","source":"kam193","versions":["0.0.1","0.0.2"],"id":"pypi/GENERIC-standard-pypi-install-pentest/blessclient","import_time":"2026-07-25T21:51:11.923657326Z","modified_time":"2026-07-25T21:13:35.450836Z"},{"import_time":"2026-08-05T06:00:35.211302517Z","modified_time":"2026-08-05T05:26:30Z","sha256":"82efbe82f1f4cdc513a33b4deeb7a811318155aaf4de1d4319dc54f8730f409b","source":"amazon-inspector","versions":["0.0.1"],"id":"IN-MAL-2026-013048"},{"modified_time":"2026-08-05T05:33:58Z","sha256":"cd5c7516a17b9f62deb6dae9f1f997ba97f86a900233f78da88f615d48ae1c77","source":"amazon-inspector","versions":["0.0.2"],"id":"IN-MAL-2026-013100","import_time":"2026-08-05T06:00:41.454952813Z"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/blessclient"},{"type":"PACKAGE","url":"https://pypi.org/project/blessclient/0.0.1/"},{"type":"PACKAGE","url":"https://pypi.org/project/blessclient/0.0.2/"}],"affected":[{"package":{"name":"blessclient","ecosystem":"PyPI","purl":"pkg:pypi/blessclient"},"versions":["0.0.1","0.0.2"],"database_specific":{"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."},{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"evidence_files":[{"path":"setup.py","sha256":"76b98ed285166cd5fc715d9010fffabd64a0b7dc518b32966ecc3b84b185c290","tlsh":"bc211409cdd638b6a8c691304977da6d6536b3037d10f8a9f5ed810c2f5d1fe863a05d"}],"package_integrity":[{"filename":"blessclient-0.0.2.tar.gz","hashes":{"sha256":"97a792105c882f26da265d4601355d0f5ee3d85ff3da2bf13ae146945d260477","blake2b_256":"c88702abb4f28d722b2cd7790e05a4b24dad4036dde698a4cb04083d1bc88703","md5":"ef1f8181ccb54f69650f7406af23e311"}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/blessclient/MAL-2026-11067.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}