摘要: 本文总结了作者在代码审计和软件安全领域的观察和经验。主要内容包括:1)优秀的产品不一定需要庞大的工程师团队;2)简单往往比复杂更有效;3)安全漏洞往往容易被发现;4)框架和基础设施的安全默认设置可以显著提高安全性;5)单一代码库更容易审计;6)依赖库漏洞难以修复;7)不要反序列化不受信任的数据;8)业务逻辑错误可能导致严重后果;9)模糊测试非常有效;10)收购会复杂化安全问题;11)每个团队中通常至少有一位隐藏的安全爱好者;12)快速修复漏洞与工程运营效率相关;13)JWT令牌和webhooks配置容易出现问题;14)MD5仍被广泛使用,但主要是误报。
讨论: 该讨论内容主要围绕软件工程、安全、创业和技术选择等方面展开。其中,关于monorepos的讨论指出,虽然monorepos可以提高依赖项版本管理的效率,但它们也可能导致可发现性差和配置复杂。在代码审计方面,讨论了自定义模糊测试的有效性,并询问了适合测试Web和语言特定API的模糊测试工具。关于JWT安全问题,有用户分享了在CRM SaaS中发现的漏洞,并指出JWT的1小时过期时间可能导致用户登录问题。此外,还有关于初创公司技术选择、团队管理、开发速度和安全性等方面的讨论。
原文标题:Learnings from 5 years of tech startup code audits
原文链接:https://kenkantzer.com/learnings-from-5-years-of-tech-startup-code-audits/
讨论链接:https://news.ycombinator.com/item?id=31506319