ZenGo Crypto & Bitcoin Walletlatest release: 3.1.1 ( 7th October 2021 ) last analysed 18th June 2020 No source for current release found
Help spread awareness for build reproducibility
Please help us spread the word discussing transparency with ZenGo Crypto & Bitcoin Wallet via their Twitter!
Do your own research!
Try out searching for "lost bitcoins", "stole my money" or "scammers" together with the wallet's name, even if you think the wallet is generally trustworthy. For all the bigger wallets you will find accusations. Make sure you understand why they were made and if you are comfortable with the provider's reaction.
The Analysis ¶
It is important to note, that even if we had exposed our code, there is no good way to verify that the downloaded mobile app was indeed created from it.
That is exactly what we are doing here. Let’s see if ZenGo answers to our tweet.
The original analysis
This app claims on Google Play:
Never worry about losing your private keys again
With ZenGo’s advanced cryptography, there is no private key. Instead, the responsibility of signing transactions is divided between us and our customers, so that neither party sees the other’s secret information. It also means that you never have to worry about managing private keys again. It makes ZenGo the simplest and safest crypto wallet.
which sounds scary. If you don’t have to worry about private keys, who does have them? If they lose them or go out of business, can you still use your money?
Also if they don’t use established standards, can you still spend your coins if their wallet stops working? They claim you can.
Stay in control
ZenGo does not have access to your funds. All transactions happen directly on the blockchain. With securely encrypted biometrics and our password-free security, only you control your funds.
Again, “only you control your funds” sounds good but with the rest of the comment it’s a bit confusing.
On their website we find more details:
Backing up your wallet is just as simple. An encrypted copy of your device share is stored on the ZenGo server, and the decryption code is stored separately in your personal iCloud (iOS) or Google (Android) account. Only with your 3D biometric face map can you access the encrypted share.
Does that mean that with a photo of you (and probably without) a google engineer can access your backup? That’s a bit scary.
So they claim it is non-custodial but do they share the source code? On that, they link to this blog post where they conclude:
As open-sourcing our code is a step we cannot take back, we prefer to take a cautious approach to it. We already released some portions of our code and intend to gradually release more and more of our software as open source as we gain more confidence in out process and more momentum within the community.
… but for audits, it doesn’t need to be “Open Source” in the sense of this quote. It can just be public code. For audits only.
Their decision to not be transparent earns them the verdict not verifiable.
Without public source of the reviewed release available, this product cannot be verified!
As part of our Methodology, we ask:Is the source code publicly available? If not, we tag it No Source!
A wallet that claims to not give the provider the means to steal the users’ funds might actually be lying. In the spirit of “Don’t trust - verify!” you don’t want to take the provider at his word, but trust that people hunting for fame and bug bounties could actually find flaws and back-doors in the wallet so the provider doesn’t dare to put these in.
Back-doors and flaws are frequently found in closed source products but some remain hidden for years. And even in open source security software there might be catastrophic flaws undiscovered for years.
An evil wallet provider would certainly prefer not to publish the code, as hiding it makes audits orders of magnitude harder.
For your security, you thus want the code to be available for review.
If the wallet provider doesn’t share up to date code, our analysis stops there as the wallet could steal your funds at any time, and there is no protection except the provider’s word.
“Up to date” strictly means that any instance of the product being updated without the source code being updated counts as closed source. This puts the burden on the provider to always first release the source code before releasing the product’s update. This paragraph is a clarification to our rules following a little poll.
We are not concerned about the license as long as it allows us to perform our analysis. For a security audit, it is not necessary that the provider allows others to use their code for a competing wallet.
Share onTwitter Facebook LinkedIn
Or embed a widget in your website
<iframe src="https://walletscrutiny.com/widget/#appId=android/com.zengo.wallet&theme=auto&style=short" name="_ts" style="min-width:180px;border:0;border-radius:10px;max-width:280px;min-height:30px;"> </iframe>
<iframe src="https://walletscrutiny.com/widget/#appId=android/com.zengo.wallet&theme=auto&style=long" style="max-width:100%;width:342px;border:0;border-radius:10px;min-height:290px;"> </iframe>