4 ms·
How do I know the code running on my iPhone is the same as what is on Github? I don't. There is every incentive for someone to cheat here. There is very little
by themagician 4y ago
How do I know the code running on my iPhone is the same as what is on Github? I don't.
There is every incentive for someone to cheat here. There is very little risk, and the potential reward is basically infinite. I can slip a few lines of code in that grant me access to every wallet generated. Worst case I get caught and fired. Best case no one ever knows.
Assuming your employer isn't in on it and you get caught, what are they going to do? Seriously, think about it. If they acknowledge this in anyway the company is OVER. The best course of action is fire you, push a new release and just pray that you don't drain the wallets of the victims in a way that raises too much suspicion.
You either generate seeds from source you audited or maybe trust a hardware wallet that has been sufficiently audited. App-based wallets get new releases on a daily basis. The security is a joke.
- SparkyMcUnicorn 4y agoI agree there's a problem here, but the verification problem exists for every app on your iPhone that isn't released by Apple. Maybe I'm just clueless, but what solution could exist to verify that the code running on your phone doesn't differ from a given codebase (that also can't be faked)? We can build Brave for any platform, which happens to have a wallet, but there's still no way of knowing whether what I built matches what's on the apple store. At least on Android there's F-Droid, which builds and releases from the source. Seems like that's as close as we can get to user-friendly and verifiable right now. My solution is Safe[0] with multiple signers (different software/hardware for each one). Probably overkill, but when you are your own bank... [0] https://github.com/safe-global https://github.com/safe-global
- pcthrowaway 4y agoOne more thing you can do is audit the source code of open source projects you use, and build them yourself where possible. For example, Metamask is source-available and you can add it to your browser from the git repo rather than the chrome extension store. You can also add it from the chrome extension store and inspect the source to ensure all files match the build, before adding any private key material to it. I was arguing in a comment recently[1] that browser extensions should be required to be source-available, and the chrome store should take a role in verifying the bundle matches the build process defined with the source code. It's alarming to me that this is not already the state of things, but as it is it perverts incentives for extension developers to a horrific degree. [1]: https://news.ycombinator.com/item?id=34892991 https://news.ycombinator.com/item?id=34892991