Summary:

We wanted to take a moment to address the recent incident that resulted in the loss of 20M Optimism tokens.

To be clear, this situation did not originate from any vulnerabilities in Optimism or Gnosis Safe. It was made possible due to funds being sent to a Safe address on the wrong network (user error).

A third-party was able to take control of this address because of two facts:

  1. Old versions of Gnosis Safe make security assumptions that were introduced before multi-chain was a reality.
  2. The Optimism and Wintermute teams performed a small test transaction, but did not confirm that they actually had control of the account before sending over the full amount.

This situation highlights the complexities of living in a multi-chain world and the need to introduce better standards to protect users wherever possible.

Technical Background

To follow this incident it is important to understand that a Gnosis Safe account (multi-sig) is a smart contract-based account that is deployed on a specific blockchain network.

While Gnosis Safe supports several different networks, a specific Safe is only deployed on one of them at a time. We make this clear in the UI by highlighting the network at any point and mentioning to only send assets on this specific network. Additionally we also introduced EIP-3770 chain-specific addresses in 2021, encoding the network of a Safe as part of the address itself (see “oeth:...” below).

Screenshot 2022-06-09 at 19.06.43.png

What happened?

Optimism transferred 20M OP tokens via the Optimism network to an address provided by Wintermute, not knowing that this address was a Gnosis Safe deployed on Mainnet only. Even though there was a test transaction made before transferring the full amount, the fact that the tokens have been received at the correct address did not mean that Wintermute actually controlled this recipient address . This led to 20M OP tokens being sent to an address that neither the Optimism nor Wintermute team had access to.

Screenshot 2022-06-09 at 19.08.12.png

First investigations lead to the conclusion that the funds were not lost, but could be recovered by also deploying the old v1.1.1. Safe contract on Optimism. The assumption was that only Wintermute could eventually recover the funds. However, this assumption was incorrect as Optimism did not enforce EIP-155 replay protection, leading to the loss of 20M OP.