Chainlink aggregator min/max bound misconfig
A oracle & external dependencies factor in the v1.7.0 rubric. Measured per protocol on a s cadence.
Methodology how we score #
**What this measures** This factor checks whether the Chainlink price feed configuration for any asset uses `minAnswer` and `maxAnswer` bounds that are incorrectly set — either too wide (failing to catch extreme outliers) or too narrow (triggering false circuit-breaker activations for legitimate price moves). Chainlink feed configuration and on-chain reads of the aggregator contract are the data sources.
**Why it matters** Chainlink v2 aggregators include hardcoded min/max answer bounds. If an asset crashes below the `minAnswer` floor (as happened with several assets during the March 2020 and Terra 2022 market events), the aggregator continues to return the floor value rather than the actual price — creating a known-incorrect price that lending protocols accept. The ETH/USD feed's historical `minAnswer` of $1 (later updated) is the canonical example: a protocol that trusted the Chainlink-returned price without checking against its own circuit breaker would have priced ETH at $1 during any hypothetical sub-$1 crash. The T-01 evidence base links Chainlink min/max misconfig to approximately three protocols in the hack database.
**Green / Yellow / Red** Green is scored when min/max bounds are calibrated to realistic asset-class ranges and the protocol additionally implements its own circuit breaker independent of the Chainlink bounds. Yellow is scored when bounds appear reasonable but the protocol relies solely on Chainlink bounds without a secondary check. Red is scored when bounds are clearly misconfigured — e.g., `minAnswer = 1` for a volatile asset — or when bounds have not been reviewed since protocol deployment.
**Common gray cases** Gray is applied when the protocol uses a Chainlink feed via a third-party adapter whose bound configuration cannot be read from public on-chain sources.
**Notable historical examples** No cross-hacked incidents are currently linked in the database for this factor.
Measurement what to look for #
Determine whether the Chainlink aggregator's `minAnswer` and `maxAnswer` circuit-breaker bounds are misconfigured (too wide or too narrow) for the asset class.