research collection19 posts

~/blog/move

Move Security Research

Move security research across Sui, Aptos, and Movement: audit field guides, real findings, runtime internals, and formal verification.

2026-08-19suiprivate audit field notes

Beyond the Bet: Auditing a Prediction Market on Sui Move

A month of generalized field notes from a private Sui Move prediction-market review: pricing, signed oracles, settlement, NAV, LP queues, PTB composition, and why the dangerous bugs live between components.

read the field notes
2026-06-05private workbounty triage

Private Bug Bounty Triage: Validating and Reproducing Web3 Findings

A concise breakdown of my private triage workflow: validating Web3 findings, writing deterministic PoCs after triage, and packaging clean impact evidence without leaking client details.

read more
2026-04-15suiaudit guide

How to Audit a Perp Protocol on Sui Move

Auditing perps on Sui requires a different checklist from EVM or Aptos. The object model, hot-potato request/response pattern, Programmable Transaction Blocks, and shared collateral vaults all reshape the attack surface — the Sui companion to the Aptos perp audit post.

read more
2026-04-02suiupgrades

The Upgrade Trap — How Versioned Objects Can Brick Protocols on Sui

Sui's Versioned wrapper lets protocols migrate shared objects across upgrades. But the same pattern creates an upgrade trap — if your immutable package depends on a versioned protocol, one migrate() call bricks you forever.

read more
2026-04-01movevm

Move VM Runtime — How Your Move Code Actually Runs

How the Move VM runtime actually executes your code — from bytecode loading to interpreter dispatch and native function calls.

read more
2026-03-30suideep dive

Sui Execution Layer — A Security Researcher's Deep Dive

A deep dive into Sui's execution layer — how transactions flow from submission to state changes, and what security researchers should look for.

read more
2026-03-28suiinternals

Sui's Cut Package — How Sui Freezes Its Execution Layer

How Sui uses the cut package mechanism to freeze its execution layer — snapshotting framework code at specific protocol versions for deterministic replay.

read more
2026-03-28suivm

Sui Bella Ciao — Inside the New Move VM

Sui rewrote their entire Move VM. Here's how the new execution layer works, what changed from the old one, and where the interesting attack surface lives for security researchers.

read more
2026-03-16suiaudit guide

How to Audit a Lending Protocol on Sui Move

Share-ratio manipulation, eMode edge cases, oracle staleness, and the liquidation paths that actually break — a field checklist from a live Sui lending audit.

read more
2026-03-15aptosformal verification

Formal Verification of Aptos Move Contracts Using Move Prover

Setting up the Move Prover on a real Aptos codebase: writing spec blocks, proving aborts_if conditions, and the invariants that catch bugs manual review misses.

read more
2026-03-14suiformal verification

Formal Verification of Current Sui Using Certora — Part 2

Using Certora's Sui Prover to encode borrow restrictions as parametric rules — and what the prover surfaced that manual review walked past.

read more
2026-03-13suiformal verification

Formal Verification of Current Sui Using Certora Sui Prover

How I mathematically proved that an eMode group assignment is immutable after obligation creation in a Sui DeFi lending protocol — using Certora's Sui Prover, parametric rules, and field accessors.

read more
2026-03-05movetooling

The Move Auditor

Introducing move-auditor — an open-source Claude skill that runs a structured security-audit pipeline over Move codebases, built from my real engagement workflow.

read more
2026-03-01aptosaudit guide

Auditing a Perp Protocol on Aptos Move

Learnings from auditing a fully on-chain perp DEX in Move on Aptos — orderbook mechanics, oracle integration, liquidation engine, funding rate, and the bugs that actually matter.

read more
2026-02-23aptosreal bug

Field Order Is Sort Order — How Struct Layout Silently Breaks Ordered Maps in Move

Move compares structs lexicographically by field declaration order. If you use a struct as a key in an ordered map, the first field dominates sorting — not the field you think matters. A real bug from Decibel Exchange's perpetual futures DEX on Aptos.

read more
2026-02-22movepattern

The Silent Killer in Move: How return vs abort Silently Corrupts State on Chain

A real bug from Aptos core's trading engine that permanently deleted orders on an "error" path. The root cause? A return where there should have been an abort. Applies to both Aptos and Sui Move.

read more
2026-02-20zkweek 01

ZK Journey Week 1 — Why a Move Security Researcher Is Learning Zero Knowledge Proofs from Scratch

As a Move security researcher, I need to understand ZK proofs deeply — not just what they do, but how they work under the hood. Week 1 of my ZK learning journey at the Rare Skills ZK Bootcamp.

read more
2026-02-14aptos1H + 1M · 3rd place

The Move Bug That Would Have Bricked Aave on Aptos Before Day One

A case study from Aave Aptos V3 on Cantina, where Panther placed 3rd with 1 confirmed High and 1 confirmed Medium. The High came down to data being stored at one address and read from another.

read more
2026-02-12contestsplaybook

How to Win a Public Contest: Lessons from 6× Top 3 Finishes

Zero fluff, pure trenches-tested insights from climbing to the top 50s on Cantina. This is the alpha that actually moved the needle — not theory, not vibes, just what works when you're deep in the code at 3 AM and the leaderboard is watching.

read more