Live data from Hacker News

Keybase’s browser extension subverts its encryption

palant.de

21–30 of 79 posts

Re: Keybase’s browser extension subverts its encryption

#21

> Avoiding it is fairly easy, by isolating all of the extension’s user interface in an element. Right, but if the social network website can modify the HTML that the Keybase extension is injecting, then surely it can also modify the iframe's URL to an attacker-controlled one? Or, for that matter, replace the event handler on the "Keybase Chat" button itself before it even gets clicked? I'm not an extension developer,…

Right, but if the social network website can modify the HTML that the Keybase extension is injecting, then surely it can also modify the iframe's URL to an attacker-controlled one?

Keybase could minimize that by showing the user's name and/or logo in the iframe. Barring another vulnerability, the site shouldn't know who is logged in into the extension, so they shouldn't be able to fake that.

Re: Keybase’s browser extension subverts its encryption

#22
post #14
post #2

I have to say I am surprised and disappointed. Keybase has up until now been a shining example of doing crypto right but still accessible and easy to use. This decision falls strictly on the wrong side of the line of acceptable compromises. > there were technical reasons why iframes didn’t work, though I forget the details It could be that there is one or a couple of engineers at Keybase who made this decision and ar…

When they started asking me for my private key and claiming it'll be secure because it's "encrypted" that raised a red flag for me. Then I found out that they're not using popular and audited libraries like OpenPGPjs instead... writing their own!

I second this. Would I upload/integrate my public key? Certainly, if it was supported as such. That being said, KB functions just fine without an explicit PGP private key, since each device I install KB on generates its own signing key -- that's good enough for KB to verify my social idents and support initial communication; the more proofs they add the better.

But more serious and nested "secure" communication would be wiser done elsewhere.

Re: Keybase’s browser extension subverts its encryption

#23
if you are going to encrypt a message, it must at some point be input without encryption. Just like you wouldn't type a sensitive message with someone looking over your shoulder, you can use common sense and limit use of this extension.

Keybase is fantastic.

i've been using keybase for 2 years now and have had no issue accessing my files through kbfs.

with keybase teams you can store secrets at rest and make them easy to access across your team.

the client loads 10x faster then slack and has nice ux.

Re: Keybase’s browser extension subverts its encryption

#24
post #14

Earlier quoted context omitted.

When they started asking me for my private key and claiming it'll be secure because it's "encrypted" that raised a red flag for me. Then I found out that they're not using popular and audited libraries like OpenPGPjs instead... writing their own!

I second this. Would I upload/integrate my public key? Certainly, if it was supported as such. That being said, KB functions just fine without an explicit PGP private key, since each device I install KB on generates its own signing key -- that's good enough for KB to verify my social idents and support initial communication; the more proofs they add the better. But more serious and nested "secure" communication would…

> Would I upload/integrate my public key?

I presume this is a typo, but if so it's a grave one.

The naming is very transparent, the intent is that we can give everybody our public keys, they're public, while our private key must remain secret.

(I like to use the U2 Lyric "A secret is something you tell one other person, so I'm telling you" to keep straight the difference between secret keys, which we must share with somebody else, and private keys, which we shouldn't share with anybody, although DH means in practice you may never need to explicitly "tell" anyone the secret keys in hybrid systems)

[Edited because I made the same dumb typo]

Re: Keybase’s browser extension subverts its encryption

#25
post #13

Keybase also silently subverts smartcards for in-memory keys per my findings here: https://github.com/keybase/keybase-issues/issues/1946 In general I find Keybase to be a step forward in user experience and two steps backwards in terms of actual security. They just don't seem to care about the latter at all and have not demonstrated any cooperation with standards bodies like the OpenPGP working group where members ha…

Have you tried / compared Wire[0] by chance? I love Wire cause it's simple, my only recommendation is to register from a browser on your desktop, it asks for your number on the phone app, but you don't need to register like that. I also like that you can delete your account and nuke everything. The back-end is open source as well. Though KeyBase gets the UI / UX factor perfect, I wish some hardcore crypto devs would take KeyBase and make it more rock solid.

[0]: https://wire.com/

Re: Keybase’s browser extension subverts its encryption

#26
post #18

Earlier quoted context omitted.

There are rules for bug bounty programs: - https://hackerone.com/keybase

Which one of those "outside the scope" categories would you say this one falls into then? To me it reads like there's nothing preventing this bug report from deserving a bounty.

None of these bullets are “open and shut cases”, but all are related without needing a major leap, especially the first one.

* Content spoofing / text injection

* Issues related to software or protocols not under Keybase control

* Reports of spam

* Vulnerabilities affecting users of outdated or unpatched browsers and platforms

Do I agree with their (alleged) actions? NO! But as I know several folks at Keybase personally, I’m sure there’s another side to this story and I’m willing to give them some benefit to the doubt until I hear otherwise.

Re: Keybase’s browser extension subverts its encryption

#27

> Avoiding it is fairly easy, by isolating all of the extension’s user interface in an element. Right, but if the social network website can modify the HTML that the Keybase extension is injecting, then surely it can also modify the iframe's URL to an attacker-controlled one? Or, for that matter, replace the event handler on the "Keybase Chat" button itself before it even gets clicked? I'm not an extension developer,…

As an extension developer, I'm tempted to say that your suggestion might be the only secure way to do it. Extension Javascript is isolated, but all extensions share the DOM of course.

Re: Keybase’s browser extension subverts its encryption

#28
post #13

Keybase also silently subverts smartcards for in-memory keys per my findings here: https://github.com/keybase/keybase-issues/issues/1946 In general I find Keybase to be a step forward in user experience and two steps backwards in terms of actual security. They just don't seem to care about the latter at all and have not demonstrated any cooperation with standards bodies like the OpenPGP working group where members ha…

What is up with this issue? https://github.com/keybase/client/issues/13560

Is that a normal thing to do on github?

Re: Keybase’s browser extension subverts its encryption

#29
Meh. I wouldn't (and didn't) trust Keybase anyway.

My reasoning is that you're given some encryption software (keybase javscript on its website or browser extension) but the software is changing all the time: it might get re-downloaded on a tab refresh, the extension might download a "new version" or whatever... So basically you're supposed to trust an always changing piece of code (can you be auditing every piece of javascript that you download? every version of that javascript?) and you running in a super-connected runtime (like a browser). What could possibly go wrong?

I am not an encryption expert at all, but I feel a lot safer doing my crypto on a regular environment (linux shell or whatever) and then sending the cyphertext via any other mean (web, email, whatever).

Back in the day you could use pidgin to chat on the Facebook chat, and it was possible (and relatively easy) to use the OTR plugin to have really end-to-end encrypted chats. But (guess what?) Facebook later disabled the possibility interacting with its chat via external non-facebook-branded clients (afaik)

Re: Keybase’s browser extension subverts its encryption

#30
post #29

Meh. I wouldn't (and didn't) trust Keybase anyway. My reasoning is that you're given some encryption software (keybase javscript on its website or browser extension) but the software is changing all the time: it might get re-downloaded on a tab refresh, the extension might download a "new version" or whatever... So basically you're supposed to trust an always changing piece of code (can you be auditing every piece of…

  Facebook later disabled the possibility interacting with its chat via external non-facebook-branded clients (afaik)
I don't think that's true, actually. The existence of Caprine[0] seems to suggest otherwise!

0: https://github.com/sindresorhus/caprine

Post reply on HN