Open source package with 1M monthly downloads stole user credentials
A popular open source package called element-data, with over 1 million monthly downloads, was compromised when attackers exploited a vulnerability in a GitHub action to steal signing keys and publish a malicious version, 0.23.3, that harvested sensitive user credentials. The malicious package collected cloud keys, API tokens, SSH keys, and other data before being removed about 12 hours after publication. Developers have since rotated credentials, patched the vulnerability, and urged users to uninstall the compromised version and rotate exposed secrets. The incident highlights ongoing risks in open source supply chains, particularly from insecure CI/CD workflows.
Full article excerpt tap to expand
POISONING THE WELL Open source package with 1 million monthly downloads stole user credentials If you’re one of millions using element-data, it’s time to check for compromise. Dan Goodin – Apr 27, 2026 5:04 pm | 24 Text settings Story text Size Small Standard Large Width * Standard Wide Links Standard Orange * Subscribers only Learn more Minimize to nav Open source software with more than 1 million monthly downloads was compromised after a threat actor exploited a vulnerability in the developers’ account workflow that gave access to its signing keys and other sensitive information. On Friday, unknown attackers exploited the vulnerability to push a new version of element-data, a command-line interface that helps users monitor performance and anomalies in machine-learning systems. When run, the malicious package scoured systems for sensitive data, including user profiles, warehouse credentials, cloud provider keys, API tokens, and SSH keys, developers said. The malicious version was tagged as 0.23.3 and was published to the developers’ Python Package Index and Docker image accounts. It was removed about 12 hours later, on Saturday. Elementary Cloud, the Elementary dbt package, and all other CLI versions weren’t affected. Assume compromise “Users who installed 0.23.3, or who pulled and ran the affected Docker image, should assume that any credentials accessible to the environment where it ran may have been exposed,” the developers wrote. The threat actor gained access to the developers’ account by exploiting a vulnerability in a GitHub action they created. By posting malicious code to a pull request, the attackers were able to run a bash script that ran inside the developer’s account. The bash script retrieved the sensitive data. With the account tokens and signing keys, the attacker went on to publish a malicious element-data package that was nearly indistinguishable from a legitimate one. The developers learned of the compromise from a third-party issue report. Within three hours, the package was removed. Element developers said they also rotated all credentials that the malicious code had access to. They have further fixed the vulnerability and audited all their other GitHub actions to ensure none contain the same flaw. The developers are urging all developers who installed version 0.23.3 to take the following steps immediately: 1. Check your installed version: pip show elementary-data | grep Version 2. If the version is 0.23.3, uninstall it and replace it with the safe version: pip uninstall elementary-data pip install elementary-data==0.23.4 In your requirements and lockfiles, pin explicitly to elementary-data==0.23.4. 3. Delete your cache files to avoid any artifacts. 4. Check for the malware’s marker file on any machine where the CLI may have run: If this file is present, the payload executed on that machine. macOS / Linux: /tmp/.trinny-security-update Windows: %TEMP%\\.trinny-security-update 5. Rotate any credentials that were accessible from the environment where 0.23.3 ran – dbt profiles, warehouse credentials, cloud provider keys, API tokens, SSH keys, and the contents of any .env files. CI/CD runners are especially exposed because they typically have broad sets of secrets mounted at runtime. 6. Contact your security team to hunt for unauthorized usage of exposed credentials. The relevant IOCs are at the bottom of this post. Over the past decade, supply-chain attacks on open source repositories have become increasingly common.…
This excerpt is published under fair use for community discussion. Read the full article at Ars Technica.