资深安全工程师Alessandro Gario的一天:开源贡献与远程协作实践

本文记录了Trail of Bits高级安全工程师Alessandro Gario的工作日常,涵盖osquery项目维护、eBPF技术探索、跨时区协作挑战,以及如何通过开源贡献获得职业机会的实用建议。

如何加入Trail of Bits?

我最初是在Twitter时间线上了解到Trail of Bits。当时我正在寻找新机会,于是开始研究这家公司及其众多开源项目。我从McSema入手——这是个将编译后的可执行文件提升为LLVM IR的项目。原本只是想试用软件,但为了与开发者交流,我加入了Empire Hacking的Slack频道,Trail of Bits工程师们在那里解答开源项目的相关问题。我对该项目的主要贡献集中在CMake代码,改善了构建体验并实现了更好的依赖管理。

Trail of Bits CEO Dan Guido注意到我对McSema的贡献,恰逢他们急需处理osquery问题的人手,于是向我发出邀约。在完成首个合同任务后,我正式成为Trail of Bits的承包商!这段经历令人兴奋,那是我第一次在项目中获得如此大的自由度——无论是工作时间还是任务方向。

当osquery任务结束时,我有更多时间与社区互动,处理用户提交的bug修复和功能请求。最终Trail of Bits收到足够多的osquery需求,向我发出了全职offer,剩下的就是历史了。

当前项目进展

目前我主要参与osquery项目,投入时间之多使我被接纳为五人维护委员会成员!该项目(特别是其构建工具链)正在进行改造,以实现从Facebook原有架构的独立运行。

此外,我为内部项目提供Qt SDK界面开发,正在构建一款面向安全审计员的强大源代码导航与交叉引用工具。偶尔也会协助其他项目解决CMake相关问题。

业余时间,我持续探索将eBPF整合到osquery的实验,这是提升osquery在Linux上事件驱动检测能力的重要部分。最近我在QueryCon会议上就此话题进行了演讲。

跨时区工作安排

由于时差因素(意大利与美国相差6-9小时),我必须灵活调整日程。我的工作会议多安排在米兰时间下午5-6点(纽约上午时段),这种安排从未造成困扰——我反而非常喜欢这样的节奏。当需要团队协作时,我会主动对齐其他成员的时区。

最大挑战

有时任务需求因技术或设计限制难以实现,这时就需要寻找富有创意的折中方案。在罕见的情况下遇到瓶颈时,团队Slack频道就像迷你版StackOverflow——提问后能立即获得专家解答。

参与外部维护的开源项目时,常需与公司外部人员协作才能将工作合并到下一版本。即使你认为任务"已完成",仍可能要为上游整合付出额外努力。

工作成就感

我终于能参加那些曾只能在Twitter上看到的安全会议,上个月还在QueryCon完成了首次公开演讲!面对挑战性问题时,尤其是能调动公司内部资源共同解决时,学习曲线变得尤为陡峭。与这群经验丰富的工程师共事本身就是回报。

当被委派任务时,公司给予我充分的信任和自主权。在这种环境下,我能发挥最佳状态并保持高度积极性。

职业建议

过去我看到的安全工程师职位多是Web服务渗透测试,这并不吸引我。虽然接触过逆向工程和CTF,但漏洞研究也不是我的方向。我更喜欢通过工程项目构建软件。我的经验是:必须主动寻找能激发你兴趣的挑战,并创造自己的机会。

工程服务团队招聘

我们正在招聘高级安全工程师!我们的工作完全公开于开源领域,近期包括为PyPI实现2FA支持、改进StreamAlert等安全事件警报管道项目,以及McSema、Remill等安全分析工具。客户依赖我们解决开源安全软件的各类挑战。

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