EIP-7702是什么?一次签名,能让你的钱包跑别人的程序?
这几天币安被盗,很多人在问EIP-7702。先用一句话说:它让普通钱包地址(EOA)也能挂上合约代码来执行。
按以太坊官方规范原文:
1. 新增一种交易类型,交易里带一张“授权清单”。
2. 每条授权由地址主人签名,内容是链ID、要指向的合约地址和nonce。
3. 授权生效后,你的地址里会写入一个“委托指针”。之后谁调用你的地址,跑的都是那份合约代码,而且是以你的地址身份在跑。
4. 这个委托会一直留着,不是用完就没。想撤,得再签一次,指向零地址。
设计初衷是好事:批量操作、别人代付手续费、给子密钥限权。
但规范自己也写得很直白:被委托的代码对账户有不受限的访问权;应用不该指望让用户签这种授权,钱包也不该给出这种入口;委托合约写得烂,别人可能几乎完全控制你的地址。
回到这次事件。Chainalysis的说法是:在以太坊上,攻击者提交了有效签名的授权,让一个币安热钱包运行攻击者部署的代码,再调用这个钱包把资产扫走。这些授权签名是怎么来的,币安的完整技术报告还没出。别急着下结论,也别把锅全扣在一个EIP头上。
说句不好听的:这类授权一旦签出去,扫钱只需要一笔调用。普通人点“确认”的时候,没理由闭着眼。
三条自查:
1. 看不懂的签名请求不签,尤其是写着“授权”“委托”“升级账户”的。
2. 只信钱包自己的签名解析,不信网页弹窗里的说明。
3. 定期查一下授权和地址的委托状态,不用的就撤。
你的钱包弹过“升级账户”这类提示吗?当时点了没有?
#EIP7702 #钱包安全 $ETH
这几天币安被盗,很多人在问EIP-7702。先用一句话说:它让普通钱包地址(EOA)也能挂上合约代码来执行。
按以太坊官方规范原文:
1. 新增一种交易类型,交易里带一张“授权清单”。
2. 每条授权由地址主人签名,内容是链ID、要指向的合约地址和nonce。
3. 授权生效后,你的地址里会写入一个“委托指针”。之后谁调用你的地址,跑的都是那份合约代码,而且是以你的地址身份在跑。
4. 这个委托会一直留着,不是用完就没。想撤,得再签一次,指向零地址。
设计初衷是好事:批量操作、别人代付手续费、给子密钥限权。
但规范自己也写得很直白:被委托的代码对账户有不受限的访问权;应用不该指望让用户签这种授权,钱包也不该给出这种入口;委托合约写得烂,别人可能几乎完全控制你的地址。
回到这次事件。Chainalysis的说法是:在以太坊上,攻击者提交了有效签名的授权,让一个币安热钱包运行攻击者部署的代码,再调用这个钱包把资产扫走。这些授权签名是怎么来的,币安的完整技术报告还没出。别急着下结论,也别把锅全扣在一个EIP头上。
说句不好听的:这类授权一旦签出去,扫钱只需要一笔调用。普通人点“确认”的时候,没理由闭着眼。
三条自查:
1. 看不懂的签名请求不签,尤其是写着“授权”“委托”“升级账户”的。
2. 只信钱包自己的签名解析,不信网页弹窗里的说明。
3. 定期查一下授权和地址的委托状态,不用的就撤。
你的钱包弹过“升级账户”这类提示吗?当时点了没有?
#EIP7702 #钱包安全 $ETH
