50万美元的血泪教训:一个简单的签名如何导致资产被盗?

区块律动发布于2022-08-30更新于2022-08-30

文章摘要

你可能很难想象,Metamask 中一个简单的签名就能掏空你的钱包。

你可能很难想象,Metamask 中一个简单的签名就能掏空你的钱包。但这样的事却发生在了一名资深用户身上,今天他因一个漏洞损失了近 50 万 USDC 。如果不多加小心的话,你可能就是下一个他。所以,今天我想和大家讲讲这件事的来龙去脉,告诉大家以后如何注意此类问题。

那是在一个安静的午后时分,Joe(化名)突然发现自己的钱包被转走了 46.9 万 USDC。这次转账并不简单,肯定不是攻击者能做出的行为,因为他们根本不可能得到 Joe 钱包的权限。那就说明,转走他所有 USDC 的应该是某个恶意合约。

在讲述今天的故事之前,我需要先向大家解释一些术语。USDC 是以太坊上的一个具有多种功能的合约,规定了我们可以如何使用 USDC。

在众多功能当中,我们需要特别关注下面两项功能:

转账(transfer)

代转(transferFrom)

当你需要在钱包之间转移 USDC,或其他 ERC20s 时,就需要用到转账功能。它可以将 Token 从调用者(调用该功能的地址)转移到其他地址。如果有人能以你的名义恶意使用该功能,那么他一定得先掌握了你钱包的全部权限才行。

当你与合约产生互动时,它们会通过代转功能来转移你的 Token,具体金额由你提前预设好的比例决定。因此,如果你允许一项合约转移无限量的 USDC,那么理论上它就可以拿走你所有的 USDC。

现在让我们回到 Joe 的故事当中,转走他全部 USDC 的确实就是 transferFrom 功能。然而,只有当 Joe 批准合约使用他的 USDC 时,transferFrom 才能发挥作用。但事实上,Joe 坚信自己没有批准任何事项。

可是,DeBank 的交易记录清楚地显示,在漏洞发生前 10 分钟,该恶意合约可以无限使用账户中的 USDC。那么问题就在于,如果不是 Joe 本人的话,究竟是谁给了该合约这一项批准呢?我只能说,Joe 确实批准了这一操作,但却是在他不知情的情况下完成的。

Etherscan 上的信息显示,Joe 本人确实没有调用该功能,真正批准了这一额度的是其他地址,这才让恶意合约得以花光 Joe 全部的 USDC。

我们不禁疑问,别人怎么能代替我给予合约许可呢?

许可功能的引入原本是为了改善以太坊的用户体验,它只需一个签名就可以让用户在不提交交易的情况下修改批准金额。也就是说,只要有了你的签名,任何人都可以调用许可功能,并更新你对合约的批准额度。

当你使用 1inch dApp 时,你就可以体验到这一功能。如果你想在上面出售 USDC,那你并不需要事先批准,只需要签上你的名字就够了。有了这个签名,1inch 便获取了你全部 USDC 的使用权限。虽然 1inch 不会无缘无故花光你所有的 USDC,但这却给了恶意合约机会。

Joe 一定是不小心在一个恶意网站上签署了这样的信息。不幸的是,那一次他用的是热钱包,签名只是随手点击一下就完成了。如果他用的是硬件钱包的话,就需要在外部设备上签署信息,那么还会有一个思考的时间。

有了 Joe 的签名,其他地址便可以提交一个带有许可功能的交易,这样恶意合约就获取了 Joe 钱包全部 USDC 的使用权限。然后,只要它调用 transferFrom 功能,就可以转走全部这些资金了。

所以说,一个看似小小的签名却可以引来巨大的灾难。在某些情况下,Metamask 会在你准备签名是对你发出警告,告知你其中的危险性。签署一个信息可能是危险的。但一些技术层面上的批准签名却不会收到预警,但这些一旦滥用往往会造成巨额的损失。

如何避免今后遇到类似的问题?

1. 不要在 Metamask 中签署一切内容;

2. 花点时间了解你所签署的内容;

3. 对传统的批准事项要格外小心。

你可能也喜欢

读博最后一年转方向,拿到OpenAI offer:我的面试之路充满「意外」

