区块链安全实习:从零到全职的技术成长之旅

本文分享了作者在Trail of Bits实习期间参与Algorand智能合约静态分析工具Tealer开发的经历,包括技术准备、漏洞检测器开发、代码解析修复等实战内容,为区块链安全爱好者提供实用参考。

在Trail of Bits担任区块链实习生的经历

我是谁?

我是印度RGUKT Nuzvid大学计算机科学专业的本科应届生。在2021年冬季加入Trail of Bits实习之前,我的行业经验仅限于完成一个计算机科学项目(Monkey Interpreter,用Python重写的Golang实现)和参加夺旗(CTF)比赛。我从大一开始以S3v3ru5为用户名参加CTF比赛,最初专注于密码学相关挑战,2021年8月开始接触区块链挑战,在ALLES CTF中完成了一个简单的Solana区块链挑战,并在Ethernaut CTF中完成了所有基于web3/Solidity的以太坊挑战。

申请实习

2021年底,我开始寻找网络安全实习机会,重点关注密码学和区块链方向。虽然缺乏项目经验,但我发现Trail of Bits的冬季实习计划(winternship)允许学生在导师指导下参与实际项目。我申请了三个项目:

  • Manticore:用于分析以太坊智能合约和Linux ELF二进制文件的符号执行工具
  • Solana区块链研究项目
  • Tealer:用于Algorand区块链的Teal语言静态分析器(最终选择)

面试过程包含30分钟的技术电话筛查和5分钟的入职沟通,全程氛围轻松,更像技术交流而非严格面试。

实习准备

由于缺乏Algorand区块链和静态分析经验,我在实习开始前(2021年12月1日)投入10天时间学习:

  • 静态分析原理
  • Algorand区块链技术栈
  • Git和GitHub协作流程 在实习开始前,我通过对比开发者文档发现了Tealer的Teal代码解析问题,验证了准备工作的有效性。

实习期间的技术工作

在Tealer项目中我完成了以下技术贡献:

  1. 修复Teal代码解析问题:根据官方文档修正语法解析逻辑
  2. 改进控制流图(CFG)构建:识别并修复CFG构建过程中的错误
  3. 增强安全检测能力
    • 添加3个新的漏洞检测器
    • 实现3个新的结果输出器(printer)
  4. 完善代码文档:为大部分代码添加注释,提升可读性

所有代码都经过开源审查流程,获得积极反馈和合并。通过参与工具设计的主动讨论,最终凭借实习表现获得了全职区块链安全分析师的offer。

技术建议与收获

  1. 无需满足所有要求:即使不完全符合岗位要求也应勇敢申请
  2. 学习能力重于现有知识:实习的核心是学习过程,雇主更看重学习能力
  3. 积极寻求帮助:充分利用导师资源,不必独自解决所有问题
  4. 语言不是障碍:非英语母语者只需确保有效沟通,不必追求完美

为什么选择Trail of Bits实习?

  • 自由的技术探索:可以自主选择改进工具的方法
  • 灵活的工作安排:无固定工作时间限制,可按自身节奏推进
  • 实质性的技术贡献:代码直接合并到主项目,获得CEO亲自认可

致谢

感谢Felipe Manzano和Josselin Feist导师给予的项目自主权,以及Trail of Bits提供的全职工作机会。这段经历证明了只要把握机会,任何人都能获得非凡的技术成长体验。

欢迎关注Trail of Bits的未来实习机会,创造属于你的技术故事。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计