We're still investigating what happened here. It seems a handful of accounts may have been compromised and had their autowithdrawal settings tampered with, including our own "coinos@coinos.io" account.

We ran a script to search for accounts that had the attacker's "speed.app" withdrawal address in place and found about 9 that seem to have been affected. There could be more though, we will update as we have more information.

I worry that this may be the same attacker who exploited a password reset vulnerability back in January which allowed them to gain access to a number of accounts. It's possible that since that time they have been sitting on the account data and working to brute force the encrypted nostr private keys that we had on file for some accounts that had imported their nostr key into Coinos. Those keys were encrypted at rest in our database but it's possible they may have been cracked.

We no longer store nostr private keys for accounts and have since added support for external signing apps and browser extension login, but there was a time when we were storing encrypted nsec private keys.

Having a users nsec would allow an attacker to authenticate into Coinos by signing a nostr event and change the user settings. It also means your entire nostr profile and identity may be compromised.

This is only a hypothesis at this point and we need to investigate further but we may end up recommending that affected users rotate their nostr keys.

nostr:nevent1qvzqqqqqqypzpggzvz325tcf9kz79s9c9627430ccc82r8rgujycwxd43n92y037qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcqyrdx8njpnvvulfcsqqd7ud47uw6dnzl4a3fmsrafsp0rte9f29h5uxpgg73

This is why remote signing, extensions, possibly sub keys, etc all need to be a standard. This sort of problem at scale would be a disaster. #Nostr keys are precious and a major problem still remains that many clients or services still have a place to paste private keys to login or use the service.

Be extremely careful with this and if you aren’t sure if you are using keys client side only, then opt out until a better option is available.

Love CoinOS btw, this isn’t a dig and they’ve implemented most of the above options for this reason. Just really important to know the trade offs with things like this.

nevent1qqsfsg878u9luv2sxm6yahyjr4zpt745rdfpuu47wnn9t2dskgem52gpp4mhxue69uhkummn9ekx7mqwjqt9e

Reply to this note

Please Login to reply.

Discussion

Hey Guy, swan?

where can we find resources in how to rotate our keys.. asking for a friend 😲

You just spin up a new account and move your balances there

Right now the only key rotation is just creating a new account and directing people to it. This is also a reason to have a backup social network to be able to get the word out for which account is truly yours when/if you need to kill a compromised key.

I understand now. Thanks 🙏

Most users probably shouldn't even be completely trusting signing extensions.

Try to practice reasonably good key hygiene (to develop a sort of muscle memory); but, until better standards become available, it's best to just assume your nsec has already been compromised, continue having fun experimenting with Nostr while being careful not to count on anything important to be kept secure, and just know that someday (hopefully not too far off) you'll likely be abandoning your current nsec(s) for new ones better secured by the new standards.