原文作者: 0xNorman
在这篇博客中,我们将探讨如何从零开始成为⼀名专业的智能合约审计师。我们的⽬标是为有兴趣从事安全性领域的开发者以及普通公众提供⼀个易于理解且专业的指南。
区块链技术具有去中⼼化、不可篡改和透明等特点,使其在⾦融、物联⽹、供应链等领域具有⼴泛的应⽤前景。然⽽,随着区块链技术的⼴泛应⽤,其安全问题也⽇益凸显。智能合约作为区块链的核⼼组件之⼀,其安全性对整个系统的稳定运⾏⾄关重要。The DAO攻击就是⼀个典型的例⼦,由于智能合约存在漏洞,导致价值 1.5 亿美元的以太币被盗。因此,成为⼀名智能合约审计师不仅可以为区块链⾏业做出贡献,还具有很⾼的经济回报。
如果你还不会编程,那么最好直接从 Solidity 开始学。Crypto Zombies 是⼀个很好的教程,可以帮助你⼊门。
参加 Secureum BootCamp 学习,完成测验并参加每⽉的竞赛,以充分测试你的知识。同时,你还可以通过参加夺旗⽐赛(如 Damn Vulnerable DeFi,Ethernaut 和 Capture The Ether)在实践中学习 Solidity 和以太坊安全。
在测试⽹络上部署和测试智能合约。可以使⽤Remix IDE 在线编写、部署和测试 Solidity代码,也可以参考 Solidity by Example⽹站上的实例来学习(当然,你可以同时进⾏)。此外,还可以使⽤流⾏的开发框架(如 Hardhat 和 Foundry)进⾏实践。这些⼯具对于你在审计过程中进⾏PoC(Proof of Concept)⾮常重要。PoC(Proof of Concept)是⼀种验证漏洞存在和影响的⽅法,它通常涉及编写针对⽬标智能合约的测试⽤例,以模拟潜在攻击者的⾏为。通过这种⽅式,你可以确保你的发现是确凿的,并且可以量化潜在的影响。为了创建有效的 PoC,你需要根据你发现的漏洞类型编写适当的测试⽤例。这可能包括与⽬标合约进⾏交互以触发异常⾏为、检查预期的状态变化、或者尝试复现已知的攻击。⼀旦你的测试⽤例成功地证明了漏洞的存在,你可以将这些信息与你的其他审计结果⼀起提交,以帮助客户理解和解决潜在的安全问题。
熟悉流⾏的 ERC 标准,如 ERC20(代表通⽤的可交易代币,如 USDT、DAI 等)、721(代表⾮同质化代币,即 NFT,如 CryptoKitties 等)、777(⼀种改进的 ERC20 标准,⽀持接收者的合约进⾏操作)、1155(代表多重代币,允许在单个合约中管理多种代币)和 4626(关于以太坊预授权⽀付的提案)。同时,了解去中⼼化⾦融协议,如Uniswap(⼀个去中⼼化交易平台,允许⽤户⽆需信任第三⽅进⾏代币交换)和Compound(⼀个去中⼼化借贷平台,允许⽤户借贷加密货币)。这些合约和协议在现实项⽬中⼴泛应⽤,因此了解它们的原理和实现⽅式对于审计师⾄关重要。
了解通证经济学对智能合约审计师⾮常重要,因为它可以帮助你理解实际业务背后的经济动⼒和逻辑。通过学习如何设计和分析通证经济模型,你将能够更好地理解智能合约设计初衷和潜在问题。为了学习通证经济学,你可以阅读⼀些关于此主题的博客、⽹站和研究报告。例如,Token Economy 博客提供了关于通证经济的深⼊⽂章,覆盖了通证设计、价值捕获、分配和激励机制等⽅⾯。此外,你还可以关注 CoinGecko 和 CoinMarketCap 等⽹站,以了解各种加密货币的市场⾏为和基本⾯分析。
在 Sherlock 和 Code4rena 上获取实际经验,并通过认证以获得私⼈审计的权限。你还可以申请加⼊yAcademy,向顶级审计师学习。在实际项⽬中寻找安全问题,参与 Immunefi 的漏洞赏⾦项⽬或 Code4rena 的审计⽐赛。
阅读 Code4rena 和顶级审计公司(如 OpenZeppelin,Trail of Bits,Consensys 和 慢雾科技) 的审计报告,建⽴你的漏洞数据集。阅读最近的漏洞事故分析(⽐如 Euler Finace 被⿊),了解最新的安全事件和攻击技术。
通过在 C4 排⾏榜上获得名次、进⾏私⼈审计与客户合作,为安全社区做出贡献,从⽽建⽴你的品牌。同时,积极参与社区讨论和活动,分享你的知识和经验,提⾼个⼈声誉。
附加内容:学习 Huff(⼀种 EVM 汇编语⾔),熟悉 EVM,并为开源审计⼯具做出贡献深⼊了解底层技术可以帮助你更全⾯地审计智能合约。学习 Huff(⼀种 EVM 汇编语⾔),可以让你更深⼊地了解 EVM(以太坊虚拟机)的⼯作原理。此外,为开源审计⼯具(如 Slither 和 Echidna)做出贡献,可以提⾼你在安全领域的技术能⼒和影响⼒,同时也能帮助你与⾏业内的专家建⽴联系,拓展⾃⼰的⽹络。形式验证是⼀种强有⼒的⼯具,可以帮助审计师确保智能合约的安全性和正确性。它使⽤数学⽅法来验证合约⾏为是否符合预期规范。Certora 是⼀个提供形式验证服务的平台,它可以帮助审计师⾃动地找出潜在的安全漏洞和功能错误。通过将形式验证纳⼊审计过程,你可以提⾼审计质量,减少⼈为错误,并建⽴客户对审计结果的信任。
如何跟上安全领域的最新动态?
实时关注 Twitter 上的通知,或者如果你每周只想阅读⼀篇汇总的⽂章,可以订阅由 iphelix 编写的 BlockThreat Newsletter。
审计师的薪酬是多少?
虽然我不是这⽅⾯的专家,但我认为审计师的⼩时薪资⼤致如下:
初级:100 美元/⼩时
经验丰富:100-250 美元/⼩时
顶级审计师:250-1000 美元/⼩时
我将薪酬划分为两类:
固定薪酬:你按固定(⼩时)⼯资获得报酬
技能为基础的薪酬:你发现的漏洞越多或者严重程度越⾼,获得的报酬越⼤。
如果你是初级审计师,我建议加⼊审计公司;如果你在技能曲线的另⼀端,寻求后⼀种薪酬模式的机会会更有利可图。需要注意的是,顶级漏洞赏⾦猎⼈通过发现关键漏洞可以赚取更⾼的奖⾦,数额可达数百万美元。遵循本博客中的路线图,你将逐步成为⼀名成功的智能合约审计师。在这个过程中,你将不仅学会识别和防范安全漏洞,还能够为区块链⾏业的安全和可持续发展做出贡献。记住,不要陷⼊⾃我 DOS 和⽆限的教程循环⾥,只有去做,你才真的能学会。祝你在智能合约审计师的道路上⼀帆⻛顺!
本文来自投稿,不代表律动 BlockBeats 观点
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia