👋 We’re looking for an Applied Cryptographer to join the team!
Check out our careers page below or email us at careers@quantstamp.com if you or someone you know may be a good fit 👇https://quantstamp.com/careers
The topic requires a wide surface of knowledge and deeper technical explanations to understand it completely.
Check out Pavel’s full blog post with detailed explanations, PoC scripts, test cases, PoC videos, and more 👇
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 😈
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.
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? 🤔
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[...]"
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.
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? 🙋
Wallets support two options to inject session parameters: through QR code scanning, or following a deep link.
So, users can choose to scan the QR code by camera, or copy the link to the clipboard.
Read more about what this looks like 👇https://eips.ethereum.org/EIPS/eip-1328
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.
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.
WalletConnect (WC) is integrated with around 450+ dApps and 170+ crypto wallets.
They support 1B+ WebSocket connections per day. Just imagine how many users actually use them 🤯
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 💸
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 👇https://lu.ma/tlu8u5pw
’s sturdy repository at commit d5a1660 and 0828965.
Sturdy Finance is a DeFi lending protocol for interest-free borrowing and high yield lending 🧱
For audit scope and results, view the full report 📝https://certificate.quantstamp.com/full/sturdy
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. 🙏
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.
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.
's lending-borrowing-smart-contracts repo at commit fea59e1, f7c110c and 9b7f7cf.
Pine Protocol offers permissionless NFT-backed loans and NFT financing 🌲
For audit scope and results, view the full report 📝http://certificate.quantstamp.com/full/pine
— a leader in Web3 security with over $200bn in value secured.
Our portfolio companies will have priority access to Quantstamp audits and will receive additional support for audit preparation and security workshops.
These partners—and their portfolio companies—will have access to a suite of security services that will provide an unparalleled advantage in securely launching and scaling their projects 🚀✨
We're excited to announce a first of its kind security partnership with the best investors in web3.
Promising web3 companies can now ship faster and be first to market without compromising security 🛠️🛡️
"People overstate how rapid a change technology can be, & grossly underestimate the impact.
The tech will make life so easy that if you don't use it, you're disadvantaged."
⛓️
If you’re a professional Asset Manager or Node Validator, please reach out to co-develop the best solutions to insure your clients' funds 💰http://chainproof.co#web3#insurance
), 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 📸
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.