Get the FREE Ultimate OpenClaw Setup Guide →

defi-security

Scanned
npx machina-cli add skill 0xlayerghost/solidity-agent-kit/defi-security --openclaw
Files (1)
SKILL.md
6.1 KB

DeFi Security Principles

Language Rule

  • Always respond in the same language the user is using. If the user asks in Chinese, respond in Chinese. If in English, respond in English.

Scope: Only applicable to DeFi projects (DEX, lending, staking, LP, yield). Non-DeFi projects can ignore this skill.

Protection Decision Rules

ThreatRequired Protection
Whale manipulationDaily transaction caps + per-tx amount limits + cooldown window
MEV / sandwich attackEOA-only checks (msg.sender == tx.origin), or use commit-reveal pattern
ArbitrageReferral binding + liquidity distribution + fixed yield model + lock period
ReentrancyReentrancyGuard on all external-call functions (see solidity-security skill)
Flash loan attackCheck block.number change between operations, or use TWAP pricing
Price manipulationChainlink oracle or TWAP — never rely on spot AMM reserves for pricing
Approval exploitUse safeIncreaseAllowance / safeDecreaseAllowance, never raw approve for user flows
Governance attackVoting requires snapshot + minimum token holding period; timelock ≥ 48h on proposal execution
ERC4626 inflation attackFirst deposit must enforce minimum amount or use virtual shares to prevent share dilution via rounding
Cross-vault trust bypassRouter/Registry relay must verify vault authorization; never trust caller identity inside flash loan callbacks — EVMbench/noya H-08
Collateral ownership exploitLiquidation/staking operations must verify actual NFT/collateral ownership — EVMbench/benddao
Bonding curve manipulationID/pricing params in create operations must be fully determined before external calls — EVMbench/phi H-06
DEX pair _transfer TOCTOUNever distinguish operation type by balance/reserve checks in _transfer — both directions are exploitable: buy vs removeLiquidity (pair→user) and sell vs addLiquidity (user→pair); use address whitelist only; new projects prefer Uniswap V4 Hook

Anti-Whale Implementation Rules

  • Maximum single transaction amount: configurable via onlyOwner setter
  • Daily cumulative limit per address: track with mapping(address => mapping(uint256 => uint256)) (address → day → amount)
  • Cooldown between transactions: enforce minimum time gap with block.timestamp check
  • Whitelist for exempt addresses (deployer, LP pair, staking contract)

Flash Loan Protection Rules

  • For price-sensitive operations: require that block.number has changed since last interaction
  • For oracle-dependent calculations: use time-weighted average (TWAP) over minimum 30 minutes
  • For critical state changes: add minimum holding period before action (e.g., must hold tokens for N blocks)

Protocol Composability Risks

Source: EVMbench (OpenAI/Paradigm, Feb 2026) — vulnerability patterns from Code4rena audits

  • Cross-vault operations [noya H-08]: Registry/Router relay calls must verify vault-level authorization; prevent keeper from using flash loan to impersonate other vaults
  • Lending collateral [benddao]: Liquidation functions must verify msg.sender actually owns or is authorized to operate on target collateral
  • Bonding curve [phi H-06]: In create + auto-buy operations, ID assignment and pricing params must be fully determined before the buy transaction executes; prevent reentrancy from modifying them
  • Shared registries [noya H-08]: Permission propagation chains in shared registries must be verified hop-by-hop; never rely solely on "trusted sender" flags

Launch Checklist

Before mainnet deployment, verify all items:

  • All onlyOwner functions transferred to multisig wallet
  • Timelock contract deployed and configured (minimum 24h delay for critical changes)
  • Emergency pause mechanism tested — both pause and unpause functions work correctly
  • Daily limit parameters documented and set to reasonable values
  • Third-party security audit completed and all critical/high findings resolved
  • Testnet deployment running for minimum 7 days with no issues
  • Slippage, fee, and lock period parameters reviewed and documented
  • Initial liquidity plan documented (amount, lock duration, LP token handling)
  • Fuzz testing passes with high iterations (10000+) on all DeFi-critical functions

Emergency Response Procedure

StepAction
1. DetectMonitor alerts trigger (on-chain monitoring, community reports)
2. PauseDesignated address calls pause() — must respond within minutes
3. AssessTechnical lead analyzes root cause, estimates fund impact
4. CommunicatePost incident notice to community channels (Discord, Twitter, Telegram)
5. FixDeploy fix or prepare recovery plan
6. ResumeCall unpause() after fix verified on fork — or migrate to new contract
7. Post-mortemPublish detailed incident report within 48 hours

DeFi Testing Reference

Test ScenarioApproach
Fuzz test fund flowsRun fuzz tests on staking/pool contracts with high iterations (10000+)
Fork mainnet testingUse Foundry fork mode against mainnet RPC to test with real state
Simulate whale transactionUse Foundry cast CLI to simulate large-amount calls on a forked network

Source

git clone https://github.com/0xlayerghost/solidity-agent-kit/blob/main/skills/defi-security/SKILL.mdView on GitHub

Overview

Implements risk controls for DeFi contracts (DEX, lending, staking, LP, token), covering anti-whale, anti-MEV, flash loan protection, launch checklists, and emergency response. Triggered on any deployment or security review of DeFi-related contracts.

How This Skill Works

Applies threat-specific protections via on-chain rules: whale caps with per-tx limits and daily totals, cooldowns; MEV defenses using EO A-only checks or commit-reveal patterns; flash loan safeguards with block-number checks and TWAP pricing; safe-approval patterns; and governance safeguards like snapshots and timelocks. It also provides a structured launch checklist and emergency response guidance for DeFi deployments.

When to Use It

  • Before deploying a new DEX, lending, staking, LP, or token contract
  • During security reviews or audits of existing DeFi protocols
  • When implementing anti-whale or cooldown mechanisms to limit large trades
  • When integrating flash loan protections and TWAP-based pricing
  • During governance changes or cross-vault interactions requiring stricter authorization and timelocks

Quick Start

  1. Step 1: Review threat categories (whale, MEV, flash loan, governance) and enable per-tx limits, daily caps, and cooldowns
  2. Step 2: Implement MEV protections (EOA checks or commit-reveal), TWAP pricing, and safe allowance patterns; add ReentrancyGuard
  3. Step 3: Run the launch checklist, enforce governance guards (snapshot, timelock), and prepare emergency response procedures

Best Practices

  • Configure maximum single-transaction amounts and daily caps; expose via onlyOwner controls
  • Enforce MEV protections with EO A-only checks or commit-reveal patterns
  • Adopt safeIncreaseAllowance / safeDecreaseAllowance instead of raw approve for user flows
  • Apply ReentrancyGuard on external-call functions and verify ownership in critical operations
  • Implement governance safeguards: require snapshots, minimum holding periods, and a 48h timelock for proposals

Example Use Cases

  • A DeFi protocol adds daily transaction caps to limit whale impact during high-volatility events
  • Launch of a new token uses EO A-only checks or a commit-reveal pattern to reduce MEV risk
  • Protocol adopts TWAP pricing and block-number changes to defend against flash loans during price-sensitive actions
  • Governance changes are protected with vote snapshots and a minimum 48-hour timelock before execution
  • Router/Registry relays verify vault authorization to prevent cross-vault trust bypass during complex operations

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers