Liquidation Calculation Auditor
When to Use
- Auditing liquidation reward calculations, fee distribution, collateral valuation
- User mentions: liquidation reward, protocol fee, minimum collateral, yield, PNL, self-liquidation, oracle manipulation, liquidation profitability
- Analyzing liquidation economics, fee structures, collateral calculations
- Reviewing reward priorities, decimal handling in liquidations
Audit Workflow
IMPORTANT: Announce skill usage at start of analysis
Begin with: "I'm using the audit-liquidation-calculation skill to analyze this contract for liquidation calculation and economic vulnerabilities..."
Scan for liquidation calculation operations
- Search:
liquidate, liquidationReward, liquidationBonus, protocolFee, collateralValue, minimumCollateral, yield, PNL, earnedYield
- Focus: reward calculations, fee priorities, collateral valuations, decimal handling
Check against vulnerability patterns
- Reference
reference.md for complete checklist
- Compare code against
example.md
Validate exploitability
- Check access control first - grep for
onlyOwner|onlyAdmin|onlyGovernance modifiers
- Can non-privileged actors exploit liquidation calculation issues?
- Are liquidator rewards calculated correctly with proper decimals?
- Are rewards paid before or after other fees?
- Do protocol fees make liquidation unprofitable?
- Does minimum collateral account for liquidation costs?
- Is yield/PNL included in collateral value?
- Are swap fees charged during liquidation?
- Can users self-liquidate profitably via oracle manipulation?
- Verify no compensating protections exist
- Downgrade severity if admin-only unless systemic liquidation failure
Generate report
- Use deliverable template below
- Include economic analysis and PoC
- Rank by severity
Core Vulnerability Patterns
See reference.md for full checklist. Key patterns:
- Incorrect liquidator reward → decimal precision errors make rewards unusable
- Unprioritized liquidator reward → other fees paid first, no incentive remains
- Excessive protocol fee → 30%+ fees make liquidation unprofitable
- Missing liquidation fees in requirements → positions unliquidatable at minimum
- Unaccounted yield/PNL → collateral undervalued, unfair liquidations
- No swap fee during liquidation → protocol loses revenue
- Oracle sandwich self-liquidation → users profit from triggering oracle updates
Code examples: See example.md
Severity Criteria
Critical: Liquidator rewards calculated incorrectly causing systemic liquidation failure, profitable self-liquidation via oracle manipulation, MUST be exploitable by non-privileged actors
High: Unprioritized rewards removing liquidation incentive, excessive protocol fees preventing liquidation, unaccounted yield causing unfair liquidations, MUST be exploitable by non-privileged actors
Medium: Missing swap fees during liquidation, minimum collateral not accounting for costs, admin-only fee configuration issues with cascading liquidation impact
Low: Suboptimal fee structures without security impact, admin-only parameter issues without immediate liquidation impact
IMPORTANT: Admin-only liquidation fee functions (onlyOwner, onlyAdmin, onlyGovernance) are MEDIUM or LOW severity unless:
- Invalid fee parameters cause systemic liquidation failure (e.g., protocol fee > liquidation bonus)
- Missing validation enables admin to drain liquidation rewards for personal gain
- Calculation errors directly lead to unprofitable liquidations and bad debt accumulation
False Positives - Do NOT Flag
- Protocols with trusted liquidators where profitability not required
- Documented admin fee collection mechanisms
- Alternative reward structures with analysis showing profitability
- Intentional yield/PNL handling with documented rationale
- Protocols without oracle-based pricing (no oracle manipulation risk)
- Admin-only fee setter functions (onlyOwner, onlyAdmin) with documented validation and bounds
- Governance-controlled liquidation bonus parameters with analysis showing profitability
- Admin functions for protocol fee collection where liquidator rewards are prioritized
Deliverable Format
MANDATORY: Before deliverable, verify each checklist.md item against codebase. Flag violations as findings.
Use template: templates/report-template.md
Each finding includes: severity, pattern #, file/lines, description, vulnerable code, economic impact analysis, PoC showing unprofitable liquidation or exploitation, remediation, gas impact.
Key Principles
- Decimal precision - liquidator rewards must use correct decimals to be spendable
- Priority - liquidator rewards paid first, protocol fees second
- Profitability - total fees < liquidation bonus to maintain incentive
- Completeness - minimum collateral accounts for all liquidation costs
- Fair valuation - yield/PNL included in collateral calculations
- Revenue capture - protocol charges fees on liquidation swaps
- Manipulation resistance - prevent profitable self-liquidation via oracle updates
Output Guidelines
DO:
- Reference specific lines and functions
- Provide economic analysis (fees vs rewards vs costs)
- Show PoCs demonstrating unprofitable liquidations
- Quantify reward calculation errors
- Calculate break-even points for liquidation profitability
DON'T:
- Report intentional design choices with documentation
- Flag missing features with alternative mechanisms in place
- Use vague terms ("might be unprofitable")
- Ignore gas costs and on-chain fee context
1---2name: audit-liquidation-calculation3description: Audits Solidity liquidation mechanisms for calculation vulnerabilities including incorrect liquidator reward decimals making rewards too small/large, unprioritized liquidator rewards paid after other fees removing incentive, excessive protocol fees making liquidation unprofitable, minimum collateral requirements not accounting for liquidation costs, unaccounted yield/PNL not included in collateral valuation, missing swap fees during liquidation, and oracle sandwich self-liquidation manipulation4license: MIT5---67# Liquidation Calculation Auditor89## When to Use10- Auditing liquidation reward calculations, fee distribution, collateral valuation11- User mentions: liquidation reward, protocol fee, minimum collateral, yield, PNL, self-liquidation, oracle manipulation, liquidation profitability12- Analyzing liquidation economics, fee structures, collateral calculations13- Reviewing reward priorities, decimal handling in liquidations1415## Audit Workflow1617**IMPORTANT: Announce skill usage at start of analysis**1819Begin with: "I'm using the **audit-liquidation-calculation** skill to analyze this contract for liquidation calculation and economic vulnerabilities..."20211. **Scan for liquidation calculation operations**22 - Search: `liquidate`, `liquidationReward`, `liquidationBonus`, `protocolFee`, `collateralValue`, `minimumCollateral`, `yield`, `PNL`, `earnedYield`23 - Focus: reward calculations, fee priorities, collateral valuations, decimal handling24252. **Check against vulnerability patterns**26 - Reference `reference.md` for complete checklist27 - Compare code against `example.md`28293. **Validate exploitability**30 - **Check access control first** - grep for `onlyOwner|onlyAdmin|onlyGovernance` modifiers31 - Can non-privileged actors exploit liquidation calculation issues?32 - Are liquidator rewards calculated correctly with proper decimals?33 - Are rewards paid before or after other fees?34 - Do protocol fees make liquidation unprofitable?35 - Does minimum collateral account for liquidation costs?36 - Is yield/PNL included in collateral value?37 - Are swap fees charged during liquidation?38 - Can users self-liquidate profitably via oracle manipulation?39 - Verify no compensating protections exist40 - Downgrade severity if admin-only unless systemic liquidation failure41424. **Generate report**43 - Use deliverable template below44 - Include economic analysis and PoC45 - Rank by severity4647## Core Vulnerability Patterns4849See `reference.md` for full checklist. Key patterns:50511. Incorrect liquidator reward → decimal precision errors make rewards unusable522. Unprioritized liquidator reward → other fees paid first, no incentive remains533. Excessive protocol fee → 30%+ fees make liquidation unprofitable544. Missing liquidation fees in requirements → positions unliquidatable at minimum555. Unaccounted yield/PNL → collateral undervalued, unfair liquidations566. No swap fee during liquidation → protocol loses revenue577. Oracle sandwich self-liquidation → users profit from triggering oracle updates5859**Code examples:** See `example.md`6061## Severity Criteria6263**Critical:** Liquidator rewards calculated incorrectly causing systemic liquidation failure, profitable self-liquidation via oracle manipulation, **MUST be exploitable by non-privileged actors**64**High:** Unprioritized rewards removing liquidation incentive, excessive protocol fees preventing liquidation, unaccounted yield causing unfair liquidations, **MUST be exploitable by non-privileged actors**65**Medium:** Missing swap fees during liquidation, minimum collateral not accounting for costs, **admin-only fee configuration issues with cascading liquidation impact**66**Low:** Suboptimal fee structures without security impact, **admin-only parameter issues without immediate liquidation impact**6768**IMPORTANT:** Admin-only liquidation fee functions (onlyOwner, onlyAdmin, onlyGovernance) are **MEDIUM or LOW severity** unless:69- Invalid fee parameters cause systemic liquidation failure (e.g., protocol fee > liquidation bonus)70- Missing validation enables admin to drain liquidation rewards for personal gain71- Calculation errors directly lead to unprofitable liquidations and bad debt accumulation7273## False Positives - Do NOT Flag7475- Protocols with trusted liquidators where profitability not required76- Documented admin fee collection mechanisms77- Alternative reward structures with analysis showing profitability78- Intentional yield/PNL handling with documented rationale79- Protocols without oracle-based pricing (no oracle manipulation risk)80- **Admin-only fee setter functions** (onlyOwner, onlyAdmin) with documented validation and bounds81- Governance-controlled liquidation bonus parameters with analysis showing profitability82- Admin functions for protocol fee collection where liquidator rewards are prioritized8384## Deliverable Format8586**MANDATORY:** Before deliverable, verify each `checklist.md` item against codebase. Flag violations as findings.8788Use template: `templates/report-template.md`8990Each finding includes: severity, pattern #, file/lines, description, vulnerable code, economic impact analysis, PoC showing unprofitable liquidation or exploitation, remediation, gas impact.9192## Key Principles9394- **Decimal precision** - liquidator rewards must use correct decimals to be spendable95- **Priority** - liquidator rewards paid first, protocol fees second96- **Profitability** - total fees < liquidation bonus to maintain incentive97- **Completeness** - minimum collateral accounts for all liquidation costs98- **Fair valuation** - yield/PNL included in collateral calculations99- **Revenue capture** - protocol charges fees on liquidation swaps100- **Manipulation resistance** - prevent profitable self-liquidation via oracle updates101102## Output Guidelines103104**DO:**105- Reference specific lines and functions106- Provide economic analysis (fees vs rewards vs costs)107- Show PoCs demonstrating unprofitable liquidations108- Quantify reward calculation errors109- Calculate break-even points for liquidation profitability110111**DON'T:**112- Report intentional design choices with documentation113- Flag missing features with alternative mechanisms in place114- Use vague terms ("might be unprofitable")115- Ignore gas costs and on-chain fee context