Grim Finance: Reentrancy
Grim Finance's auto-compounding vault was drained for $30M via a classic reentrancy attack on an unprotected `depositFor()` function that let attackers loop false deposits by controlling the deposit token.
Summary #
Grim Finance suffered a Yield Aggregator / Auto-Compounder on 2021-12-18, resulting in a loss of approximately $30M.
What happened #
Grim Finance's auto-compounding vault was drained for $30M via a classic reentrancy attack on an unprotected `depositFor()` function that let attackers loop false deposits by controlling the deposit token.
Linked factors #
- RD-F-004 — causal : Audit count likely 0; floor display [via dashboard_risk_factors/Vulnerability in audited or unaudited code: Unaudited]
- RD-F-006 — causal : Audit-deploy gap — alternate field name [via dashboard_risk_factors/Code newly deployed/upgraded?: Yes — new fork deployment]
- RD-F-007 — related : Bug bounty absent — baseline integrity gap [via dashboard_risk_factors/Bug bounty: None]
- RD-F-076 — related : Protocol age (Cat 5 — < 6 months age signal) [via dashboard_risk_factors/Protocol age: Very new (launched weeks before exploit)]
- RD-F-126 — causal : Is-a-fork-of (Cat 8 anchor) [via dashboard_risk_factors/Forked?: Yes — Beefy Finance fork]