{"id":"MAL-2026-5868","summary":"Malicious code in datacamp-light (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (234a0d37873455b7db32068745d93ed29aafa596877b39949280b4ec0621ad6b)\ndatacamp-light 99.0.0 impersonates DataCamp's internal package (name='datacamp-light', author='DataCamp', url='https://github.com/datacamp/datacamp-light', anomalous version 99.0.0 — the canonical dependency-confusion bait shape). setup.py defines an exfiltrate() function and invokes it unconditionally at top level, so it fires during `pip install`. The function collects hostname, current working directory, platform, Python version, and USER/USERNAME environment variables, JSON-encodes them, and POSTs them via urllib.request.urlopen to https://z39gspa3.pingback.sh/c. Any installer whose resolver picks up this public artifact (the intent of the 99.0.0 version pin) leaks host and user identifiers to the pingback domain. Even though the package self-labels as a 'PoC,' the published artifact actively phones home from any machine that installs it.\n\n## Source: kam193 (932d64d5c0af79e8508b244379f54edc48fea625d9becd455912980e30dd146e)\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-06-16T16:16:48.805432619Z","published":"2026-06-16T07:37:14Z","database_specific":{"malicious-packages-origins":[{"sha256":"932d64d5c0af79e8508b244379f54edc48fea625d9becd455912980e30dd146e","import_time":"2026-06-16T08:06:34.14051001Z","id":"pypi/GENERIC-standard-pypi-install-pentest/datacamp-light","modified_time":"2026-06-16T07:37:14.136625Z","versions":["99.0.0"],"source":"kam193"},{"sha256":"234a0d37873455b7db32068745d93ed29aafa596877b39949280b4ec0621ad6b","import_time":"2026-06-16T16:06:32.945994809Z","id":"IN-MAL-2026-006751","modified_time":"2026-06-16T14:38:27Z","versions":["99.0.0"],"source":"amazon-inspector"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/datacamp-light"},{"type":"PACKAGE","url":"https://pypi.org/project/datacamp-light/99.0.0/"}],"affected":[{"package":{"name":"datacamp-light","ecosystem":"PyPI","purl":"pkg:pypi/datacamp-light"},"versions":["99.0.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/datacamp-light/MAL-2026-5868.json","indicators":{"evidence_files":[{"sha256":"4285235740ca60c014f0d9033e31dffcb4eda8e73eaaceff33b6a6e772920db3","tlsh":"f2214156d8216c63274664a48c1b51253727f6072e02f8ac3e8c82581fae2be03b4358","path":"setup.py"}],"package_integrity":[{"filename":"datacamp_light-99.0.0.tar.gz","hashes":{"blake2b_256":"741bb9dbeb0d166a742444b0a6cd86f13916b067dc3466dc47655f728c40df54","md5":"7d47fe8877ca21e55e07c90059d77d29","sha256":"7491fa48ad8c21f25e1dbb6c199f2fdc806c0f630c311a2e04e0125b014e1ca3"}}]},"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}]}}],"schema_version":"1.7.5","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"}]}