OpenSea Phishing Attack

From Quadriga Initiative Cryptocurrency Hacks, Scams, and Frauds Repository
Jump to navigation Jump to search

Notice: This page is a new case study and some aspects have not been fully researched. Some sections may be incomplete or reflect inaccuracies present in initial sources. Please check the References at the bottom for further information and perform your own additional assessment. Please feel free to contribute by adding any missing information or sources you come across. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.

Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!

OpenSea

OpenSea posts and official tweet to community that they are investigating the situation and believe that it's a phishing attack.

[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]

About OpenSea

"The world’s first and largest digital marketplace for crypto collectibles and non-fungible tokens (NFTs). Buy, sell, and discover exclusive digital items." "Discover, collect, and sell extraordinary NFTs. OpenSea is the world's first and largest NFT marketplace."[21][22][23][24][25][26]

"As the first and largest marketplace for Non-Fungible Tokens and Semi-Fungible Tokens, OpenSea provides a first-in-class developer platform consisting of an API, SDK, and developer tutorials. Feel free to browse around and get acclimated with developing smart contracts and interacting with NFT data."

"Fascinated by the [CryptoKitties] movement that was forming, Devin Finzer and Alex Atallah joined early adopter communities in Discord and started talking to users. With the OpenSea beta launch in December 2017, the first open marketplace for any non-fungible token on the Ethereum blockchain was born."

"Valued at $13 billion in a recent funding round, OpenSea has become one of the most valuable companies of the NFT boom, providing a simple interface for users to list, browse, and bid on tokens without interacting directly with the blockchain."

The Reality

What Happened

"Panic erupted on February 19 as a few users saw their wallets emptied of valuable NFTs without knowing why, and many others feared the same could happen to them." "[A]ttackers stole hundreds of NFTs from OpenSea users, causing a late-night panic among the site’s broad user base. A spreadsheet compiled by the blockchain security service PeckShield counted 254 tokens stolen over the course of the attack, including tokens from Decentraland and Bored Ape Yacht Club, with the bulk of the attacks taking place between 5PM and 8PM ET."


Key Event Timeline - OpenSea Phishing Attack
Date Event Description
February 19th, 2022 4:10:37 PM MST AJFromDiscord Malicious Transfer AJFromDiscord's 8 NFTs are taken[27]. (TBD more detail.)
February 19th, 2022 4:57:00 PM MST AJFromDiscord Tweet Twitter user AJFromDiscord (Alabaster Jefferson) posts that he's connected with others who also got hacked and links to a transaction which was executed[28]. (TBD more details.)
February 19th, 2022 5:30:00 PM MST Jon_HQ Twitter Post Twitter user Jon_HQ makes a post which is widely cited, with the first report of a malicious transaction stealing funds[29]. (TBD more detail).
February 19th, 2022 6:13:00 PM MST MikeBurgersburg Analysis Tweet Twitter user MikeBurgersburg posts a more detailed breakdown of the transaction flow and what he believes happened[30]. (TBD more details).
February 19th, 2022 7:33:00 PM MST Web3isGoingGreat The incident makes the news in Web3isGoingGreat[31][32].
February 20th, 2022 7:37:00 AM MST The Verge Article An article is published in The Verge, indicating that $1.7m had been lost in the attack[33]. (TBD expand with more detail.)
February 20th, 2022 12:02:00 PM OpenSea Tweet OpenSea posts and official tweet to community that they are investigating the situation and believe that it's a phishing attack[20]. They include that it's an "isolated incident impacting a small number of people", "does not appear to be email-based", and that "[t]he migration tool is safe to use"[20].
February 20th, 2022 2:23:00 PM MST Nadav Hollander Technical Analysis Twitter user Nadav Hollander investigates and reports that "[n]one of the malicious orders were executed against the new (Wyvern 2.3) contract, indicating that they were signed before the migration and are unlikely to be related to OpenSea’s migration flow."[34]
February 20th, 2022 10:06:00 PM MST Narrowed To 17 Victimes OpenSea posts that they've narrowed down the list of affected users to just 17[35].
May 26th, 2022 3:02:55 AM MDT Techsprout News Article The attack is mentioned briefly at the end of a Techsprout News article[36].

