The ChainlinkOracle contract's reliance on a single price feed without cross-validation creates a fundamental security risk in QuantAMM's TFMM architecture. The _getData() function's exclusive dependence on one Chainlink feed introduces a critical single point of failure in the protocol's automated portfolio management system. While MultiHopOracle does combine multiple oracles, it's still using single sources for each hop. A compromised oracle at any hop affects the entire derived price.
For QuantAMM's TFMM mechanism, this architectural weakness is particularly severe because the temporal function continuously calculates weight adjustments based on oracle inputs. Without cross-validation against multiple price sources, the entire rebalancing system becomes vulnerable to manipulation or failure of the single oracle. The automated nature of these adjustments means that corrupted price data from the sole oracle would immediately translate into incorrect portfolio allocations.
This vulnerability becomes especially critical in QuantAMM's composite pool structure, where a compromised oracle affects not just individual strategies but entire networks of interconnected pools. The temporal function's reliance on accurate price data means that oracle manipulation could cause systematic strategy drift across multiple portfolios simultaneously, potentially leading to large-scale misallocation of assets under management.
Implement multi-oracle cross-validation with weighted consensus:
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelyhood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.