{"id":"MAL-2026-1294","summary":"Malicious code in causal-canvas (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (ecab11884e9f4226d493a759dd7039ee4669a904d1834041fb73c81502fe4f27)\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\n## Source: ossf-package-analysis (29d40dc740a5e270e319661e2e5c80d03b4bc01a7a306e930f82ace29699520e)\nThe OpenSSF Package Analysis project identified 'causal-canvas' @ 99.0.0 (pypi) as malicious.\n\nIt is considered malicious because:\n\n- The package communicates with a domain associated with malicious activity.\n","modified":"2026-04-10T16:05:01.286157Z","published":"2026-03-09T17:28:14Z","database_specific":{"malicious-packages-origins":[{"versions":["99.0.0"],"source":"ossf-package-analysis","sha256":"29d40dc740a5e270e319661e2e5c80d03b4bc01a7a306e930f82ace29699520e","modified_time":"2026-03-09T17:28:14Z","import_time":"2026-03-09T17:48:12.615206347Z"},{"versions":["99.0.0"],"source":"kam193","sha256":"ecab11884e9f4226d493a759dd7039ee4669a904d1834041fb73c81502fe4f27","modified_time":"2026-03-09T17:31:37.623747Z","import_time":"2026-03-09T18:21:38.589876211Z","id":"pypi/GENERIC-standard-pypi-install-pentest/causal-canvas"},{"versions":["99.0.0"],"source":"kam193","sha256":"a973113293bb5a543ff2dce4b700a2274baab554d942e85de5c7657a809c85da","modified_time":"2026-03-11T23:33:33.174603Z","import_time":"2026-03-12T00:28:59.033482762Z","id":"pypi/GENERIC-hackerone-bugbounty/causal-canvas"},{"versions":["99.0.0"],"source":"kam193","sha256":"6de677ccf6f8af6c953f615c1f5955785338aced92e082ba5593409409ee45f9","modified_time":"2026-03-11T23:33:33.174603Z","import_time":"2026-04-10T15:49:32.399762834Z","id":"pypi/GENERIC-hackerone-bugbounty/causal-canvas"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/causal-canvas"}],"affected":[{"package":{"name":"causal-canvas","ecosystem":"PyPI","purl":"pkg:pypi/causal-canvas"},"versions":["99.0.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/causal-canvas/MAL-2026-1294.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"},{"name":"OpenSSF: Package Analysis","contact":["https://github.com/ossf/package-analysis","https://openssf.slack.com/channels/package_analysis"],"type":"FINDER"}]}