布朗大学博士生Yong Zheng-Xin(中文名应为“永正新”)将在下个月以Astra Fellow身份加入OpenAI,专注于AI安全研究(AI Safety Research)。他在博士最后一年从多语言大模型研究方向转向AI安全领域,并分享了求职过程中的六个“意外”发现: 1. **论文数量并非关键**:获得面试和工作机会,真正起作用的往往只有一两篇高质量论文,甚至无需论文,更看重当场解决问题的能力。 2. **面试形式高度多样**:除了常规技术面试,还可能涉及系统设计、并行编程,甚至考察使用AI智能体的能力。 3. **工作试用期渐成常态**:尤其是在AI初创公司,候选者可能需要与团队合作完成一项有时长达一周的有偿任务,这会影响同时准备其他面试。 4. **时机至关重要**:就业市场的热点、职位需求窗口期、个人研究作品的走红时机,都会极大影响求职过程和结果。 5. **研究职位鲜有“留用”机会**:与软件工程岗位不同,研究类职位(如实习、奖学金结束后)通常仍需经历完整的面试流程才能转正。 6. **面试内容常与研究方向无关**:尽管他转向了AI安全领域,但许多面试环节并未专门考察该领域的知识,而是评估其作为AI研究员的综合基础能力。 他建议,在准备面试时要广泛学习,夯实基础,并可根据情况合理要求调整面试时间。最终,他对自己能获得满意的工作机会感到庆幸。

marsbit5分钟前

读博最后一年转方向,拿到OpenAI offer:我的面试之路充满「意外」

marsbit5分钟前

渣打银行再唱 50 倍狂想曲,为 AAVE“画饼”剑指 3500 美元

渣打银行发布研报,预测DeFi借贷协议AAVE的代币价格有望在2030年底前上涨50倍,达到3500美元。其核心逻辑基于两大趋势预判:一是到2030年DeFi总锁仓量(TVL)将增长37倍至约2.7万亿美元,主要受稳定币扩张和现实世界资产(RWA)上链驱动;二是RWA在DeFi中的渗透率将从目前的3.5%大幅提升至30%。报告认为,Aave凭借其高效业务模式、V4新架构的跨链流动性能力以及稳定币GHO的费率捕获,能将这些宏观红利转化为实际协议收入。 文章指出,Aave目前以借贷赛道约一半的TVL,占据了该赛道超过80%的协议留存收益,展现出强大的盈利能力。灰度(Grayscale)的报告也认为AAVE是现金流驱动型资产,当前价格被低估。 然而,报告也揭示了Aave面临的挑战。其点对池(Peer-to-Pool)借贷模型存在固有缺陷,导致大量资金闲置,造成每年数千万美元的“无形损失”,资本效率偏低。此外,4月发生的KelpDAO安全事件暴露了该模式在极端情况下的脆弱性。新兴协议如Morpho正以更高的资本效率从效率端发起挑战。 综上,渣打银行的“50倍狂想”描绘了传统金融对资产上链的巨大期望,但Aave要实现万亿资产规模的愿景,仍需在狂想与现实之间,解决其结构性短板,夯实发展地基。

链捕手1小时前

渣打银行再唱 50 倍狂想曲,为 AAVE“画饼”剑指 3500 美元

链捕手1小时前

潮汐投资:AI 产业链我们仍然看好,但理由变了

作者潮汐投资认为,尽管近期市场因多家AI巨头大规模融资(如SpaceX完成750亿美元IPO、Alphabet计划800亿美元融资等)而出现担忧情绪,但这并非AI见顶信号,而是产业发展进入新阶段。文章核心观点如下: **一、投资仍在加速,且结构更复杂** 五大云厂商(Alphabet、Amazon、Meta、Microsoft、Oracle)的资本支出(Capex)在2026年指引中均大幅上调,总额惊人。这轮投资已不限于芯片,更扩展到电力、变压器、液冷、电网接入等物理基础设施,这些环节扩产周期长、瓶颈明显,使得投资周期难以快速刹车。 **二、市场两大担忧的辨析** 1. **Capex增速超过收入增速**:虽然Capex增长快于营收引发对投资回报率(ROI)的担忧,但云计算业务历史上也曾经历类似阶段,最终通过规模效应实现回报。关键观测点在于未来AI工作负载的变现能力,目前尚未出现Capex指引下调或订单取消的负面信号。 2. **与2000年互联网泡沫对比**:当前AI基建的供给约束与当年光纤过剩的情况截然不同。电力、变压器等环节定制化强、审批和建设周期漫长,无法像埋设光纤那样超前预埋产能,因此难以出现供给严重过剩导致的崩盘。 **三、结论:周期尚未结束** 巨头融资需求旺盛恰恰说明AI竞赛进入深水区,面临更多硬约束。从Capex指引、供应链订单(如伊顿数据中心订单同比增长240%)等实打实的工程进度看,投资仍在持续推进。AI产业的发展剧本已经转变,从早期的概念炒作进入大规模实体基建和商业化攻坚阶段,当前远未到散场之时。

链捕手2小时前

潮汐投资:AI 产业链我们仍然看好,但理由变了

链捕手2小时前

交易

现货
合约
活动图片