withdrawDeposits has nonReenter guard on it, but not every funtion which is accessible external, some exploit might be possible by using _moew, endTotalGermination, claimFertilized
or any other function added by diamond proxy,
especially that with safe transfer wich no checks , and possibility
any token ERC20 can be whtielisted by bean Governance in future,
that is huge opening.
We start with withdraw deposit
LibTransfer.sendToken has no check of result in this contract SiloFacet.sol
which triggers safe transfer with no checks.
Can try siphon the whole contracts deposits.
Slither , hardhat, code analyze.
apply some data checks to the call of funtion in library
try LibTransfer.sendToken(IERC20(token), amount, recipient, mode)
{ return
true; }
catch {
return false;
}
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.