Review compositions of otherwise-safe functions in one transaction: deposit+borrow, harvest+redeem, vote+queue. Use when unit tests pass but invariants fail on sequences. The handler skill is the test harness.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add nuroctane/nur-cli --skill reviewing-cross-function-and-composer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reviewing Cross Function And Composer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/nuroctane-reviewing-cross-function-and-composer)More formats (shields.io, HTML) on the badges page.
---
name: reviewing-cross-function-and-composer
description: "Review compositions of otherwise-safe functions in one transaction: deposit+borrow, harvest+redeem, vote+queue. Use when unit tests pass but invariants fail on sequences. The handler skill is the test harness."
---
# Reviewing cross-function composition
Most paid logic bugs are not a single detector hit. Two functions, one tx.
In-scope. This playbook is the **question list**; `writing-foundry-invariant-handlers` is the engine.
## Method
1. List value-moving entrypoints.
2. For each pair (including the same function twice), ask: after A then B, does conservation still hold?
3. Include donate, hook, flash loan, and oracle update as A.
4. Put A and B on the handler so the fuzzer finds the pair.
## Classic pairs
- deposit -> borrow (undercollateral if price is spot)
- harvest -> redeem (share price pumped for the harvester)
- transfer -> withdraw (read-only reentrancy)
- vote -> transfer (flashloan governance)
- liquidate -> oracle update
If the invariant fails, file **one** finding on the composition, not two half-bugs.
## Paid bounty analogs
This is where most "logic" Immunefi rows land. Full `$` table: `hunting-x-linked-bounties` `references/paid-payouts.md`.
| $ | Protocol | Pack | Whitehat |
|---|----------|------|----------|
| $1.1M | Beanstalk insufficient validation | T03 | nicole |
| ~$182k | Beanstalk logic | T03 | Immunefi |
| $150k | Synthetix | T01 | thunderdeep14 |
| $60k | Mushrooms | T01 | CKK Sec |
| $40k of ~$70k | Hats Velvet calldata | T34 | 16 wardens |
| $25k | Zapper arbitrary calldata | T34 | Lucash-dev |
| $25k | Tidal; Ondo | T01 | csanuragjain; Ashiq/iosiro |
| $20k x2 | Thena (C4 miss) | T01 | zzykxx |
| $5k | xDai Stake; Charged Particles | T34 / T03 | |
| High | Lido Dual Governance (funds not at risk) | T21 | 0xriptide |
| High | dHEDGE 2026 X | T01 | s4muraii77 (confirm) |
| 1 Crit + 1 High | Uniswap v4 periphery + Universal Router (OZ) | T34 | OpenZeppelin |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!