How to verify a software wallet—and what that proof does not cover
Security checks for genuine wallets do not prove they are safe
Downloading a wallet from the right place helps prevent scams, but it does not confirm that the software itself is secure. Researchers are urging people to run separate checks for fake browser add-ons and for known bugs in real wallet apps. The two issues need different fixes, and no single step covers both.
On October 7, the security firm Socket found 16 fake add-ons for the Firefox browser that looked like the popular Rabby and OKX wallets. On October 24, the developers of the Bitcoin wallet Electrum released a fix for a problem that a bad server could use to trick a user into sending coins to the wrong person.
How the two attacks worked
The fake Firefox add-ons copied the look of well-known wallets to make them seem trustworthy. The hidden code in those add-ons read secret backup words, called recovery phrases, and private keys when a user tried to use them. The code then tried to send those secrets to an outside website controlled by the attackers. This meant that having a screen that looked like a real wallet did not prove it actually was.
The Electrum problem was different because it happened inside the real, trusted app. A malicious server could secretly change a transaction in the user's history so it looked like it was going to the user's intended address. If the user then increased the fee to speed up the payment, the wallet would sign the changed transaction instead of the one the user actually meant to send. Electrum developers said at least one user lost money because of this.
Official guidance from wallet makers
Browser and wallet developers say the first step is to use only the official download link. Mozilla told Firefox users to check that the wallet provider has an official add-on and to use only the listing that provider points to. MetaMask, a different wallet, gave the same advice: download it from its own website or its official store page.
Google offers an “Established Publisher” badge on its Chrome store. That badge tells users that Google has checked who the publisher is and that the publisher has a good track record. It does not mean the add-on has been tested for security bugs. Electrum asked desktop users to download its software from its official website, called electrum.org, and to check the GPG signature. A GPG signature is a digital stamp that proves the file really came from the developers and was not tampered with. The signature file is separate from the transaction signature that authorizes a coin transfer.
What users can verify and what they cannot
Official download routes and GPG signatures confirm that you have the real software from the developer. They do not confirm that the software has no security problems. Patch notes, such as the one Electrum published, tell users which version fixes a bug and what to do differently. For example, Electrum 4.8.3 added a check that stops bad servers from changing unconfirmed transactions before they are added to the history. The same advisory also told users to check the full destination address and the amount every time they sign a transaction. Both of the reported attacks used addresses that ended with the same four letters as the real address, so a user who only checked the last few letters would not have spotted the problem.
A checksum that comes from the same download page as the file does not provide the same level of proof. An attacker who can change the file could also change the checksum. The safest way is to get the GPG key's fingerprint, which is a long string of numbers and letters, from a separate, trusted source before using it to check the signature. Electrum's public key fingerprint is 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6. The guide says users should repeat the signature check for every new version of the software.