Skip to content
OpenAdvisories
Malicious MAL-2026-3083

elementary-data

PyPI package · versions 0.23.3

Reported Apr 24, 2026 · Updated Jun 8, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: kam193 (96dc65f67f54411d3de6b23a33a8f73665e2703d7261b7f1720cdc089c528eea)
Versions 0.23.3 were compromised.

A threat actor exploited a vulnerability in the CI workflows to inject code and establish, likely, a reverse shell in the CI environment (https://github.com/elementary-data/elementary/actions/runs/24914128534/job/72962412074). Following that, the access was used to create 3 PRs with malicious code, and finally publish the malicious 0.23.3 version of the elementary-data package to PyPI, which was available between 2026-04-24 22:20 and 2026-04-25 9:45 (UTC) (https://github.com/elementary-data/elementary/actions/runs/24914446630). Malicious code was also published as a Docker image.

Malicious code was inserted in a PTH file, causing execution on any Python run. It then collects all kinds of sensitive data (credentials, .env files, cloud tokens, cryptocurrency wallets, Kubernetes configurations, shell history, data from AWS secret manager, ...) and exfiltrates to the hardcoded target.

---

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-04-compr-elementary-data

Reasons (based on the campaign):

- files-exfiltration

- exfiltration-generic

- exfiltration-ssh-keys

- obfuscation

- exfiltration-cloud-tokens

- exfiltration-crypto

- exfiltration-credentials

- compromised-package

- exploited-ci-vulnerability

Source: ossf-package-analysis (83f9b178b520d3ad8b49bc9ea2b454eacf64fc302ec42aff6f90a1245af299e9)
The OpenSSF Package Analysis project identified 'elementary-data' @ 0.23.3 (pypi) as malicious.

It is considered malicious because:

- The package executes one or more commands associated with malicious behavior.

Indicators of compromise

Shown defanged and not clickable. Search any indicator to find other packages using it.

Domains

URLs