Joined March 2026
11 Photos and videos
Pinned Tweet
You spent months building your protocol. Then one day, a simple exploit drains everything. Reentrancy. Logic flaw. Access control that slipped through. It wasn't because the attacker was a genius. It was because the security review was just a formality.
2
1
14
1,472
$5.4M drained from @gravity_bridge today. Not through a complex math exploit. Not through a reentrancy attack. Through trust. 37 validators unknowingly signed a malicious update. The signing pipeline was poisoned. They never knew what they were approving. The contract had no timelock. No guardian multisig. No circuit breaker. Once the signatures were valid, execution was instant. And irreversible. The scariest vulnerabilities aren't in the math. They're in the assumptions. "Our validators won't be compromised." "Our signing pipeline is safe." It was realistic enough.
6
14
87
16,280
Most protocols that got exploited had an audit on their roadmap. It was always scheduled for later. After the raise. After the feature was done. After mainnet. Later never came with enough time. And some that did get audited, still got exploited. Because security isn't a one time event. New integrations, new features, new attack surfaces. The teams that stay secure don't treat audits as a checkbox. They treat security as an ongoing discipline. One audit is the foundation. What you build on top of it determines how long it holds.
2
2
19
601
🚨@inkfinance's Workspace Treasury Proxy on Polygon was just drained for ~$140K. Here's what the attacker actually did: They deployed a contract at an address matching a whitelisted claimer entry. By calling claim(claimId), they passed the eligibility check and triggered the treasury's authorized transfer. A $25K Balancer V2 flashloan was used and repaid atomically. The attacker funded from Railgun on Ethereum, bridged to Polygon roughly 32 minutes before the exploit. The whitelist checked if the address matched. It never checked if the caller actually controlled that entry. Access control isn't just about who's on the list. It's about who can act on behalf of that list.
1
14
451
One audit doesn't mean your protocol is safe forever. It means every vulnerability we could find at that point in time has been addressed. But protocols evolve. New features get added. Integrations expand. Every change shifts the attack surface. The teams that stay secure aren't the ones who audited once. They're the ones who treat security as an ongoing process. Every new feature deserves a fresh set of eyes. Every upgrade is a new risk surface that didn't exist before. And even after your code is final, bug bounties exist for a reason. A hundred security researchers looking at your protocol will always catch things a single audit couldn't. Different perspectives, different assumptions, different findings. One audit is the foundation. What you build on top of it determines how long it holds.
2
1
12
328
A few years ago, auditors read code line by line. Then tools came. Static analyzers, fuzzers, automated scanners. Some auditors resisted it, saying real auditing is manual. Meanwhile attackers never resisted anything. They adopted every tool that gave them an edge. If hackers are using AI to find vulnerabilities, and they are, then auditors who aren't using it are already behind. We can't reject progress. We have to move with it. We use AI. It makes us faster, gives us more coverage, catches the surface level stuff quickly. But we don't stop there. Because AI finds patterns. It doesn't find intent. It doesn't understand why a function was built a certain way or what happens when two systems collide under pressure. That's where humans come in. That's where the real bugs hide. The future of smart contract security isn't AI or human. It's both.
2
2
27
1,182
Some of the sharpest builders and auditors in Web3 are still unknown. Not because they lack skill. Because they never got the right support. The builder with a great idea but no network. No budget for an audit. No connection that opens the first door. The auditor with real skills and a growing track record, but never got a real opportunity. They're out there. Still grinding. Still building in silence. Web3 moves better when we lift each other up. Support the builders around you. Back the auditors still finding their footing. Share their work. Give them a shot. You might be looking at the next great name in this space. That's exactly what we are building toward. A place where serious builders and auditors belong. It's one of our biggest visions. Are you one of them?
5
2
30
1,005
Shipping pressure is real. Deadlines are real. Investor expectations are real. So is the exploit that comes after. Most protocols that got drained weren't built by careless teams. They were built by talented people under pressure at launch, at upgrade, at every new integration. Security isn't a one time checkpoint. It's the work that never stops. The window between deployment and exploit doesn't wait for your roadmap. If you're still building, one piece of advice : make security part of the process now. Not after the audit request. Not after the incident report. Now.
2
14
375
$7.6M left Rhea Finance. No cryptography was broken. No zero day exploit. The attacker created fake tokens, spun up fresh liquidity, and fed the system inputs that looked valid. And the system accepted all of it. Real assets. Fake inputs. No resistance. This didn’t start in the contract. It started at asset admission. And that’s where the next one will start too.
9
328
For a long time, most security effort in DeFi focused on smart contracts, and for good reason, because that’s where critical bugs lived. That hasn’t changed. We still see the same edge cases, the same assumptions, the same overlooked paths. But lately, something else keeps showing up, not inside the contract, but around it. Frontends get spoofed, APIs return manipulated data, users sign things they don’t fully verify. The contract can be correct, and the system can still fail. Because security doesn’t stop at the code, it extends to everything that interacts with it. The attack surface didn’t shift, it just turned out to be bigger than we thought.
8
177
After an exploit, every protocol does the same thing. Pause. Investigate. Transparency report. Promise to make users whole. But before all of that, Someone built it. Tested it. Shipped it. And believed it was secure. That belief is not enough. Security has to be proven. Repeatedly.
2
11
367
Two exploits. Two days. Two different vectors. SubQuery : no access control on the registry functions. Anyone could replace the contracts the protocol talked to. Hyperbridge : insufficient proof verification at the message handler. Forged state proofs passed validation and unlocked admin privileges. Different mechanisms. Same root assumption. Both protocols trusted inputs that were never properly validated at the boundary layer. The integration point, where your contract accepts data from the outside world, is where most exploits begin. It's also where most reviews end.
1
1
17
759
$130K gone because two functions had no access control. Not on the transfer logic. Not on the withdrawal flow. On the functions that control which contracts the protocol talks to. Replace the registry. Redirect the funds. Restore the original addresses. By the time anyone noticed, the attacker was already gone. Most security reviews focus on transfer logic and withdrawal flows. The registry layer is where assumptions go unchecked. That's the question that should have been asked first.
2
30
972
The math worked in every test. It broke during a market spike. Here's what our team consistently sees during contract reviews: "Our reward calculation has been running for months." "We test deposits and withdrawals separately." "The numbers always balance out." They do. Until a user deposits and withdraws in the same block during high volatility. Reward calculation reads a snapshot that hasn't updated yet. User withdraws more than they put in. Protocol bleeds on every spike. Business logic doesn't break in normal conditions. It breaks exactly when your protocol is under the most stress.
9
231
Reviewed a protocol recently. Every single function had a modifier. Access control everywhere. Roles, onlyOwner, custom checks, looked bulletproof. Then we saw the ownership transfer function. Zero timelock. No delay. No second confirmation. One compromised key. Full control in a single transaction. They put all the locks on the wrong doors.
1
10
274
The most expensive hack this year wasn't a code exploit. The attacker never touched the contracts. They spent months building trust. Fake identity. Real relationships. Access earned slowly, then used once. By the time anyone noticed, the contracts had done exactly what they were told to do. Technical audits don't catch this. No static analyzer flags a compromised signer. No fuzzer finds a manipulated human. The attack surface isn't just your code. It's everyone who can touch it.
1
1
13
326
Every function was correct. The protocol still failed. During a recent review, our team flagged an issue that had nothing to do with the contract's own logic, every function was correct, every check was in place. The problem was the assumption that no other contract would touch the same state mid execution. Contract A reads from a shared dependency. Contract B updates that dependency in the same block. Contract A acts on data that's already outdated. No reentrancy. No overflow. No missing access control. Just two contracts that were never audited as a system. Isolated testing doesn't catch this. Only a full scope review does.
1
1
13
275
The price was correct. The protocol was still drained. Here's what our team consistently sees during contract reviews: Price feeds aren't just wrong when they're stale. They're wrong when someone makes them wrong. "We use Chainlink. It's decentralized." "The price can't move that fast in one block." "We check for zero values before using the feed." But the check happened before the manipulation. The feed used spot price, not TWAP. One block was all it took. One exploitable price window. One unprotected calculation. That's all it takes. Decentralized price feeds don't protect you from flash loan manipulation. TWAP does.
1
2
6
200
The function completed successfully. The attacker had already drained it twice. Here's what our team consistently sees during contract reviews: Reentrancy isn't just about ETH transfers. It's about state that hasn't been updated yet. "We check the balance before sending." "The function reverts if something goes wrong." "We're not using call(), so we're safe." But the state was updated after the external call. The check passed on the second entry. The revert came too late. One external call. One unprotected state update. That's all it takes. Checks Effects Interactions isn't a suggestion. It's the only order that's safe.
1
3
22
766
The admin check passed. The attacker still drained the protocol. Here's what our team consistently sees during contract reviews: Access control isn't just about who can call a function. It's about what that function can do when called in the wrong context. "Only the owner can call this." "Only whitelisted addresses can withdraw." "The timelock protects us." But ownership was transferable. The whitelist was updatable by a deprecated contract. The timelock had an emergency bypass. One assumption. One overlooked path. That's all it takes. Privileged functions aren't safe because they're restricted. They're safe when every path to them is understood.
2
4
35
1,728
Everyone thinks flash loans are the attack. They're not. Flash loans are just the delivery mechanism. The real vulnerability was already there, waiting. Here's what our team sees in almost every flash loan exploit, The protocol assumes economic behavior. "No rational actor would do this." "The cost of manipulation exceeds the profit." "Arbitrage will self correct." Then someone borrows $50M with zero collateral and proves every assumption wrong in one transaction. Flash loans don't create vulnerabilities. They just make expensive attacks free. If your protocol is only safe because attacks are "too costly" it's not safe.
3
6
40
2,267