{"id":"MAL-2025-47749","summary":"Malicious code in brotli-python (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (3750f9d493198c7607b7f1d5855b6e8726edb24618beeb216e5a86a4a9119e5f)\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-03-19T12:51:21.970380Z","published":"2025-09-07T18:53:07Z","database_specific":{"malicious-packages-origins":[{"sha256":"2ec570a3bde8f9312ed5f031fd3423750dc7b1f6ac99506dbac2b5f3767e8c2e","versions":["99.3.1","99.6.1","99.99.1"],"modified_time":"2025-09-26T09:13:46Z","source":"reversing-labs","import_time":"2025-09-26T11:05:31.470267384Z","id":"RLMA-2025-04748"},{"sha256":"65512240f27e9cf895a084968c506b54497be85127ec7d8da531eaf21fcb236a","versions":["99.5.1","99.3.1","99.2.1","99.1.1","1.9.12","100.99.0","1.0.9","1.1.9","1.2.9"],"modified_time":"2025-09-08T03:28:46.004831Z","source":"kam193","import_time":"2025-12-02T22:30:55.892985621Z","id":"pypi/GENERIC-standard-pypi-install-pentest/brotli-python"},{"sha256":"3750f9d493198c7607b7f1d5855b6e8726edb24618beeb216e5a86a4a9119e5f","versions":["99.5.1","99.3.1","99.2.1","99.1.1","1.9.12","100.99.0","1.0.9","1.1.9","1.2.9"],"modified_time":"2025-09-08T03:28:46.004831Z","source":"kam193","import_time":"2025-12-02T23:07:19.078977133Z","id":"pypi/GENERIC-standard-pypi-install-pentest/brotli-python"},{"sha256":"001d708d03d7eb0b5ceaed11cea3cfd3ff915e784393a872f5cf71d087dc04fd","versions":["1.0.9","1.1.9","1.2.9","1.9.12","99.1.1","99.2.1","99.3.1","99.5.1","100.99.0"],"modified_time":"2025-09-08T03:28:46.004831Z","source":"kam193","import_time":"2025-12-30T22:39:04.268048231Z","id":"pypi/GENERIC-standard-pypi-install-pentest/brotli-python"},{"sha256":"b407cfd27f26faa22ea6f8f13e5551e2ee666aef52e7af04b9ed8f8e5feda8cf","modified_time":"2026-03-18T12:12:01Z","source":"reversing-labs","import_time":"2026-03-19T12:19:30.081772065Z","id":"RLUA-2026-00155"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/brotli-python"}],"affected":[{"package":{"name":"brotli-python","ecosystem":"PyPI","purl":"pkg:pypi/brotli-python"},"versions":["99.3.1","99.6.1","99.99.1","99.5.1","99.2.1","99.1.1","1.9.12","100.99.0","1.0.9","1.1.9","1.2.9"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/brotli-python/MAL-2025-47749.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"]},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}