I'm Michelle — security engineer sharing pentesting research, study notes, and lessons from the field. Complex topics, approachable language.
A single missed check can drain millions.
An introduction to smart contract security — how the EVM works, where vulnerabilities hide, and a step-by-step breakdown of a classic reentrancy exploit.
function withdraw() external { require(balances[msg.sender] > 0); (bool success, ) = msg.sender.call{ value: balances[msg.sender] }(""); balances[msg.sender] = 0; // state updated after external call } // Fix: checks-effects-interactions pattern function withdrawSafe() external { uint256 amount = balances[msg.sender]; balances[msg.sender] = 0; // state first (bool success, ) = msg.sender.call{value: amount}(""); }
Security engineer based in Taipei. I spend my days finding what's broken in systems and helping organizations understand what's actually at risk.
I believe the best security writing makes complex topics feel approachable without dumbing them down. If something cost me hours to figure out, I write it down so it costs you minutes.
Currently: researching, breaking, documenting.
Drawing diagrams nobody asked for.