Denis Gregor
I find the bugs that pass every test: silent data failures, now in smart contracts.
Public earnings
$0
Public findings
0
Skillset
Self-reported
Admin verified
Blockchain Platforms (L1 + VM)
Programming Languages
Security Services & Methodology
Biography
Backend and systems engineer turned smart-contract security researcher. My work is about the failures that don't crash: silently wrong data, values that satisfy a check while being meaningless, code that passes its own test suite for the wrong reason.
Twenty-plus merged pull requests into projects I don't maintain, across ten languages (Python, Rust, Go, Java, C++, and more), each carrying a test that reproduces the defect before the fix.
The same method now ships as drop-in Foundry security checks - a "guard line" for the newest attack surfaces: v4-hookguard (Uniswap v4 hooks), account-abstraction-guard (ERC-4337/7702), and superchain-interop-guard (ERC-7802 interop). Every check pairs a correct reference it passes with a deliberately-broken one it catches, plus a falsifiability test proving it fails on the bug and only on the bug. guard-ci wires them into CI. Alongside: contract-security-notes, staking-audit, invariant-fuzzing and proxy-security - worked reviews and exploit PoCs across the classic vulnerability classes.
Security portfolio
Title | Description |
|---|---|
| v4-hookguard | Drop-in Foundry security checks for Uniswap v4 hooks: return-delta consistency + bounds, hook-conservation, reentrancy, permission-bitmap lint, scorecard. 8 checks, 27 tests; each ships a correct reference it passes and a deliberately-broken reference the check catches. |
| account-abstraction-guard | Drop-in Foundry security checks for ERC-4337 / 7702 account abstraction: EntryPoint execute-auth, userOp signature + replay, relayed-exec replay protection, session-key scope, paymaster. 5 checks, 21 tests, each with a falsifiability test proving it fails on the bug and only on the bug. |
| superchain-interop-guard | Drop-in Foundry security checks for Superchain / ERC-7802 interop: crosschain mint/burn interface conformance, CREATE2 chain-independent address verification, bridge authorization. 5 checks, 18 tests, each with a correct reference it passes and a deliberately-broken one it catches. |
| guard-ci | GitHub Action + scaffolder that wires the guard security checks into a project's CI: one reusable workflow, `guard-scaffold` drops the checks in, with worked examples for paymaster / AA-account / superchain-ERC20. |
| invariant-kit | Installable Foundry invariants + known-exploit checks for DeFi primitives. Four modules: ERC-4626 (solvency + first-depositor inflation), staking (notifyRewardAmount restriction), constant-product AMM (k-never-decreases + round-trip drain), ERC-1967 proxy (unprotected-init + storage-collision). `forge install dngr2/invariant-kit`. |
| contract-security-notes | Six common smart-contract vulnerabilities, each with a Foundry exploit test and its fix |
| staking-audit | A worked security review of a StakingRewards protocol: 3 findings (High/Medium/Low) with PoC tests and a report |
| invariant-fuzzing | Catching an AMM value-leak with a stateful Foundry invariant instead of a hand-written PoC |
| proxy-security | The two ways upgradeable contracts get taken over: unprotected initializer and storage collision, each with a Foundry PoC and fix |