{"id":"MAL-2026-4745","summary":"Malicious code in clearml-truen-patch (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (868fbff2db730a4a67f808b6c9bd35aa78392be592adb2d66d6be659772610f6)\nThis package is published as `clearml-truen-patch` but its PKG-INFO/setup.py declare Author=`ClearML`, Author-email=`support@clear.ml`, and Home-page=`https://github.com/clearml/clearml`, falsely presenting it as a first-party release of the legitimate ClearML SDK. The actual modifications are by an unrelated third party (Korean-language `# truen patch:` comments in datasets/dataset.py:3588). At install time, setup.py's PostInstall hook calls `_apply_overlay()` which invokes `clearml_truen_patch._install.run(force=True)`; that function locates the on-disk `clearml/` directory of the legitimate `clearml` package in site-packages and uses `shutil.copy2` to copy this package's files (including backend_api/session.py, task.py, model.py, storage/helper.py) over clearml's installed files. After install, `import clearml` resolves to the third-party author's code instead of upstream ClearML. The package additionally ships `clearml_truen_patch.pth`, which is auto-loaded by site.py at every Python interpreter startup and runs `import clearml_truen_patch._autoapply`. That module calls `_install.run(force=True)` whenever `needs_apply()` detects that clearml's files differ from this package's source fingerprint, so any attempt by the user to reinstall or repair `clearml` to restore upstream code is silently reverted on the next Python invocation. The combination — falsified publisher identity, install-time overwrite of another publisher's installed package, and a self-healing.pth persistence mechanism — gives the third-party author durable control over the `clearml` import surface on every installer's machine. Even if the current overlay diff is benign, any future release can trojan a widely used ML SDK with no further consent from installers.\n","modified":"2026-06-26T12:26:02.805324047Z","published":"2026-05-19T20:10:42Z","withdrawn":"2026-06-18T19:50:12Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["2.1.3.post6"],"id":"IN-MAL-2026-003274","import_time":"2026-05-26T05:50:20.191814403Z","modified_time":"2026-05-19T20:10:42Z","sha256":"868fbff2db730a4a67f808b6c9bd35aa78392be592adb2d66d6be659772610f6"}]},"references":[{"type":"PACKAGE","url":"https://pypi.org/project/clearml-truen-patch/2.1.3.post6/"}],"affected":[{"package":{"name":"clearml-truen-patch","ecosystem":"PyPI","purl":"pkg:pypi/clearml-truen-patch"},"versions":["2.1.3.post6"],"database_specific":{"indicators":{"evidence_files":[{"sha256":"6dc0d89375fe4259a196d9108dc408f8f9870f5c7ac4ca5048ab62b40e804a52","tlsh":"6af0a2f8ea86613771f1448c2d85e2abf534c72096c56066c4d20ecb03893dc47a5230","path":"PKG-INFO"},{"path":"clearml_truen_patch/_install.py","sha256":"e6dfe76fce5804b323646dafd03d830f3b964e328cdb06d6cbae657b6c88b2f4","tlsh":"e781215996516c33f7a38a9e89d7c2107337bc831ad02035b9dc62e92f923794275bbc"},{"path":"clearml_truen_patch/_autoapply.py","sha256":"7f70191c2d5fc5e0b9c1bdaacf00f768ddc4c3e949d21c743c95359c087cc1da","tlsh":"4701fea225106033f996422ed7d6c2a21537af5f43e11438f1fea37a1f6243cd175a7a"}],"package_integrity":[{"filename":"clearml_truen_patch-2.1.3.post6-py3-none-any.whl","hashes":{"md5":"ed54bd3425c38c2493e977c9d66e097e","sha256":"baf7d63afcc3fede0eebff1f62625f52916dcaf15d1351b37b38c6aca43b2f1a","blake2b_256":"0a0c17d0354214991a925e948d80865a983595102b20ad28bfc46bc6717dda2a"}},{"filename":"clearml_truen_patch-2.1.3.post6.tar.gz","hashes":{"sha256":"373db80090dfd159357136278857503183eb5182e13e066708b169953b12d3ec","blake2b_256":"943d579116d076fcaf877fe2ac58f7b901d95c1c2c555438c6d88781c560dee5","md5":"3cbbbea5931fd5a99dab670eddca9e41"}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/pypi/clearml-truen-patch/MAL-2026-4745.json","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":["actran@amazon.com"],"type":"FINDER"}]}