defirisk.co
rubric v1.7.0

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.

Occurred 2021-12-18 Loss $30M Status closed

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]