Technical Details

"The Zhifan security team analyzed and found that [a] hacker address 0x3E0…8A74 created a smart contract 0xa2…45bD at 9:31:12 (UTC) on January 22, one month ago."


"[A]n attacker had successfully phished 17 OpenSea users into signing a malicious contract, which allowed the attacker to take the NFTs and then flip them."

"The attack appears to have exploited a flexibility in the Wyvern Protocol, the open-source standard underlying most NFT smart contracts, including those made on OpenSea. One explanation (linked by CEO Devin Finzer on Twitter) described the attack in two parts: first, targets signed a partial contract, with a general authorization and large portions left blank. With the signature in place, attackers completed the contract with a call to their own contract, which transferred ownership of the NFTs without payment. In essence, targets of the attack had signed a blank check — and once it was signed, attackers filled in the rest of the check to take their holdings."

"[M]any details of the attack remain unclear — particularly the method attackers used to get targets to sign the half-empty contract. Writing on Twitter shortly before 3AM ET, OpenSea CEO Devin Finzer said the attacks had not originated from OpenSea’s website, its various listing systems, or any emails from the company. The rapid pace of the attack — hundreds of transactions in a matter of hours — suggests some common vector of attack, but so far no link has been discovered."

Twitter user @NadavAHollander explains the exploit further:

"None of the malicious orders were executed against the new (Wyvern 2.3) contract, indicating that they were signed before the migration and are unlikely to be related to OpenSea’s migration flow."

Nadav Hollander Technical Analysis

[34]

1) Sharing a technical run-down of the phishing attacks targeting @OpenSea users, including some web3 technical education.

2) After reviewing the malicious orders, the following data points stand out:

- All of the malicious orders contain valid signatures from the affected users, indicating that they did sign an order somewhere, at some point in time. However, none of these orders were broadcasted to OpenSea at the time of signing.

- None of the malicious orders were executed against the new (Wyvern 2.3) contract, indicating that they were signed before the migration and are unlikely to be related to OpenSea’s migration flow.

- 32 users had NFTs stolen over a relatively short time period. This is extremely unfortunate, but suggests a targeted attack as opposed to a systemic issue.

3) This information, coupled with our discussions with impacted users and investigation by security experts, suggests a phishing operation that was executed ahead of the deprecation of the 2.2 contract given the impending invalidation of these collected malicious orders.

4) Prior to the current phishing scam, part of why we elected to implement EIP-712 on the new contract is that EIP-712’s typed data feature makes it much more difficult for bad actors to trick someone into signing an order without realizing it.

5) For example, if you are signing a message to join a whitelist, a raffle, or a token-gated discord group and you're presented with a typed data payload referencing Wyvern (the protocol used by OpenSea), it's much more likely to alert you to something unusual going on.

6) Education on not sharing seed phrases or submitting unknown transactions has become more widespread in our space. However, signing off-chain messages requires equal consideration.

7) We as a community must move to standardizing off-chain signatures using EIP-712 typed data or other agreed-upon standards like EIP-4361 (the "Sign in with Ethereum" method).

8) On this point, you'll notice that all new orders signed on OpenSea (including migrated orders) use the new EIP-712 format — a change of any kind is understandably scary, but this change actually makes signing much safer as you can better see what you're signing.

9) Big shoutout to @nesotual, @dguido, @quantstamp, and many others for providing detailed information on the nature of the attack to the community.

10) Additionally, even though it appears the attack was made from outside OpenSea, we are actively helping affected users and discussing ways to provide them additional assistance.

Total Amount Lost

Web3isGoingGreat originally estimated the loss at $1.7m[32], however later revised the estimate to $2.9m[31].

"Molly White, who runs the blog Web3 is Going Great, estimated the value of the stolen tokens at more than $1.7 million." "OpenSea initially said 32 users had been affected, but later revised that number to 17, saying 15 of the initial count had interacted with the attacker but not lost tokens as a result."

SlowMist estimated the loss amount at $3.4m[37].

A list of stolen NFTs has been published on a Google Sheet[38], however the list has subsequently been removed[39].

The total amount lost has been estimated at $3,400,000 USD.

Immediate Reactions

