{"id":"MAL-2026-870","summary":"Malicious code in b10connoisseur (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (3b004210d186f2b625699f4d863f3ba95407f836eadfee0168be63f85124b5b7)\nDuring installation, package attempts to enumerate the environment and exfiltrates potentially sensitive data to a hardcoded location.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-02-b10connoisseur\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-generic\n\n\n - exfiltration-env-variables\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n## Source: ossf-package-analysis (c734377588989b8ed547518a07d2d0fd2e92265be0539f4432d06b994e9e6d17)\nThe OpenSSF Package Analysis project identified 'b10connoisseur' @ 0.12.0 (pypi) as malicious.\n\nIt is considered malicious because:\n\n- The package executes one or more commands associated with malicious behavior.\n","modified":"2026-04-01T12:45:57.846737Z","published":"2026-02-12T12:10:26Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-02-12T12:50:22.574962417Z","modified_time":"2026-02-12T12:10:26.705293Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"3b004210d186f2b625699f4d863f3ba95407f836eadfee0168be63f85124b5b7"},{"import_time":"2026-03-06T21:11:29.442372452Z","modified_time":"2026-03-06T20:58:08.431364Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"3369b11f9021c7525dff320384476ab4d3a36616841349d59cb21ba753f4f515"},{"import_time":"2026-03-06T21:43:21.712290924Z","modified_time":"2026-03-06T21:26:02.917422Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"54e2c9647c748554e39f34a8fd528013199afc3ce98a72df3ecff5d999003eae"},{"import_time":"2026-03-06T22:10:18.314107365Z","modified_time":"2026-03-06T21:52:32.201601Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"63b61417c187ba7526127de5da1e9382570f5d886dd6562eda2e93e24d0c5820"},{"import_time":"2026-03-06T22:45:02.058252165Z","modified_time":"2026-03-06T22:28:22.488206Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"0d6d00e0ece09621e555fe53fb5cc483f65e31866649fbe201fd4bf59edc690e"},{"import_time":"2026-03-06T23:11:26.676473187Z","modified_time":"2026-03-06T23:01:53.57702Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"1bb25b00f95ef2c6e722499a681240560850314f17f8881d51846f3c53957755"},{"import_time":"2026-03-06T23:41:40.38084262Z","modified_time":"2026-03-06T23:18:04.549966Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"77dd4939c36efc50d4f211e40b1df3e13e5775cc7c6362e778393aea232baead"},{"import_time":"2026-03-08T00:34:36.425306Z","modified_time":"2026-03-08T00:04:04.253021Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0","0.29.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"c68420d96717961e267ab236270c5f6c5d01837d430054b00c9e4704d9f2de51"},{"import_time":"2026-03-08T01:38:02.746283354Z","modified_time":"2026-03-08T00:22:19.258541Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0","0.29.0","0.30.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"178496344d1882e4e35e5b0041d82f48a492b27e21d5587f5ee24170d78a2706"},{"import_time":"2026-03-08T03:05:15.735255176Z","modified_time":"2026-03-08T01:20:25.206376Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0","0.29.0","0.30.0","0.31.0"],"source":"kam193","id":"pypi/2026-02-b10connoisseur/b10connoisseur","sha256":"37e278994fea44b8b5112f9a008ba6134b6b386c6994b6ac32a25ba1e1ea0f53"},{"import_time":"2026-03-08T22:41:48.456837833Z","modified_time":"2026-03-06T20:42:54Z","source":"ossf-package-analysis","versions":["0.12.0"],"sha256":"c734377588989b8ed547518a07d2d0fd2e92265be0539f4432d06b994e9e6d17"},{"import_time":"2026-03-19T12:18:15.994682107Z","modified_time":"2026-03-18T12:11:45Z","versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0"],"source":"reversing-labs","id":"RLMA-2026-00132","sha256":"2bb1467d52a9281532f2dc74876d141108342b71182e6cc72e83921bd37339c7"},{"import_time":"2026-04-01T12:26:12.938057339Z","modified_time":"2026-03-24T15:21:49Z","versions":["0.21.0","0.24.0","0.22.0","0.12.0","0.23.0","0.30.0","0.27.0","0.29.0","0.26.0","0.19.0","0.20.0","0.31.0","0.28.0","0.25.0","0.14.0"],"source":"reversing-labs","id":"RLUA-2026-01677","sha256":"730c86ba10d4e9647106d3d5e4191ec26d5e074240d88c02787c81071cd64452"}],"iocs":{"ips":["54.242.228.151"],"urls":["http://54.242.228.151:8090/debug-21f53"]}},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/b10connoisseur"}],"affected":[{"package":{"name":"b10connoisseur","ecosystem":"PyPI","purl":"pkg:pypi/b10connoisseur"},"versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.5.0","0.12.0","0.13.0","0.14.0","0.17.0","0.18.0","0.19.0","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0","0.29.0","0.30.0","0.31.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/b10connoisseur/MAL-2026-870.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"},{"name":"OpenSSF: Package Analysis","contact":["https://github.com/ossf/package-analysis","https://openssf.slack.com/channels/package_analysis"],"type":"FINDER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}