
As part of our Methodology, we ask:
If we can reproduce the binary we downloaded from the public source code, with all bytes accounted for, we call the product reproducible. This does not mean we audited the code but it’s the precondition to make sure the public code has relevance for the provided binary.
If the provider puts your funds at risk on purpose or by accident, security researchers can see this if they care to look. It also means that inside the company, engineers can verify that the release manager is releasing the product based on code known to all engineers on the team. A scammer would have to work under the potential eyes of security researchers. He would have to take more effort in hiding any exploit.
“Reproducible” does not mean “verified”. There is good reason to believe that security researchers as of today would not detect very blatant backdoors in the public source code before it gets exploited, much less if the attacker takes moderate efforts to hide it. This is especially true for less popular projects.
Show Older Reviews
The Analysis ¶
This does not represent a full code review.
Here we test if the latest version can be reproduced, following the known procedure expressed in our test script (?):
===== Begin Results =====
appId: com.mycelium.wallet
signer: b8e59d4a60b65290efb2716319e50b94e298d7a72c76c2119eb7d8d3afac302e
apkVersionName: 3.16.0.15
apkVersionCode: 3160015
verdict: reproducible
appHash: 50534bbe29e778e6b8d0ade5cb2c2524c6333b27446bb06e1880771c6009ec99
commit: 48c4143403d94cf29a968f1510d714fd7c49efcf
Diff:
Files /tmp/fromPlay_com.mycelium.wallet_3160015/META-INF/CERT.RSA and /tmp/fromBuild_com.mycelium.wallet_3160015/META-INF/CERT.RSA differ
Revision, tag (and its signature):
object 48c4143403d94cf29a968f1510d714fd7c49efcf
type commit
tag v3.16.0.15
tagger AlexanderPavlenko <AlexanderPavlenko@users.noreply.github.com> 1672914653 +0400
Mycelium Bitcoin Wallet v3.16.0.15:
30eb7b1de704b63bdaf464f703a202ee59304a2d952808a95282c0ef390f336baa7292d68cdd0cb29a06a3c1ed183a577cf2b3ed2d992f4f99c0e8b887be4d42 prodnet/release/mbw-prodnet-release.apk
62abe33861761fb6679149d2049eb8ac10dcfed851def21649565a8dc6d7c08a797f789e4a22107641c7d39ca273dc682759e5fe217b1b3340cf5fef8fe576d4 btctestnet/release/mbw-btctestnet-release.apk
79a7bfd3adf83f03162ca2b49470cf360f64c1b56c3e3473be8e6b7d1b7ba71710b19be3175a0abcec1db53982481de226b6d2af2a8c39af5777ea3bdb143a0d prodnet/debug/mbw-prodnet-debug.apk
475dbc82bfbf9767c06ba77cde559b8fa06f9e6f66afd72ae23f7849d3d8a5e3adce28ebf60a335113aabab8e08ced92707b9960555d062ae40202839cf171b4 btctestnet/debug/mbw-btctestnet-debug.apk
===== End Results =====
This looks good. This product is reproducible.
Disclaimer: Authors of this project have contributed to Mycelium.
Independent re-builds:
(lw)
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.
If you find something we should include, you can create an issue or edit this analysis yourself and create a merge request for your changes.