"A number of users posted a warning on Twitter [on the] morning [of February 19th] that the new migration contract launched by OpenSea yesterday was suspected of having a bug, and the attacker used the bug to steal a large amount of NFT and sell more than 0 ~$3.4 million) NFTs, most of which have been deposited in TornadoCash." "Early explanations blamed a new contract that OpenSea had rolled out, or an airdrop from a new NFT marketplace called X2Y2. People urged NFT owners to revoke permissions for both the OpenSea contract and for X2Y2 until more was known, although one of the most popular websites helping people do so went down shortly after from the high traffic."


"An hour and a half after users began to report missing NFTs, OpenSea finally acknowledged the issue. They tweeted that they were "actively investigating rumors of an exploit associated with OpenSea related smart contracts", and wrote that they believed it was a phishing attack coming from outside of OpenSea, rather than an issue with their contract."

Tweet From OpenSea

[20]

Our leadership, engineering, and security teams are communicating with affected users to gather details. We continue to believe that this is a phishing attack that originated outside of http://opensea.io.

We’ve seen a lot of uncertainty from the community, so we want to be clear on three points:

1. This appears to be an isolated incident impacting a small number of people.

2. The attack does not appear to be email-based.

3. The migration tool is safe to use. For more information about this tool, read our help center article: https://support.opensea.io/hc/en-us/articles/4433163594643-Smart-Contract-Upgrade-How-to-Migrate-Your-Item-Listings

If you have specific information that could be useful, please DM @opensea_support.


"OpenSea was in the process of updating its contract system when the attack took place, but OpenSea has denied that the attack originated with the new contracts. The relatively small number of targets makes such a vulnerability unlikely, since any flaw in the broader platform would likely be exploited on a far greater scale."


“I checked every transaction,” said [one] user, who goes by Neso. “They all have valid signatures from the people who lost NFTs so anyone claiming they didn’t get phished but lost NFTs is sadly wrong.”

"OpenSea co-founder and CEO Devin Finzer confirmed the phishing attack in a tweet." "Afterwards, Devin Finzer confirmed that this was a “phishing attack”, but it has not been possible to verify where the “phishing” occurred. The only thing that can be confirmed after investigation is that the phishing attack did not come from the inside of the OpenSea website."

On official statement was released by OpenSea at the time.

"Our leadership, engineering, and security teams are communicating with affected users to gather details. We continue to believe that this is a phishing attack that originated outside of http://opensea.io."

Ultimate Outcome

"Hackers return most of the unsold NFTs to victims." "Bizarrely, the hacker returned some of the NFTs to their original owners, and one victim inexplicably received 50 ETH ($130,000) from the attacker as well as some of his stolen NFTs back. The attacker later transferred 1,115 ETH obtained from the attack to a cryptocurrency tumbler, worth around $2.9 million."

The attacker's wallet address has been flagged on Etherscan[40].

Total Amount Recovered

"Hackers return most of the unsold NFTs to victims." "Bizarrely, the hacker returned some of the NFTs to their original owners, and one victim inexplicably received 50 ETH ($130,000) from the attacker as well as some of his stolen NFTs back. The attacker later transferred 1,115 ETH obtained from the attack to a cryptocurrency tumbler, worth around $2.9 million."

The total amount recovered has been estimated at $1,700,000 USD.

Ongoing Developments

"[M]any details of the attack remain unclear — particularly the method attackers used to get targets to sign the half-empty contract. Writing on Twitter shortly before 3AM ET, OpenSea CEO Devin Finzer said the attacks had not originated from OpenSea’s website, its various listing systems, or any emails from the company. The rapid pace of the attack — hundreds of transactions in a matter of hours — suggests some common vector of attack, but so far no link has been discovered."

"We're reaching out to the folks who reported this to investigate. Please continue to be vigilant when prompted with a wallet signature."

Individual Prevention Policies

This situation appears to be related to targeted phishing attacks against OpenSea users. Users in the DeFi space need to exercise a high degree of caution in all communications to ensure that they are coming from the claimed sender. Users should ensure they are aware of which actions which could place their funds at risk.

