Skip to content
Tech News
← Back to articles

PyPI package with 1.1M monthly downloads hacked to push infostealer

read original get Cybersecurity Software Suite → more articles
Why This Matters

This incident highlights the ongoing cybersecurity risks associated with open-source software, especially when supply chain vulnerabilities are exploited through workflow flaws rather than direct account compromises. It underscores the importance for developers and organizations to implement rigorous security practices to protect their dependencies and workflows, as malicious updates can have widespread impact given the popularity of packages like elementary-data. The event serves as a reminder for the tech industry to strengthen security measures across open-source projects to safeguard sensitive data and maintain trust.

Key Takeaways

An attacker pushed a malicious version of the popular elementary-data package Python Package Index (PyPI) to steal sensitive developer data and cryptocurrency wallets.

The dangerous release is 0.23.3, and it extended to the Docker image due to the package's workflow that creates the image from the code and uploads it to a container registry for deployment.

Community member crisperik spotted the malicious upload and opened an issue on the project’s GitHub on Saturday, alerting the maintainer and decreasing the exposure window.

A clean replacement, elementary-data 0.23.4, was pushed to users. However, users who downloaded the malicious variant remained compromised.

The elementary-data package is an open-source data observability tool for dbt, primarily used by data/analytics engineers working with data pipelines. It is a popular tool in the dbt (Data Build Tool) ecosystem, with more than 1.1 million monthly downloads on PyPI.

According to an analysis of the incident published by StepSecurity researchers, the attacker exploited a flaw in the project’s workflow, rather than compromising the maintainers’ accounts, as is more common with rogue updates.

The attacker posted a malicious comment on a pull request that exploited a GitHub Actions script injection flaw, causing the workflow to execute attacker-controlled shell code.

This exposed the workflow’s GITHUB_TOKEN, which was then used to forge a signed commit and tag (v0.23.3) and trigger the project’s legitimate release pipeline.

The pipeline built and published the backdoored package to PyPI as well as a malicious image to GitHub Container Registry, making it appear as an official release.

The malicious release on PyPI

... continue reading