🎉 亲爱的广场小伙伴们,福利不停,精彩不断!目前广场上这些热门发帖赢奖活动火热进行中,发帖越多,奖励越多,快来 GET 你的专属好礼吧!🚀
🆘 #Gate 2025年中社区盛典# |广场十强内容达人评选
决战时刻到!距离【2025年中社区盛典】广场达人评选只剩 1 天,你喜爱的达人,就差你这一票冲进 C 位!在广场发帖、点赞、评论就能攒助力值,帮 Ta 上榜的同时,你自己还能抽大奖!iPhone 16 Pro Max、金牛雕塑、潮流套装、合约体验券 等你抱走!
详情 👉 https://www.gate.com/activities/community-vote
1️⃣ #晒出我的Alpha积分# |晒出 Alpha 积分&收益
Alpha 积分党集合!带话题晒出你的 Alpha 积分图、空投中奖图,即可瓜分 $200 Alpha 代币盲盒,积分最高直接抱走 $100!分享攒分秘籍 / 兑换经验,中奖率直线上升!
详情 👉 https://www.gate.com/post/status/12763074
2️⃣ #ETH百万矿王争霸赛# |ETH 链上挖矿晒收益
矿工集结!带话题晒出你的 Gate ETH 链上挖矿收益图,瓜分 $400 晒图奖池,收益榜第一独享 $200!谁才是真 ETH 矿王?开晒见分晓!
详情 👉 https://www.gate.com/pos
Jarvis Network遭闪电贷重入攻击 663,101 MATIC被盗
Jarvis Network项目遭受闪电贷重入攻击分析
2023年1月15日,Jarvis_Network项目遭到攻击,导致663,101个MATIC被盗。这起事件引发了对项目安全性的关注。
通过对交易调用栈的分析,发现攻击者利用了重入漏洞。在重入过程中,对同一合约的相同函数调用,虽然输入参数相同,但返回值却有显著差异。这种差异主要发生在remove_liquidity函数中。
重入攻击主要针对某智能合约的remove_liquidity函数。该函数在移除流动性时会将用户添加的代币返回。由于Polygon和EVM链的同构性,在MATIC转账给合约时触发了重入逻辑。
进一步分析发现,问题出在getUnderlyingPrice函数的实现上。该函数涉及多个未开源的合约,增加了分析难度。然而,通过检查存储槽和调用栈,我们可以推断出关键变量的值和函数调用路径。
攻击的核心在于get_virtual_price函数的返回值在重入前后发生了显著变化。这个变化与self.D变量的更新时机有关。正常情况下,self.D应该在转账完成后更新,但在此次攻击中,由于重入的发生,导致价格计算出现错误。
remove_liquidity函数的执行流程包括:1) 销毁用户LP代币;2) 发送质押资金给用户;3) 更新self.D值。攻击者在第二步进行重入,利用未及时更新的self.D值进行借贷,从而获取了不当利益。
值得注意的是,虽然remove_liquidity函数使用了@nonreentrant('lock')装饰器来防止重入,但由于攻击者重入后进入了其他合约进行借贷,这个重入锁并未起到预期效果。
这次攻击暴露了智能合约中变量更新时机的重要性。为提高安全性,建议项目方采取以下措施:
通过实施这些最佳实践,可以显著提升智能合约的安全性和稳定性,为Web3生态系统提供更可靠的基础设施。