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

本文通过资深安全工程师 Alessandro Gario 的自述,深入探讨了他在 Trail of Bits 的工作日常,包括参与 osquery、McSema 等开源项目的技术贡献、跨时区协作的挑战,以及如何通过社区参与实现职业突破。

资深安全工程师 Alessandro Gario 的一天 - Trail of Bits 博客

Mike Myers
2019 年 8 月 9 日
engineering-practice, people

对加入 Trail of Bits 感兴趣的人经常问我们,在工程服务团队工作是什么感觉。我们认为最好的答案是通过团队中一些才华横溢的成员的简介,让他们用自己的话描述在 Trail of Bits 的经历。

今天,我们介绍的是我们工程团队的成员 Alessandro Gario,他居住在意大利。Alessandro 致力于开源项目,实现新功能、减少技术债务并整体提升其性能。

你是如何加入 Trail of Bits 的?

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

Dan Guido(Trail of Bits 的 CEO)注意到了我对 McSema 的贡献,并且当时正好急需有人处理 osquery 的问题,于是他给了我一个机会。Dan 发送了一份合同给我,让我完成一个单独的任务,我正式成为了 Trail of Bits 的承包商!我非常享受这段经历;这是我第一次被允许在项目中拥有如此多的自由——无论是在工作时间上,还是在如何指导自己的任务上。

当我完成 osquery 任务后,我的合同结束了。有了更多的时间,现在是更深入参与社区、处理用户提交的 bug 修复和功能请求的绝佳机会。最终,Trail of Bits 收到了足够多的 osquery 工作请求,他们向我发送了一份全职工作 offer,剩下的就是历史了。

你目前正在从事哪些项目?

我主要参与 osquery 项目,投入了如此多的时间,以至于我被接受为五人维护者委员会的成员!该项目,尤其是其构建工具链,目前正在翻新,以独立于其在 Facebook 的旧家园运行。

我还为一个内部项目提供 Qt SDK UI 工作,我们正在为安全审计员创建一个强大的源代码导航和交叉引用工具。除此之外,我偶尔会帮助其他项目解决与 CMake 相关的问题。

在业余时间,我继续尝试如何将 eBPF 融入 osquery,这是持续努力改善 osquery 在 Linux 上事件驱动检测能力的一部分。我最近在 QueryCon 上就这个话题发表了演讲。

你如何安排工作日?

当我不需要单独工作时,对于任何类型的协作,我都需要将我的日程与团队其他成员对齐。由于时区差异,我必须灵活安排。如果我坚持严格的上午 9 点到下午 6 点的工作班次,那真的行不通。我根据我的偏好日程组织工作日,但也考虑到位于美国的 Trail of Bits 员工和客户,他们比我这里(意大利)晚 6 到 9 小时。当纽约是下午晚些时候时,米兰是夜晚。我的大多数会议都在我的时间下午 5 点或 6 点左右,这很适合我。这从来不是问题;我真的很喜欢这个日程。

你工作中最具挑战性的方面是什么?

有时,任务的要求,至少是任务最初设想的方式,由于技术或设计的硬约束而难以实现。这很困难,因为你必须找到一个对每个人都有效的创造性折衷方案。

在极少数情况下,当我遇到困难时,我会得到团队的帮助。我们的 Slack 频道就像一个小型的 StackOverflow 网站:你可以直接提问,并立即从专家那里得到答案。这是在这里工作的伟大之处之一。

当为任何有外部维护者的开源项目做贡献时,你最终必须与公司外部的人合作来完成工作,并将工作集成到下一个版本中。有时,在你认为任务“完成”后,你还必须额外工作一点,因为你仍然需要与上游项目合作,让每个人都满意。

你在 Trail of Bits 工作中最有回报的方面是什么?

我一直对信息安全感兴趣。我会看 Twitter,看到所有这些会议、活动和正在构建伟大事物的人。我终于能够参加这些活动并见到这些人。我甚至在上个月的 QueryCon 上做了我的第一次会议演讲!

我接触到具有挑战性的问题,让我学习,尤其是当我让公司的其他人参与时。与一群有才华的经验丰富的工程师合作并从中学习的能力本身就是一种回报。

当我被赋予一项任务时,我被信任有责任将其进行到底,并独立完成。当我被这样信任时,我会尽力工作并感到最有动力。

对于想加入我们的人,有什么职业建议?

每当我寻求安全工程领域的职位时,它们似乎大多是针对外部渗透测试 Web 服务的,这对我来说并不特别有趣。我做过一点逆向工程和 CTF,但漏洞研究也不是我的领域。我喜欢将我的工程技能应用于构建软件的项目。我决定,你必须积极寻找挑战和吸引你的东西,并开辟自己的机会。

我的建议是找到一个你愿意支持的相关项目,寻找容易解决的问题,或者甚至只是审查一个开放的 Pull Request,或改进文档。一旦你了解了项目,开始贡献酷炫的变更就变得更容易了。

这正是对我个人有效的方法。我知道这很难,因为大多数人没有时间进行业余工作。而且不能保证你会被雇佣。但选择那些本质上能激励你的项目,并在业余时间尽可能多地做酷炫的事情。享受乐趣,最终你会被注意到。

工程服务团队正在招聘

我们感谢 Alessandro 从他的项目中抽出时间谈论在这里工作的感受。我们的工程服务团队分布在全球各地,每位工程师都带来一套独特的技能和贡献。我们的工作是面向公众的、开源的,并由客户驱动。与客户紧密合作,我们不断扩展和改进端点安全解决方案,如 osquery、Santa 和 gVisor。我们最近的工作包括在 PyPI(Python 包管理系统)中实现 2FA 支持。我们为安全事件警报管道项目如 StreamAlert 或 Carbon Black API 做贡献,并始终努力改进我们自己的安全分析工具如 McSema 和 Remill。我们的客户依赖我们解决他们的开源安全软件挑战。

我们目前正在招聘另一名高级安全工程师。如果你感兴趣并认为自己合格,请申请!

如果你喜欢这篇文章,请分享:
Twitter
LinkedIn
GitHub
Mastodon
Hacker News


页面内容
你是如何加入 Trail of Bits 的?
你目前正在从事哪些项目?
你如何安排工作日?
你工作中最具挑战性的方面是什么?
你在 Trail of Bits 工作中最有回报的方面是什么?
对于想加入我们的人,有什么职业建议?
工程服务团队正在招聘

近期文章
我们构建了 MCP 一直需要的安全层
利用废弃硬件中的零日漏洞
Inside EthCC[8]:成为智能合约审计员
使用 Vendetect 大规模检测代码复制
构建安全消息传递很难:对 Bitchat 安全辩论的 nuanced 看法

© 2025 Trail of Bits.
使用 Hugo 和 Mainroad 主题生成。

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