Paternity Leave: Month 2

Michael Lynch

陪产假:第二个月

原文由 Michael Lynch 发布,订阅该博客

一句话总结

不工作比我想象的要难。

亮点

  • 不工作这件事,比我预想的要难得多。
  • 睡眠状况好转了一些。
  • 我用 Nix 搭建了一套简洁、可复用的模糊测试工作流。

目标完成情况

每个月初,我都会定下当月想完成的事。以下是完成情况:

享受家庭时光

  • 结果:花了很多时间陪伴妻子和刚出生的儿子,也经常和亲友相聚。
  • 评分:A

暂时不工作也没关系

我从不觉得自己是那种需要一直工作的人,但真正要休假时,却发现这很难做到。

回看过去三个月在工作上几乎没做出什么成果时,我就会感到焦虑:“要是这就是以后的常态怎么办?要是以后每个月只能挤出几个小时来工作,那还怎么谋生?”

我知道这些担心大多是不理智的。很多人都养孩子——他们照样按正常时间工作,也都过得挺好。更何况,我身边还有很多家人,都很乐意帮忙带孩子。

再看看我的时间都花在了哪里,就更觉得为没时间工作而焦虑很可笑:长时间地和家人朋友相聚,一家人一起做些开心的事。

如果情况是“天哪!光是喂奶、换尿布、补觉就已经占满所有时间了!”那倒也罢了。可实际上,我的反应却是:“天哪!昨天吃了三个小时的早午餐,又和朋友聚了七个小时,根本没时间写博客!”

另一方面,我招待客人、拜访他人的时间也比平时多得多,所以部分的焦虑其实只是内向的人在额外社交之后的疲惫感。

所以,我只能不断提醒自己,暂时不工作也没关系,等儿子再大一些,我会有更多时间,而且目前我对时间的安排也基本还在自己掌控之中。

调整我们的新生儿睡眠策略

作为新手父母谈论睡眠,感觉有点老生常谈,因为好像所有新手父母都对睡眠有着近乎执念的关注。但好的睡眠确实对我们的日常生活影响巨大,所以大家才会一直聊这个话题吧。

一开始,我妻子负责所有喂奶,我负责所有换尿布。我们很快就发现,这意味着到了晚上,我们俩每隔 60 到 90 分钟就得起床一次,谁都睡不好。

几周后,我们改成了轮班制,一个人同时负责喂奶和换尿布,另一个人则睡觉。我负责第一班,从晚上 9 点左右到凌晨 2 点,妻子则在我儿子凌晨 2 点后第一次醒来时接班。这带来了很大的改善,它保证了我们在不当班时能有 4 到 5 小时不间断的睡眠,当班时也能零散地睡上几个小时。

我们还发现,认真做好睡眠卫生后,儿子的睡眠也更好了。我们有时喜欢晚饭后看一小时电视来放松,但我们注意到,不看电视的晚上,大家都睡得更好,尤其是儿子。以前我习惯在客厅里一边陪睡着的儿子,一边看一两个小时的书,但我们了解到开灯可能会影响婴儿睡眠,所以我就不这么做了,尽管我很怀念那段和他一起安静阅读的时光。

总体来说,我们的睡眠策略效果不错,大多数日子里我都感觉休息得很好。随着儿子睡眠状况的变化,以及我们发现新的方法,我们会继续调整。

Nix 是个出人意料的好用的模糊测试工具

大约十年前,我做安全顾问时,曾用模糊测试在 VLC 中发现了一个严重漏洞,VLC 是一款开源视频播放器

过去十年里,模糊测试相关的工具已经有了长足的进步,所以我一直很想试试最新的技术。

我找到了 Antonio Morales 在 2021 年发布的模糊测试教程系列。它使用的是 AFL++,我感觉它可能已经不是最顶尖的模糊测试工具了,但我还是跟着学了起来。第一篇教程演示了如何对 xpdf 这款开源 PDF 处理工具进行模糊测试。我调整了步骤,以最新版本的 xpdf 为目标,结果发现了一个新的越界内存读取漏洞,这让我很兴奋。

后来发现,早在 2024 年 9 月就有人发现了同一个漏洞,但那份报告被驳回了,因为更早之前就有人通过私人邮件向维护者报告过。我怀疑他们也是跟着同一篇教程找到这个漏洞的。在我发现这个系列几周后,它登上了 Hacker News 首页,看来大家不知怎么又偶然翻出了这套三年前的教程。

在所有模糊测试教程中,让我印象深刻的一点是,光是搭建环境就非常麻烦。Morales 让读者在特定版本的 Ubuntu 上从源码编译 AFL++,但由于他提到的那些软件包都已更新,这些说明现在已经过时了。

与其费劲去找 Morales 提到的那些软件包的特定版本,我看到了使用 Nix 的机会。它可以让我在源文件中锁定工具版本,不用担心它们在未来悄悄发生变化。

我用 Nix flake 搭建了整个模糊测试工作流,现在只需输入 nix run,Nix 就会自动下载初始语料库,编译目标程序并开始模糊测试。我计划在本月晚些时候发布一篇博文,详细解释它的工作原理。

收尾

完成了什么?

  • 享受了家庭时光。
  • 担心自己是不是享受了太多家庭时光。

经验教训

  • 对于休假太久的担心大多是不理智的。
  • Nix 很适合用来搭建模糊测试工作流。

下月目标

  • 享受家庭时光。
  • 发布用 Nix 做模糊测试的教程。

求助

  • AFL++ 现在对应的新工具是什么?是 honggfuzz 吗?
    • 如果你从事信息安全工作,请告诉我现在最酷、最新的模糊测试工具是什么。

本文章由 muse-spark-1.2-contributor 进行翻译

评论