Aave V3
MITHRILLending / Borrowing · Multi-chain · $15B+ TVL · 30 contracts
Public risk assessment — scores are produced with the same methodology as monitored protocols
Security Profile
90
91
85
78
92
95
96
90
85
55
90
91
85
78
92
95
96
90
85
55
Audit History
Bug Bounty Program
Assessment
Gold standard lending protocol. Zero validated findings, 38-month V3 track record, org since 2017. IRRATIONAL game equilibrium confirms no profitable deviation. 880 reflects massive structural surface area (991 nodes, 2601 edges) balanced by exceptional defense depth. Near-ADAMANTINE but Chainlink dependency and flash loan callback surface prevent top tier.
Dimension Breakdown
How scores work →- 8 modifiers: ifAdmin, onlyPoolConfigurator, onlyPoolAdmin, onlyPositionManager, onlyUmbrella, initializer, onlyPool
- Internal check functions: _onlyPoolConfigurator, _onlyPoolAdmin, _onlyPositionManager
- Role-based ACL: hasRole, getRoleAdmin, grantRole, revokeRole, renounceRole
- 958 function authority entries in graph
- Emergency pause via onlyPoolAdmin with 3600s response time
- Health factor model: calculateUserAccountData with 15 call edges (thorough validation)
- validateBorrow: 24 call edges (most complex validation function)
- validateLiquidationCall: 15 call edges checking health factor thresholds
- Flash loan exists: FLASHLOAN_PREMIUM_TOTAL, FLASHLOAN_PREMIUM_TO_PROTOCOL (fee-configurable)
- Isolation mode: isolationModeTotalDebt with 3 writers provides isolation
- 16 events track all value operations: Supply, Withdraw, Borrow, Repay, FlashLoan, LiquidationCall
- ADDRESSES_PROVIDER (immutable): oracle indirection via provider pattern
- RESERVE_INTEREST_RATE_STRATEGY (immutable): externalized rate computation
- getReserveNormalizedIncome, getReserveNormalizedVariableDebt: internal oracle functions
- eMode categories add oracle complexity (10 writers to _eModeCategories)
- Slight deduction: single oracle provider dependency (Chainlink)
- V3 live since March 2023 (38 months), V2 since 2020, V1 since 2020, org since 2017
- Zero protocol-level exploits across any version
- Multiple audit firms, continuous auditing program
- Formally verified core contracts
- Z-factor: 0.866
- Timelocked governance execution via external governance contracts
- onlyPoolConfigurator gates: initReserve, dropReserve, setConfiguration, updateFlashloanPremium, configureEModeCategory*
- onlyPoolAdmin gates: syncIndexesState, syncRatesState, setLiquidationGracePeriod, rescueTokens, eliminateReserveDeficit
- onlyUmbrella: specialized insurance/umbrella operations
- Guardian multisig for emergency actions
- Score derived from continuous adversarial security research
- Aave Companies manages operations professionally
- Defender min response time: 3600s (1 hour) via emergency pause
- Multi-chain deployment infrastructure
- Active monitoring and parameter adjustment
- 1019 call edges show high internal composition complexity
- Top fan-out: mint(28), validateBorrow(24), initialize(23), executeFlashLoan(22)
- Flash loan callback: executeOperation creates cross-boundary composition
- 3 composition type errors: FL->_handleFlashLoanRepayment(missing R), getSiloedBorrowingState->isBorrowingOne
- 5 compound chains identified (M+M->C via delegatecall bypass) - structural only
- multicall enables transaction batching with composition risk
- Appears in 9 cross-protocol cascade chain(s)
- Member of 9 dependency cluster(s)
- Score: 55/100 (higher = more isolated from systemic risk)
- Source: cross_protocol_composition.json dependency analysis
- OpenZeppelin libraries (industry standard)
- Modern Solidity versions, regularly updated
- Verified on all deployment chains
- Professional dependency management
Risk Drivers
Primary risk factors driving this score, ordered by severity.
Adversarial Risk Signals
Observable security posture indicators. These signals reflect publicly verifiable information and responsible disclosure outcomes. No specific vulnerability details are exposed.
Score History & Verification
Score provenance tracking begins with the next reassessment.
On-Chain Data
- Protocol Slug
- "aave-v3"
- Oracle
- BRORegistry (Base)
- Evidence
- IPFS (pinned)
- Staleness Threshold
- 24 hours
registry.getScore("aave-v3")Reduce exploitable risk
BlackHart Monitoring provides continuous adversarial analysis, vulnerability detection, remediation support, and verified reassessment when your risk posture improves.