# AirGap Vault - Tezos, Cosmos, Ethereum, Bitcoin

latest release: 3.13.0 ( 12th January 2022 ) last analysed  24th January 2022 Obfuscated
4 ★★★★★
94 ratings
10 thousand
6th August 2018

# Help spread awareness for build reproducibility

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.

# The Analysis ¶

We ran our test script which delivered these results:

===== Begin Results =====
appId:          it.airgap.vault
apkVersionName: 3.13.0
apkVersionCode: 37604
verdict:
appHash:        c90f883ab5dbf3595455792d1f16cbd52131c9b184a11c086021ee99206480b4
commit:         3b5f92bb58abb7dfb1ac755cf0f6d9bd18754844

Diff:
Files /tmp/fromPlay_it.airgap.vault_37604/assets/public/index.html and /tmp/fromBuild_it.airgap.vault_37604/assets/public/index.html differ
Only in /tmp/fromPlay_it.airgap.vault_37604/assets/public: main.4344acc47727fbb3dd6d.js
Only in /tmp/fromBuild_it.airgap.vault_37604/assets/public: main.43f935f7202aab6bf927.js
Only in /tmp/fromPlay_it.airgap.vault_37604/META-INF: MANIFEST.MF
Only in /tmp/fromPlay_it.airgap.vault_37604/META-INF: PAPERS.RSA
Only in /tmp/fromPlay_it.airgap.vault_37604/META-INF: PAPERS.SF

Revision, tag (and its signature):
object 3b5f92bb58abb7dfb1ac755cf0f6d9bd18754844
type commit
tag v3.13.0
tagger Mike Godenzi  1642150744 +0100

version 3.13.0
===== End Results =====


Sadly this is again, as every other build, a minified code file which is as such obfuscated.

(lw)

# Verdict Explained

The binary contains active obfuscation!

As part of our Methodology, we ask:

Is the decompiled binary legible? If not, we tag it Obfuscated!

When compiling source code to binary, usually a lot of meta information is retained. A variable storing a masterseed would usually still be called masterseed, so an auditor could inspect what happens to the masterseed. Does it get sent to some server? But obfuscation would rename it for example to _t12, making it harder to find what the product is doing with the masterseed.

In benign cases, code symbols are replaced by short strings to make the binary smaller but for the sake of transparency this should not be done for non-reproducible Bitcoin wallets. (Reproducible wallets could obfuscate the binary for size improvements as the reproducibility would assure the link between code and binary.)

Especially in the public source cases, obfuscation is a red flag. If the code is public, why obfuscate it?

As obfuscation is such a red flag when looking for transparency, we do also sometimes inspect the binaries of closed source apps.

As looking for code obfuscation is a more involved task, we do not inspect many apps but if we see other red flags, we might test this to then put the product into this red-flag category.

The product cannot be independently verified. If the provider puts your funds at risk on purpose or by accident, you will probably not know about the issue before people start losing money. If the provider is more criminally inclined he might have collected all the backups of all the wallets, ready to be emptied at the press of a button. The product might have a formidable track record but out of distress or change in management turns out to be evil from some point on, with nobody outside ever knowing before it is too late.