avatar
Mikko Ohtamaa
17,959个推特粉丝
关注
Follow us at @tradingprotocol
动态
avatar
Mikko Ohtamaa
03-23
主题贴
Resolv 骇客事件及其未吸取的教训 这次的损失完全是 Resolv 本身造成的,而且本来可以避免。 Resolv 5000 万美元 + 3000 万美元的增发是“未经授权的”,这意味著其私钥被泄露,就像朝鲜式的黑客攻击。这种「泡菜溢价」本来可以轻松避免。这不是市场失灵、价格下跌或抵押品贬值造成的。这完全是无能造成的,是典型的搬石头砸自己的脚。 自 2013 年比特币引入多重签名以来,13 年来我们一直知道如何避免私钥被未经授权使用: - 首先不要使用私钥,而是使用多重签名钱包 - 使用额外签名保护的硬体安全模组 (HSM) 但 Resolv 为什么要这么做呢?这其实并不复杂。 导致未经授权的原因 「SERVICE_ROLE 是 Resolv USR 协议合约中的一个特权角色(两阶段请求/完成铸币/兑换流程的一部分)。Resolv 没有提供任何详细的官方文件来解释其用途、安全模型、分配流程或风险。无论是公开的精简版文件、用户文件 (|_2024111120230_HubADS4411111202304111120230)」。 (Grok 引述) 经过 18 次审计 为什么 Resolv 在多次审计后仍然没有发现这个问题?因为除了像 @sherlockdefi 这样的少数例外,审计人员并不关心专案是否被骇客攻击。他们对已部署的系统不承担任何责任。他们没有切身利益。他们只关心现金报酬,以及「代码看起来没问题」。 即便如此,所有这些审计人员仍然未能指出这个显而易见的问题。我们有一个可以无限量铸造我们稳定币的服务角色,但没有任何文件记录。 拜托! “系统里有这么个无所不能的私钥”,但只要你付给我们一点费用,你的软体就没问题,我们不在乎之后会发生什么。只要别持有不当就行,好吗? Coinbase 投资,Steakhouse 赞誉 布莱恩的认可也无济于事。 就在六天前,Steakhouse 在他们的《Steakhouse Financial Insights》中写道: “在运营方面,Resolv 通过第三方托管、多预言机冗余和程序化安全措施展现了机构级的严谨性。Resolv 迄今为止运行良好,并且在不利条件下展现了自我纠正能力。” kitchen.steakhouse.financial/p... 这种说法太笼统了,简直可以当成 ISO 9001 品质审核报告,因为它根本没提到实际的系统、流程及其特性。 “我和他们一起吃了顿午饭,喝了一杯法国红酒后,我就确信这套系统没问题了。” 第三方托管?这难道意味著他们用了 Fireblocks 来保护私钥吗?一个由前摩萨德特工编写的私钥钱包仍然是一个私钥钱包,而且风险更大,因为密钥很可能直接被你的闭源软体即服务提供商窃取,你根本无法知道他们的软体内部究竟有多糟糕。 如何避免未来重蹈覆辙? 其实并不难。尤其是在拥有 1000 万美元种子资金,并且最高投资额达到 5 亿美元的情况下,完全可以做得更好。 1. 降低私钥权限 2. 使用利害关系人审计员 3. 保持透明并遵循去中心化金融 (DeFi) 的发展方向 身为 DeFi 用户,您如何避免这些事件? 这是一个棘手的问题。 问题在于底层智慧合约是用 Solidity 编写的,这是一种拼凑而成的自研语言。 Solidity 智能合约的安全特性很难评估。虽然有更好的语言,但我们似乎只能继续使用传统的 Solidity。尽管 Solidity 的缺陷众所周知,但很少人真正努力改善它的安全性,例如忽略事件本身,或花钱请人从语言层面找出这些漏洞。 人工智慧将大有帮助。由于我们无法追究安全审计员的责任(他们的信誉似乎与骇客攻击无关),因此未来的出路似乎是取消安全审计员。在不久的将来,任何人都可以将人工智慧代理指向一个复杂的已部署智慧合约系统,它会给出「赞成」或「反对」的报告。 关于这一点,我已经在这里做了一个小型试点项目 github.com/tradingstrategy-ai/...…,Claude Code 成功地从我们合作伙伴的系统中,在一个已部署的智能合约上找到了一个不应该存在的特权私钥。 附注:对于硬体安全模组 (HSM):您没有任何其他商业化的不透明方案来保护您的关键私钥。如果您正在建立需要链下高度可信任私钥的安全关键型智慧合约系统,您可以使用 Google Cloud。 这是我们为 Google Cloud 提供的免费开源以太坊签名模组:web3-ethereum-defi.tradingstra...… - 只需记住相应地设定组织策略即可。 感谢 @zacodil 和 @omeragoldberg 的研究。
RESOLV
1.76%
loading indicator
Loading..