05月07日,区快链安全公司派盾PeckShield独立研究发现,MakerDAO的旧治理合约存在安全漏洞,一旦被利用,会导致用户投票的MKR代币被合约锁死。具体而言:由于该治理合约实现的投票机制(vote(bytes32))存在某种缺陷,允许投票给还不存在的slate(但包含有正在投票的提案)。等用户投票后,攻击者可以恶意调用free()退出,达到减掉有效提案的合法票数,并同时锁死投票人的MKR代币。
次日,PeckShield紧急和Maker公司同步漏洞细节。05月10日凌晨,MakerDAO公开了新版合约。Zeppelin和PeckShield也各自独立完成了对其新合约的审计,确定新版本修复了该漏洞。截止目前,旧治理合约中尚有2,463个MKR代币(价值约128万美元)未完成转移。PeckShield在此提醒,DeFi类合约管理着大量的金融资产,其合约安全性关系到每一个投资用户,DeFi项目方应务必做好合约安全审计,避免因造成不必要的数字资产损失。