Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

elementary-dataPyPI

Malicious code in elementary-data (PyPI) Remove it immediately and rotate any exposed credentials.

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

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for elementary-data (version 0.23.3). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging elementary-data across your stack and pipelines.

  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 ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks elementary-data before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

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.

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