Set up separate email addresses for each service, and avoid providing your phone number whenever possible. Any received emails or phone calls must be viewed with scrutiny, especially if unsolicited. Interact with companies only through their official websites and confirm anything with the company directly via multiple official sources, especially if it promises a significant incentive to take an action or threatens access to your funds if an action is not taken. It would be recommended to also establish a network of multiple trusted individuals who use the same services and have a strong level of security knowledge.

Every approval on Web3 is an opportunity to lose all of the funds present in your wallet. Take the time to review the transaction in full. Fully check over the balance, permissions, and entire address which you are interacting with. Do not trust that your clipboard or any website front-end is guaranteed to provide an accurate address or transaction status. Always perform a test transaction prior to the first high-value transaction in any session.

Avoid the use of smart contracts unless necessary. Minimize the level of exposure by removing or withdrawing assets whenever possible. Aim to choose smart contracts which have obtained third party security audits, preferably having been audited by at least three separate reputable firms. Pay attention to the audit reports, which smart contracts are covered, and whether the smart contract has been upgraded or modified since the report. Ensure that any administrative functions with the ability to remove funds from the smart contract are under the authority of a multi-signature wallet which is controlled by at least three separate and reputable entities.

For the full list of how to protect your funds as an individual, check our Prevention Policies for Individuals guide.

Platform Prevention Policies

The primary defense against phishing is better education for users. Ensure that users have an understanding of the risks and strategies to protect themselves.

Never take for granted the limited knowledge of users of your service and their tendency to skip past provided information. It is recommended to design a simple tutorial and quiz for new users which explains the basics of seed phrases, strong password generation, secure two-factor authentication, common fraud schemes, how ponzi schemes work, as well as other risks which are unique to the cryptocurrency space. This tutorial and quiz should ensure their understanding and be a standard part of the sign-up or download process which is difficult or impossible to skip.

In the event that a user falls for a phishing attack, an industry insurance fund could assist.

Work with other industry platforms to set up a multi-signature wallet with private keys held separately by delegate signatories from seven prominent platforms and services within the industry. Establish requirements for contributions by all platforms and services, designed to be affordable for small platforms yet large enough to cover anticipated breach events. Any breach event can be brought forth by a member platform or a petition of 100 signatures for consideration by the delegate signatories. A vote of 4 or more delegate signatures is required to release any funds, which could partially or fully restore lost funds based on their assessment.

For the full list of how to protect your funds as a financial service, check our Prevention Policies for Platforms guide.

Regulatory Prevention Policies

The primary defense against phishing is better education for users. Ensure that users have an understanding of the risks and strategies to protect themselves.

Create a standard tutorial and quiz for all new cryptocurrency participants, which is required to be completed once per participant. This tutorial and quiz should cover the basics of proper seed phrase protection, strong password generation, secure two-factor authentication, common fraud schemes, how to detect and guard against phishing attacks, how ponzi schemes work, as well as other risks which are unique to the cryptocurrency space.

In the event that a user falls for a phishing attack, an industry insurance fund could assist.

Set up a multi-signature wallet with private keys held separately by delegate signatories from seven prominent platforms and services within the industry. Establish requirements for contributions by all platforms and services within the country, designed to be affordable for small platforms yet large enough to cover anticipated breach events. Any breach event can be brought forth by a member platform or a petition of 100 signatures for consideration by the delegate signatories. A vote of 4 or more delegate signatures is required to release any funds, which could partially or fully restore lost funds based on their assessment.

For the full list of regulatory policies that can prevent loss, check our Prevention Policies for Regulators guide.

