Throughout the codebase Ownable
is used to give the dev team special privileges, which can be abused either by a malicious owner or in the case of a private key hack.
Utilizing an externally owned account (EOA) as the owner of contracts poses significant dangers of centralization and represents a vulnerable single point of failure. A single private key is susceptible to theft during a hacking incident, or the sole possessor of the key may encounter difficulties in retrieving it when required. It is advisable to contemplate transitioning to a multi-signature arrangement or implementing a role-based authorization framework.
In Lender
, the owner may set lender and borrower fees at will without notice. This may be used to catch unsuspecting users off guard and benefit certain parties. For example, the lender fee can be set as high as 50%
.
Also, the staking token Beedle
allows the owner to mint arbitrary amounts of tokens at any time. A malicious owner can mint themselves large amounts of the token and sell them on the market, securing large profits at the cost of other holders.
A malicious/compromised owner can, in the worst case, inflate the Beedle
token arbitrarily and effectively steal all value from current token holders.
Manual review
Minimise attack surface by utilising a multi-sig wallet or DAO governance contract as the owner, and make users explicitly aware of the inherent centralization risks of the system.
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.