Mycelium Bitcoin WalletLatest release: 184.108.40.206 ( 29th December 2022 ) 🔍 Last analysed 12th January 2023 . Reproducible when tested
The binary provided was reproducible from the code provided.
As part of our Methodology, we ask:
Does the binary we built differ from what we downloaded?If the answer is "no", we mark it as "Reproducible when tested".
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.
Help spread awareness for build reproducibility
Please follow Mycelium Bitcoin Wallet and thank them for being reproducible via their Twitter!
The following Analysis is not a full code review! We plan to make code reviews available in the future but even then it will never be a stamp of approval but rather a list of incidents and questionable coding practice. Nasa sends probes to space that crash due to software bugs despite a huge budget and stringent scrutiny.
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 ¶
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: 220.127.116.11 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 v18.104.22.168 tagger AlexanderPavlenko <AlexanderPavlenko@users.noreply.github.com> 1672914653 +0400 Mycelium Bitcoin Wallet v22.214.171.124: 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.
Share onTwitter Facebook LinkedIn
Or embed a widget in your website
<iframe src="https://walletscrutiny.com/widget/#appId=android/com.mycelium.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.mycelium.wallet&theme=auto&style=long" style="max-width:100%;width:342px;border:0;border-radius:10px;min-height:290px;"> </iframe>