github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/updater/SECURITY.md (about) 1 ## Security 2 3 In the future, we will be looking to integrate with [TUF](https://theupdateframework.github.io/) 4 in order to make updates more secure. In the meantime, this document describes 5 what the updater (in the context of the Keybase application) protects against. 6 7 The updater may not protect against certain attacks. 8 9 - Rollback attacks: The updater doesn't prevent an earlier update from being applied 10 - Indefinite freeze attacks: An attacker could reply with old metadata 11 - Endless data attacks: An attacker could cause the client to download endless data 12 - Slow retrieval attacks: An attacker could prevent an update by being slow 13 - Extraneous dependencies attacks: The updater doesn't know about dependencies and will only download and apply a single asset 14 - Mix-and-match attacks: An attacker could mix metadata (use an old asset with new update) 15 16 The Keybase updater does do the following (to prevent basic attacks): 17 18 - Uses TLS with a pinned certificate for api-1.core.keybaseapi.com (update source) for metadata 19 - Uses TLS to download asset 20 - Verifies asset digest (SHA256) 21 - Verifies asset saltpack signature (key IDs are pinned)