The恶意 Solidity 竞赛 在 2024 年强势回归!
继 2020 年 和 2022 年 的两季成功比赛,以及 2017 年 的首届比赛,我们再次带来今年的激动人心的挑战。
在我们深入探讨 2024 年的主题之前,让我们快速回顾一下恶意 Solidity 竞赛是什么。
恶意 Solidity 竞赛的目的是编写看似无害的代码,但实际上包含恶意机制或隐藏的后门。通过这次竞赛,我们旨在
- 提高对智能合约安全的认识
- 发现语言设计缺陷
- 对最近引入的语言特性和限制进行实战测试
- 突出智能合约开发中的反模式
- 建立安全智能合约开发的最佳实践
话不多说,让我们深入了解今年的比赛信息、编码简报、截止日期、评委、奖品等等!
主题:瞬态存储 💾
根据今年的主题,参赛者需要完成一项挑战:开发利用瞬态存储的智能合约 (EIP-1153)。
瞬态存储与热存储访问一样便宜,读写价格均为 100 gas。它非常适合使用案例,例如廉价的可重入锁。
USC 2024 的目标是以看起来合法的形式展示瞬态存储用例,但在实现中包含隐藏的漏洞或操纵机制,而这些漏洞或操纵机制是由瞬态存储的使用所促成的。
注意: 编译器目前尚不允许在高级 Solidity 代码中使用 transient 作为数据位置。目前,存储在此位置的数据只能使用TSTORE 和 TLOAD 操作码在内联汇编中访问。
评委 ⚖️
与往年一样,评委将收到匿名提交的参赛作品。今年,提交作品将由以下评委进行评估
- aleph_v - 独立安全研究员
- Anton Permenev - ChainSecurity 高级工程师
- Goncalo Magalhaes - Immunefi 安全主管
- Gonçalo Sá - ConsenSys Diligence & Creed 联合创始人
- Hadrien Croubois - OpenZeppelin 智能合约工程师
- Harikrishnan Mulackal - Spearbit 联合创始人
- Patrick Collins - Cyfrin Audits 联合创始人
- samczsun - Paradigm 研究合伙人
评审标准 ☑️
我们的评委将为在以下比赛方面特别突出的提交作品评分
- 简洁性 & 简洁性: 由于在复杂且编写不佳的代码中隐藏漏洞更容易,因此简洁明了的提交作品的得分将高于冗长复杂的提交作品。
- 合理性: 包含后门但没有明确理由的代码会立即显得可疑,无论缺陷的编写方式多么巧妙。请考虑使用有创意但现实的场景。
- 原创性: 我们重视独特性和原创性。真正原创的想法比利用已知漏洞的提交作品获得更多积分。
奖品 🏆
为了表彰参赛者为提交作品所付出的努力和创造力,我们为获奖者和参与者准备了一些奖品
- 一等奖将获得参加 Devcon SEA 2024 的门票。
- 前三名的提交作品将获得参加下一届 Solidity 峰会(日期和地点待定)的门票。
- 此外,三位获奖者将被添加到名人堂。
- 所有合格的提交作品将获得定制的 USC 2024 T 恤。
提交作品 📨
在提交代码之前,请确保
- 您的提交作品全部受开源许可证保护。
- 在提交作品中,您使用 Solidity v0.8.24 或更高版本。
- 您已经仔细阅读了 编码简报.
请在截止日期 [2024-08-31,UTC 时间晚上 11:59] 之前将您的提交作品发送至 sol_underhanded@ethereum.org。参赛作品应包含一个 ZIP 文件,其中包含一个描述您的提交作品及其工作原理的 README 文件、一个单独的破坏者文件以及一个或多个 Solidity 文件。
每人只能提交一份作品。如果您想以团队形式提交作品,请指定一人代表您的团队提交作品。由于参赛作品将被转发给评委并匿名评估,请勿在 ZIP 文件中包含识别信息。
比赛时间线 ⏳
- 提交作品开放:2024-07-31
- 提交作品截止:2024-08-31
获奖者将在 Devcon 东南亚 2024 之前公布。
名人堂 ⭐
我们维护一个 名人堂,以表彰我们历届恶意 Solidity 竞赛的所有获奖者。请查看来自 2022 年 和 2020 年 的提交作品(尤其是前三名),以获得灵感和提交作品的最佳实践。
支持者 💖
最后,我们要感谢所有评委对组织本次竞赛的支持!
如果您有任何疑问或遇到问题,请随时通过 sol_underhanded@ethereum.org 联系我们,或者加入 Solidity Matrix / Gitter 频道。