Guarda Crypto Wallet: Bitcoin, Dogecoin, Ripplelatest release: 2.36.6 last analysed 17th December 2019
Help spread awareness for build reproducibility
Please help us spread the word discussing transparency with Guarda Crypto Wallet: Bitcoin, Dogecoin, Ripple 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 ¶
This wallet -
com.crypto.multiwallet according to their applicationId, “Moxi wallet” according to the first sentence of their description on Google Play and “Guarda Wallet – for Bitcoin, Ethereum, etc.” according to the app name -
doesn’t have access to your private keys …
Moxi wallet doesn’t have access to your keys and does not store your funds,
or do they? Here is the next sentence from the Google Play description:
they are stored offline. We provide a wallet’s backup for extra safety.
That sounds a lot like the provider keeps a copy of your private keys, does it not?
Yet under features they explicitly claim:
– Non-custodial wallet. We do not store your money.
Also good to know:
This app does not mine cryptocurrency.
So maybe the confusion above is just a language barrier thing. We will assume for now that the wallet is in fact non-custodial and the backup scheme actually does work without them having access. In a deeper review, this would certainly be one of the first points to check.
Looking for source code, we found a link to the company GitHub and from there to a repository named guarda-android-wallets - very promising.
As it turns out, “guarda-android-wallets” can be used to compile single coin wallets but no app with the application ID
com.crypto.multiwallet. In fact a search over all of GitHub didn’t yield results neither.
Without source code available, our verdict is: not verifiable.
Without public source of the reviewed release available, this app cannot be verified!
As part of our Methodology, we ask:Is the source code publicly available? If not, we tag it
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 app 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 app’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.crypto.multiwallet&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.crypto.multiwallet&theme=auto&style=long" style="max-width:100%;width:342px;border:0;border-radius:10px;min-height:290px;"> </iframe>