About
I'm a cybersecurity leader who solves big problems at every level of the stack. I disclose critical vulnerabilities in software and smart contracts directly securing billions of dollars and I engage with non-technical leaders and stakeholders by meeting them where they are.
I founded SEAL, a non-profit, to solve cybersecurity challenges the cryptocurrency industry faces on a global scale. Previously, I was a Research Partner at Paradigm.
Writing
- Higher Bug Bounties Won’t Stop Hacks
Bug bounties are passive, but security is an active process
- Demystifying the North Korean Threat
How the DPRK operates and what their tactics and procedures are
- Hiding in Plain Sight
Most people trust, but how many people verify?
- Two Rights Might Make A Wrong
Too much raw fish doesn’t make a better roll of sushi
- The Dangers of Surprising Code
The only thing worse than a bug in your code that breaks everything is a bug in your code that subtly breaks one thing
- Booby Trapping the Ethereum Blockchain
This is how an attacker could have hid a ticking time bomb on the Ethereum blockchain that, when triggered, would hard fork the entire network
- Uncovering a Four Year Old Bug
What does it take to find a bug? What about one in a contract that's survived the test of time?
- Paradigm CTF 2021 - swap
A guided walkthrough for swap, the hardest challenge in Paradigm CTF 2021
- The Block Mined In January, 584942419325
In a consensus protocol, the simplest mistake could have devastating effects.
- So you want to use a price oracle
Everything you need to know about price oracles and how to use them safely
- Changing Lanes
A reflection on my transition from Trail of Bits to Paradigm
- Escaping the Dark Forest
On September 15, 2020, a small group of people worked through the night to rescue over 9.6MM USD from a vulnerable smart contract. This is our story.
- Authereum, meet Parity
2017 was fun. Let's never do it again.
- Taking undercollateralized loans for fun and for profit
Price manipulation, now with 100% more blockchain
- The Livepeer slashing vulnerability
What happens when good intentions go bad?
- The 0x vulnerability, explained
An in-depth look at how 0x's Exchange contract was vulnerable
Findings
- NFTTraderJun 2022
Reentrancy in legacy contracts allowing theft of NFTs from users with outstanding approvals
- LayerZeroMar 2022
Various critical vulnerabilities
- RariMar 2022
Reentrancy in cEther's use of `.call.value` across Fuse pools allowing theft of all borrowable assets
- EtherscanNov 2021
Verification bypass allowing mismatched source code to pass contract verification
- SushiSwap MISOAug 2021
`BoringBatchable` delegatecall preserved `msg.value` across batched `commitEth` calls, allowing reused ETH to drain ~$350M via refunds
- ENS Name WrapperAug 2021
ERC-1155 safe transfer callback enabled reentrancy during minting
- HashmasksAug 2021
ERC-721 safe transfer callback enabled reentrancy during minting
- go-ethereumMay 2021
Bug in fast sync state downloader could be exploited to booby-trap the blockchain and trigger a hard fork
- AmbisafeApr 2021
Four-year-old state corruption bug in contracts managing over a billion dollars in assets
- 0x DAOApr 2021
Quadratic gas consumption in `getVotingPower()` enabled denial-of-service on treasury governance
- go-ethereumMar 2021
Uncle validation didn't handle extreme timestamps, risking a fork between Geth and Parity
- COTIMar 2021
Deposit/withdrawal pricing discrepancy allowed extracting ~630 ETH via LP token mispricing
- TokenlonFeb 2021
Signature validation couldn't handle the zero address, allowing fee redirection
- Opium FinanceFeb 2021
Malicious synthetic token could manipulate `getMargin()` return values to drain ~1M USDC during cancellation
- ElasticDAOFeb 2021
Bug in transfer function allowed minting duplicate tokens, threatening $5M+ in SushiSwap
- NFTXFeb 2021
Internal accounting error broke the 1:1 NFT-to-token minting invariant
- ForTubeFeb 2021
Permission bypass allowing forged requests to bypass `seizeCheck` verification
- OptimismFeb 2021
State Manager remained callable after `applyTransaction()` completed, enabling post-execution state manipulation
- OptimismFeb 2021
`relayMessage` could be called on the L2-to-L1 Message Passer, enabling call spoofing on L2
- OptimismJan 2021
Reentrancy in `relayMessage()` allowed recursive cross-domain message exploitation
- OptimismJan 2021
`ovmSETNONCE` lacked a `notStatic` modifier, allowing nonce mutation during `ovmSTATICCALL`
- OptimismJan 2021
`revertFlag` storage variable wasn't cleared before execution, causing stale state carryover
- Frax FinanceDec 2020
`withdraw()` failed to track locked vs unlocked LP tokens, allowing withdrawal from locked stake
- Frax FinanceDec 2020
Unnecessary `approve()` in redemption granted the redeemer a token allowance instead of transferring directly
- 88mphNov 2020
Business logic error in DInterest allowed malicious minting of ~$100K in MPH tokens
- Alpha HomoraOct 2020
Price manipulation allowing attacker-triggered liquidation at 5% profit
- Yield ProtocolOct 2020
Unrestricted flash minting to arbitrary addresses allowed pool price manipulation
- Aavegotchi StakingOct 2020
Flash loans could inflate pool balance to generate excessive rewards
- Lien FinanceSep 2020
Anyone could mint tokens for free, then burn them for all 25,000 ETH ($9.6M) in the contract
- Incognito ChainSep 2020
Missing validation allowed a $2.69M double spend
- xTokensAug 2020
Flash loans could manipulate SNX prices while minting xSNXa with negligible `minRate`
- yVaultAug 2020
Temporary Balancer pool imbalances could be exploited to inflate BPT valuation and drain vault assets
- Atomic LoansJun 2020
Borrower could frontrun the lender agent's auto-cancel to extract both the USDC and the lender's secret, plus UTXO ordering bypass on collateral verification
- HegicMar 2020
Uniswap price manipulation allowed creating hedges at inflated strike prices to drain the options pool
- SynthetixMar 2020
Variable reference error in `_closeLoan` broke liquidation by referencing `account` instead of `msg.sender`
- Nexus MutualFeb 2020
Unprotected Oraclize callback lacking replay protection exploitable via Uniswap price manipulation
- AuthereumFeb 2020
Order-of-operations flaw in meta transaction function allowed account takeover
- Aragon CourtFeb 2020
Jurors could activate tokens while having a pending deactivation, corrupting the active balance tree
- Curve FinanceJan 2020
Critical bonding curve algorithm bug allowed draining the entire contract
- Ethereum Name Service (CVE-2020-5232)Jan 2020
Domain owner could set a backdoor to claw back ownership after transfer
- Pillow (CVE-2019-19911)Dec 2019
Unvalidated integers in FpxImagePlugin.py caused memory exhaustion
- Cheese WizardsOct 2019
`resolveTimedOutDuel` lacked validation that two different wizard IDs were submitted
- Kyber NetworkSep 2019
Reentrancy in bridge reserve trade process allowed draining of Kyber-operated reserves
- Hydro ProtocolSep 2019
DAI price manipulation on Uniswap/eth2dai allowed undercollateralized borrowing
- bZx NetworkJul 2019
Oracle vulnerable to price manipulation through permissioned Kyber reserves
- LivepeerJul 2019
Slashing function didn't validate that two submitted proofs were distinct, allowing false slashing of honest transcoders
- 0x ExchangeJul 2019
Signature verification treated `0x04` as valid for all non-contract accounts, allowing forged order fills
- Meteor allow-denySept 2017
Authentication bypass in Meteor's allow-deny package
- mathjsApr 2017
Multiple methods to escape the sandboxed expression parser and achieve RCE
Talks
- How to Fight the Lazarus GroupOct 2025
DC Privacy Summit
- How samczsun is bridging the old web to the dark forestMay 2025
Project Glitch
- Introduction to SEALDec 2024
DeFi Security Summit
- Mar 2024
- How to Improve Crypto SecurityFeb 2024
Unchained
- Top White Hat Hacker Samczsun Discusses the State of Crypto SecurityDec 2023
The Chopping Block
- How Do You Even Write Secure Code AnywaysOct 2022
DeFi Security Summit
- Finding VulnerabilitiesJan 2022
ECH Institute Podcast
Press
- How samczsun is bridging the old web to the dark forestMay 2025
Project Glitch
- Apr 2025
- Apr 2025
- Mar 2025
- Apr 2024
- Mar 2024
- Feb 2024
- Feb 2024
- Paradigm's white hat hacker Samczsun spearheads crypto security operation called Security AllianceFeb 2024
The Block
- Oct 2020
- Oct 2020
- Mar 2020