NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

elementary-dataPyPI

Advisory published Updated

elementary-data is a confirmed malicious PyPI package (MAL-2026-3083) that steals credentials and exfiltrates sensitive data (malicious version 0.23.3). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in elementary-data (PyPI)

MAL-2026-3083
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall elementary-data

What this malware does

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

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.

Malicious versions

1 flagged
0.23.3

Indicators of compromise (SHA-256)

83f9b178b520d3ad8b49bc9ea2b454eacf64fc302ec42aff6f90a1245af299e9
96dc65f67f54411d3de6b23a33a8f73665e2703d7261b7f1720cdc089c528eea
fcb538f8a937dd2e97532899be80827772aa99f0523c582aef301682d6e96b75
cc802c0d8b918c99b39f26f473e8090b7073d45268b399df2e2ff5d5549c2a37
0bf22f5de2169f2f614c12aaecf586fd7a203cff41f4b79583963a30660a7019

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for elementary-data (version 0.23.3).

  2. If you installed it — respond

    elementary-data is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If elementary-data was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. elementary-data on PyPI has been identified as a malicious package (version 0.23.3 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-04-compr-elementary-data

References

Credits

  • Kamil Mańkowski (kam193) · analyst
  • OpenSSF: Package Analysis · finder

Detect & block this

O3 blocks elementary-data-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

elementary-data (PyPI) malicious package — MAL-2026-3083 | O3 Security