References

  1. @dfinzer Twitter (Mar 10, 2022)
  2. @Nesotual Twitter (Mar 10, 2022)
  3. How OpenSea took over the NFT trade - The Verge (Mar 10, 2022)
  4. Dune Analytics (Mar 10, 2022)
  5. @dfinzer Twitter (Mar 10, 2022)
  6. OpenSea Says Phishing Attack Impacted 17 Users (Mar 10, 2022)
  7. Scam artists swindle NFTs worth 'millions' in OpenSea phishing attack | ZDNet (Mar 10, 2022)
  8. OpenSea phishing scandal reveals a security need across the NFT landscape (Mar 10, 2022)
  9. OpenSea Says at Least $1.7M in NFTs Stolen in Phishing Attack - CNET (Mar 10, 2022)
  10. NFT Investors Lose $1.7M in OpenSea Phishing Attack | Threatpost (Mar 10, 2022)
  11. @opensea Twitter (Mar 10, 2022)
  12. @opensea Twitter (Mar 10, 2022)
  13. @opensea Twitter (Mar 10, 2022)
  14. Phishing attack from OpenSea to analyze blockchain hacking methods - CoinYuppie: Bitcoin, Ethereum, Metaverse, NFT, DAO, DeFi, Dogecoin, Crypto News (Mar 16, 2022)
  15. https://www.cpomagazine.com/cyber-security/phishing-attack-on-nft-marketplace-opensea-results-in-thefts-from-17-accounts-victims-tricked-into-signing-malicious-payloads/ (Mar 20, 2022)
  16. https://etherscan.io/tx/0xdfa95e85496c489e7f3b2dbe570ed2b261c3390443c8f6053eb6d76acd30c5e9 (Jul 21, 2022)
  17. Tenderly Dashboard (Jul 21, 2022)
  18. @TalBeerySec Twitter (Jul 21, 2022)
  19. OpenSea Loses NFTs Worth $1.7 Million in Phishing Attack, Investigation Underway | Technology News (Feb 6, 2023)
  20. 20.0 20.1 20.2 20.3 OpenSea - "Our leadership, engineering, and security teams are communicating with affected users to gather details. We continue to believe that this is a phishing attack that originated outside of http://opensea.io." - Twitter (Feb 6, 2023)
  21. https://opensea.io/ (Mar 9, 2022)
  22. Meet OpenSea | The NFT marketplace with everything for everyone - YouTube (Mar 9, 2022)
  23. https://docs.opensea.io/docs (Mar 9, 2022)
  24. https://docs.opensea.io/docs/frequently-asked-questions (Mar 9, 2022)
  25. https://opensea.io/about (Mar 9, 2022)
  26. NFTs and the $13B marketplace, explained - YouTube (Mar 10, 2022)
  27. Malicious Transfer of AJFromDiscord's NFTs - Etherscan (Apr 6, 2023)
  28. AJFromDiscord - "ALL OF OUR STOLEN NFT'S WERE ONES WE MANUALLY MIGRATED ON OPENSEA" - Twitter (Mar 10, 2022)
  29. Jon_HQ - "I am very unsure how this is working or what is being exploited but it seems that OpenSea's new contract is ab[so]lutely rugged." - Twitter (Mar 10, 2022)
  30. MikeBurgersburg - "578 Ethereum (~$1.7 million) transferred from dozens of wallets through opensea to a hacker." - Twitter (Mar 10, 2022)
  31. 31.0 31.1 Seventeen OpenSea users have their NFTs stolen and flipped for a total of $2.9 million by a phishing scammer – Web3 Is Going Just Great (Mar 10, 2022)
  32. 32.0 32.1 web3isgreat - "[UPDATE]: OpenSea users panic as at least $1.7 million in NFTs are stolen" - Twitter (Apr 6, 2023)
  33. $1.7 million in NFTs stolen in apparent phishing attack on OpenSea users - The Verge (Mar 9, 2022)
  34. 34.0 34.1 Nadav Hollander - "None of the malicious orders were executed against the new (Wyvern 2.3) contract, indicating that they were signed before the migration and are unlikely to be related to OpenSea’s migration flow." - Twitter (Feb 6, 2023)
  35. opensea - "We’ve narrowed down the list of impacted individuals to 17, rather than the previously mentioned 32." - Twitter (Mar 10, 2022)
  36. Phishing Attack Strikes ‘Moonbirds’ NFT Project, Details Here - Techsprout News (Aug 23, 2022)
  37. SlowMist Hack List Page 18 - SlowMist (Apr 6, 2023)
  38. Opensea Phishing Incident Stole NFT List - Google Sheet Archive (Apr 6, 2023)
  39. Opensea Phishing Incident Stolen NFT List - Google Sheets (Mar 9, 2022)
  40. Attacker's Wallet Address - Etherscan (Mar 10, 2022)

Cite error: <ref> tag with name "slowmist-2069" defined in <references> is not used in prior text.