{"id":"MAL-2025-1973","summary":"Malicious code in example-vizsla-tutorial (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (d5047acdff9541b0968719265aafdedb63d94f9adb9889f60c8705ada8c58966)\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:52:58.026045Z","published":"2024-07-26T16:53:30Z","database_specific":{"malicious-packages-origins":[{"source":"reversing-labs","sha256":"485a4e338a4ccaf3e5de094a83b552a37b5e0c49f26183dfa3b3a725ccc28348","versions":["0.1.0","0.1.1"],"id":"RLMA-2025-01213","modified_time":"2025-03-03T13:44:51Z","import_time":"2025-03-03T15:07:14.8534185Z"},{"source":"kam193","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"sha256":"7076208c5800207723c98f7b465955f1456f62bc6424a7e5b587c62c17e3a561","id":"pypi/GENERIC-standard-pypi-install-pentest/example-vizsla-tutorial","modified_time":"2024-07-26T16:53:30Z","import_time":"2025-12-02T22:30:56.018728223Z"},{"source":"kam193","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"sha256":"d5047acdff9541b0968719265aafdedb63d94f9adb9889f60c8705ada8c58966","id":"pypi/GENERIC-standard-pypi-install-pentest/example-vizsla-tutorial","modified_time":"2024-07-26T16:53:30Z","import_time":"2025-12-02T23:07:19.217371844Z"},{"source":"kam193","sha256":"41176b609425135fbc4875bb1defac43882327df940e4c10996fbb863e2a5477","versions":["0.1.1","0.1.0"],"id":"pypi/GENERIC-standard-pypi-install-pentest/example-vizsla-tutorial","modified_time":"2024-07-26T16:53:30Z","import_time":"2025-12-10T21:38:58.357691284Z"},{"source":"kam193","sha256":"deef2e8cdcdea345f152323902e9ab152368703bf530577fc76f82a41c5302f4","versions":["0.1.0","0.1.1"],"id":"pypi/GENERIC-standard-pypi-install-pentest/example-vizsla-tutorial","modified_time":"2024-07-26T16:53:30Z","import_time":"2025-12-30T22:39:04.2868338Z"},{"source":"reversing-labs","sha256":"7cb95f0c10ebc07876cff1c49a87c8cf6e7d446a4c129710342af14d74d5b4b1","id":"RLUA-2026-00305","modified_time":"2026-03-18T12:13:38Z","import_time":"2026-03-19T12:19:43.768479821Z"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/example-vizsla-tutorial"}],"affected":[{"package":{"name":"example-vizsla-tutorial","ecosystem":"PyPI","purl":"pkg:pypi/example-vizsla-tutorial"},"versions":["0.1.0","0.1.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/example-vizsla-tutorial/MAL-2025-1973.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":"ANALYST"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}