Ethereum Private Key Thief on PyPI: 1,000+ Downloads

Open-Source Threat: The Danger Lurking in Python Packages

In the big, collaborative world of open-source software, a new danger has shown up, targeting one of the most secure and decentralized systems: Ethereum. A bad Python package named “set-utils” was found on the Python Package Index (PyPI). It’s designed to steal Ethereum private keys! This package has been downloaded over 1,000 times since it was put up on January 29, 2025[1][2]. This is a big problem because even if not many people download it, it can still affect many users who use these packages to create and manage their Ethereum wallets.

How the Bad Package Works

The “set-utils” package looks like a useful tool for Python, but it’s actually hiding a secret. It pretends to be like popular packages like “python-utils” and “utils”[1]. But its real job is to steal Ethereum private keys. It does this by tricking standard wallet creation functions like `from_key()` and `from_mnemonic()`[1]. When you use these functions on a computer that has the bad package, the private key is sent to the bad guy’s computer[1].

Once the private key is stolen, it’s hidden in an Ethereum transaction and sent to the bad guy’s account using the Polygon RPC endpoint “rpc-amoy.polygon.technology/”[1]. This is sneaky because firewalls and antivirus tools usually don’t watch blockchain transactions[1].

Who’s in Danger?

The people most at risk are blockchain developers who use ‘eth-account’ for wallet creation and management, Python-based DeFi projects, Web3 apps that work with Ethereum, and people who use Python to automate their wallets[1]. Even if not many people download the bad package, the impact can be big because these apps can create many wallets, and they could all be at risk[1].

What to Do?

After the bad package was found, it was taken off PyPI. But if you or your project used it, you should uninstall it right away and assume that any Ethereum wallets you created are not safe[1]. If these wallets have money in them, you should move the money to a new wallet as soon as you can to keep it safe[1].

Keeping Open-Source Safe

The “set-utils” incident shows us that even trusted places like PyPI can have bad packages. To stop this from happening again, people are working on new ways to find bad packages in real-time, like DySec, a machine learning-based tool[4]. As the digital world changes, it’s important to keep open-source software safe to protect users and keep their trust.

Sources:

Leave a Reply