iktok90-design/ai-smart-contract-auditor/liquidation-cascade

Claude Code and agent skill by iktok90-design/ai-smart-contract-auditor

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Detect cascading liquidations and socialized bad debt — correlated collateral (multiple LSTs/stables), bad debt socialized across unrelated markets, oracle flash-crash triggering mass liquidation, insurance-fund depletion ordering, liquidation incentives too low to clear bad debt, and depeg cascades. Activate whenever a lending/perp/CDP protocol liquidates positions, prices collateral, or has shared-risk pools.

Install

npx vskill@latest install iktok90-design/ai-smart-contract-auditor/liquidation-cascade

SKILL.md

Liquidation cascade detection

When this applies

Trigger on any of:

  • Lending / CDP / perp markets with liquidation and a liquidation bonus
  • Multiple collateral assets that are correlated (stETH/rETH/cbETH, USDC/DAI/USDT)
  • A single insurance fund or backstop covering many isolated or pooled markets
  • Bad-debt handling that socializes losses across lenders/LPs
  • Collateral priced from a feed that can flash-crash or depeg
  • Liquidation incentives or close factors set by governance

Detection patterns

Correlated collateral, no concentration cap (HIGH)
solidity
// stETH, rETH, cbETH all accepted, all priced off ETH-correlated feeds
collateralFactor[stETH] = 0.9e18;
collateralFactor[rETH] = 0.9e18;

Signal: treating correlated LSTs as independent diversification. A single LST depeg (stETH 2022, or an LRT slashing event) crashes many positions at once, overwhelming liquidation throughput. Cap aggregate exposure per risk-cluster, not per token.

Bad debt socialized across markets (HIGH)

A loss in one risky isolated market draining a shared insurance fund or pool that also backs blue-chip markets. Signal: one toxic listing can impair unrelated depositors (the Mango / cross-margin contagion class). Isolate bad debt to the originating market.

Oracle flash-crash mass liquidation (HIGH)
solidity
uint256 price = oracle.getPrice(collateral); // single-block spot, no bounds
if (debt > price * collateral * cf) liquidate();

Signal: a momentary depeg / wick (or manipulated feed) marks thousands of healthy positions liquidatable in one block; liquidators race, price gaps, and survivors eat bad debt. Use TWAP / deviation circuit breakers before liquidating en masse.

Liquidation incentive too low → stuck bad debt (MEDIUM)

If the liquidation bonus < gas + slippage to unwind seized collateral, liquidators don't act; positions go underwater and bad debt accrues silently. Signal: fixed small bonus on illiquid or volatile collateral.

Insurance-fund depletion ordering (MEDIUM / HIGH)

Order of loss absorption matters: if the fund pays liquidator bonuses before covering bad debt, or if multiple markets draw from it without priority, a run drains it. Define and bound the waterfall.

Depeg cascade (HIGH)

Stablecoin-collateralized debt where the stable depegs: liquidations sell the depegging asset, deepening the depeg, triggering more liquidations (UST May 2022). Flag self-reinforcing sell pressure with no circuit breaker.

Severity rubric

PatternSeverityNotes
Toxic-market bad debt socialized to all depositorsHighCross-market contagion
Correlated collateral, no cluster capHighSimultaneous mass insolvency
Spot-oracle flash-crash mass liquidationHighOne-block cascade
Self-reinforcing depeg cascadeHighNo circuit breaker
Insurance-fund waterfall ordering flawMediumRun-depletable
Liquidation bonus too low → stuck bad debtMediumSlow accrual

Remediation patterns

  1. Isolate bad debt per market (Compound III / Morpho-style isolation, Aave isolation mode + debt ceilings); never let a risky listing impair blue-chip depositors.
  2. Risk-cluster caps — bound aggregate exposure to correlated assets (all LSTs as one bucket), not per-token.
  3. Circuit breakers — pause liquidations on excessive deviation; use TWAP/median so a single wick can't mass-liquidate.
  4. Right-size liquidation incentives to gas + realistic unwind slippage on the actual collateral liquidity.
  5. Define the loss waterfall explicitly (insurance fund → socialization → governance backstop) with per-market accounting.

False-positive notes

  • A protocol with hard per-market debt ceilings and isolated collateral already bounds contagion; note rather than escalate.
  • Single-collateral, deeply-liquid markets (e.g. WETH-only) carry low cascade risk.
  • A bonus that looks low but on a highly liquid asset may still clear — judge against real unwind cost.

Related

  • [[oracle-redundancy]] — flash-crash protection and staleness gating
  • [[oracle-manipulation]] — manipulated marks trigger false liquidations
  • [[centralization-risk]] — governance-set risk params and pause keys

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
37
Repository forks
5
7-day trend score
18

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/iktok90-design/ai-smart-contract-auditor/liquidation-cascade/badge)](https://verified-skill.com/skills/iktok90-design/ai-smart-contract-auditor/liquidation-cascade)

Something wrong with this skill or its page? Tell us.