Opens profile photo
Follow
Quantstamp
@Quantstamp
The leader in blockchain security 🛡 Securing the future of web3 🌐
Science & TechnologySan Francisco, CAquantstamp.comJoined September 2017

Quantstamp’s Tweets

To summarize the exploitation steps: 1. Execute malicious dApp to post session metadata 2. Wrap malicious deep link into open redirect link on the legitimate dApp 3. Wait for user to proceed with authentication 4. Send arbitrary TX directly into their wallet 😈
1
4
Show this thread
More complex web3 applications have actual server-sides with logic beyond the on-chain logic. So, if this kind of app is vulnerable to open-redirect vulnerability, it may serve as a delivery point for our malicious deep link.
1
2
Show this thread
The link above is actually injected into your crypto wallet. What does wallet do with that information? It pulls session metadata from the WC bridge, where the dApp has just posted session metadata to. Do you see an attack vector now? 🤔
Image
1
3
Show this thread
Crypto wallets implement deep links handlers to catch the incoming links and process their information, such as WC links. "metamask://wc?uri=wc:21401659-09e2-4d30-8332-6e56ac00fa5c@1?bridge=https%3A%2F%2F0\.bridge.walletconnect.org&key=351f50236d7[...]"
1
3
Show this thread
Following the link in your web browser, the browser knows what resource you want to open. The same occurs here…deep links are registered within mobiles, letting you navigate to desired apps.
1
3
Show this thread
WC-integrated wallets implement the following metamask://wc?uri= deep link specification to process the WC protocol links. How many people know what a deep link is and how it is processed? 🙋
2
5
Show this thread
So how would a user initiate a session with a malicious dApp? 🤔 When someone connects with a dApp through WC, the dApp displays a QR code to start the authentication process.
Image
1
3
Show this thread
The problem? WC doesn’t verify that session metadata is posted from a legitimate origin (dApp). This means that ANY malicious dApp can pretend to be a legitimate dApp.
Image
1
3
Show this thread
Do you know what is happening behind the scenes when you connect your crypto wallet to dApps? In this thread, Pavel Shabarkin, Blockchain Security Engineer at Quantstamp, explains how all your crypto can be stolen 💸
3
35
Show this thread
Excited to announce that applications are now open for Quantstamp HH1 Denver ⚒️🥳 Have your housing + meals taken care of while earning prizes and hacking alongside the Quantstamp team and other leading devs. Get more details and apply below 👇 lu.ma/tlu8u5pw
Image
24
Excited to announce that we’re hosting another hacker house 👀 Keep your eyes peeled for details on date and location coming soon!
Image
3
26
Today I am the new President & CEO of Y Combinator, an organization that is a true magnet for smart ambitious high integrity people who believe technology can solve the problems facing humanity. And those that believe are those that do. Looking forward to an epic 2023. 🙏
223
3,925
Show this thread
PSA—LastPass Users 🚨 We’ve encountered reports of information stored in LastPass being compromised, leading to theft of crypto assets. We urge caution around storing mnemonics & private keys in LastPass. As a precaution, consider moving assets into newly generated addresses.
Quote Tweet
I think the situation at @LastPass may be worse than they are letting on. On Sunday the 18th, four of my wallets were compromised. The losses are not significant. Their seeds were kept, encrypted, in my lastpass vault, behind a 16 character password using all character types.
Show this thread
6
20
Quantstamp will be partnering with EkoLance to host their upcoming hackathon - identifying the best smart contract auditors amongst the Community! The best auditors will receive bounties and have the opportunity to get hired by Quantstamp 🚀 Dec 8, 2 weeks long!
2
19
Thank you to everyone who joined us this week with ! Sebastian Banescu (), CEO of Chainproof & Head of Quantstamp Germany discussed smart contract bugs and how to protect against such bugs. Check out some of our snaps from the event 📸
Image
Image
Image
Image
1
16
So how was this attack possible? 🤔 The attacker MUST HAVE known the private key of the ProxyAdmin owner (i.e., Ankr deployer address) since the function upgrade() was protected by the modifier onlyOwner.
7
Show this thread