Skip to main content

reentrancy

Hunt and validate reentrancy bugs — classic cross-function, same-function, read-only, and cross-contract variants.

跳到安装

来源信息

仓库
BitterSecurity/Decepticon
最近来源活动
2026年6月2日 17:25
检测到的 SKILL.md 语言
英语
星标
5,565
分支
1,053

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
reentrancy
description
Hunt and validate reentrancy bugs — classic cross-function, same-function, read-only, and cross-contract variants.
metadata
{"subdomain":"smart-contracts","when_to_use":"reentrancy cross-function read-only erc777 erc1155 hook callback evm","mitre_attack":["T1190"]}
# Reentrancy Playbook ## Variants 1. **Classic** — external call before state update (The DAO) 2. **Cross-function** — A calls out, reentered into B which reads/writes A's state 3. **Read-only** — view function reads stale state during reentrancy, consumed by a second contract making decisions 4. **Cross-contract** — same attack pattern across protocol boundaries 5. **ERC777 / ERC1155 hook** — `onERC*Received` callback re-enters ## Audit steps 1. `solidity_scan_file` flags every `.call{value:...}` and `delegatecall` 2. For each hit, check: - Is there a state write BEFORE the external call? - Is `ReentrancyGuard`'s `nonReentrant` modifier applied? - Does it follow checks-effects-interactions? 3. Trace call graph — if any function the call target can invoke reads or writes the same state slot, that's a reentrancy chain. ## PoC via Foundry ``` foundry_reentrancy_test(target="Vault", function="withdraw", target_path="src/Vault.sol") ``` Then: ```bash cp generated.t.sol /workspace/foundry/test/ cd /workspace/foundry && forge test -vvv --match-contract Test_withdraw ``` ## Success criteria The attacker contract balance grows by more than its initial deposit after the attack transaction. The Foundry test should assert this. ## CVSS - Direct fund drain: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H` = 10.0 - Read-only with downstream impact: 8.1-9.1 depending on impact ## Known exemplars - The DAO (2016) - Lendf.Me (2020, ERC777 hook reentrancy, $25M) - Cream Finance (2021) - Rari Capital (2022) - Curve pool read-only reentrancy (2023)
在 GitHub 查看