文章借汽车安全演进类比软件安全,指出在 AI 时代,单纯依赖开发者更谨慎、增加审批流程并不能根治泄露问题。真正的风险在于静态密钥、长期Token和人工审核无法跟上代码生成与供应链攻击的速度。作者主张把安全设计前移,改用短生命周期、按需生成、自动轮换的动态凭证,并尽量采用基于身份的无密钥认证,让“泄露”不再直接等于“失陷”。
发布于 2026 年 4 月 20 日,星期一

当汽车大约在 1903 年首次出现在美国街头时,唯一的安全配置是喇叭。仅此而已。你可以买到一台重达两吨、时速可达 45 英里的机器,而制造商给出的安全方案是:按喇叭。
几乎立刻就开始有人死亡。到 1913 年,死亡率达到每 10,000 辆车 33 人,大约是今天的 20 倍。人们的应对方式也正如你所预料的那样:限速、驾驶执照、交通信号灯、驾驶教育。在五十年的时间里,所有人都试图通过让司机更加谨慎来解决这个问题。但几乎没有效果。随着上路车辆越来越多,死亡人数持续攀升。
真正解决问题的是一件此前没人尝试过的事:改变汽车本身。早期的汽车被设计得非常坚硬,用来保护车辆。后来,在 20 世纪 50 年代,工程师开始把汽车设计成在碰撞中会溃缩,以吸收能量,并以一种能够保护车内人员的方式失效。溃缩区。三点式安全带。再后来是安全气囊。在接下来的七十年里,单车死亡率下降了 95%。
这个洞见很简单,但人们花了几十年才看清。你无法通过变得更谨慎来解决这个问题。即使你努力这样做,汽车需求的增长速度也实在太快了。你必须改变事情出错时会发生什么。
每当我读到一起软件安全事件时,我都会想到这件事。
—
在过去一个月里,这样的事件发生了很多起。Trivy。LiteLLM。Axios 在三个小时里悄无声息地向任何运行 npm install 的人分发远程访问木马。而就在这周,Vercel——其访问密钥、源代码和 GitHub Token 被挂在论坛上出售。
乍一看,这些像是彼此无关的失败。不同的公司,不同的技术栈,不同的错误。其实不是。关键不在于攻击者是如何入侵的,而在于他们进入之后能够做什么。
Secrets。Token。密钥。随时可以被复制。随时可以被发送到其他地方。然后你就只能试图回答那些你无法可靠回答的问题:哪些 Secrets 被拿走了?它们能解锁什么?它们是否仍在被使用?于是你轮换一切。缓慢地。手动地。希望自己没有漏掉任何一个。希望不会有任何东西因此损坏。
—
这些安全事件只会越来越频繁。2025 年,GitHub 上有 10 亿次 commit。现在,每周是 2.75 亿次,如果增长保持线性,今年将达到 140 亿次(其实不会)。现在每个人都在写代码,但 reviewer 的数量并没有改变。没有人会像过去阅读自己写的 100 行代码那样,去阅读 10,000 行 AI 生成的代码。他们只是快速浏览、批准,然后发布。
这一切本来都还好,直到 AI 提交了一个 .env 文件,或者在 CI 配置里硬编码了一个 Token,或者拉取了一个昨天刚被劫持的包。到了那时,就完全不好了。
我们以前也经历过这种事。一项新技术到来。需求爆炸式增长。旧的安全实践在旧规模下运转良好,但到了新规模下就不再奏效。
—
当软件出了问题时,人们的本能反应是增加流程。发生一次安全事件,回应就是增加一个新的审查步骤。再来一次安全事件,就再加一步。最终,你会得到一个 15 步的审批流程,以及一群花在填表上的时间比写代码还多的工程师。
这就是事后复盘驱动开发。你写代码。它坏掉了。你做一次事后复盘。你加一个步骤。你写更多代码,这次更快。它又以一种新的方式坏掉了。再加一个步骤。这些步骤不断累积。安全事件持续发生。没有人问为什么。
原因和汽车的问题是一样的。这些步骤是在试图让开发者更加谨慎。但谨慎无法扩展到 AI 生成的代码,就像它无法扩展到 1,700 万辆汽车一样。
—
静态 Secret 是一种不会变化的密码。你创建它一次,它就一直待在那里,等待被使用。或者被窃取。它并不在乎是哪一种。
围绕静态 Secret 的每一个流程,本质上都在赌没有人会泄露其中任何一个。这场赌局你会输。AI 让这笔账变得更糟,因为 AI 写代码的速度比任何人审查它的速度都快,而且它有时会写出带有 Secrets 的代码。
当 Axios 被劫持时,攻击者扫描了每一台受影响的机器以寻找凭证。他们找到了 AWS 密钥、数据库密码、API Token,以及那些已经在开发者机器上放了几个月、甚至几年的长期有效凭证。这就是为什么一次严重的安全事件会演变成灾难性的事故。
—
答案不是更多流程,而是构建能够安全失效的 Secrets。
这就是应用在凭证上的“溃缩区”洞见。不要试图阻止每一次泄露,而要假设泄露一定会发生,并据此进行设计,让泄露不再重要。按需生成 Secrets。自动轮换它们。扫描你的 repo,这样泄露的 Secrets 能在发布前被发现。并且彻底远离长期有效的 Token。
更进一步,在可以的地方消除 Secrets。使用基于身份、无 Token 的认证,这样从一开始就没有任何静态内容可以被复制。
这些都不是什么新东西。真正新的地方在于,我们已经承受不起不这样做的代价了。
—
当一个行业通过不断叠加流程来解决问题时,问题通常出在基础层。流程,是当你不能或者不愿修复底层问题时才会诉诸的手段。静态 Secrets 是一种我们知道该如何改变的基础。只是我们一直没有去改。
当代码变动缓慢、所有内容都由人类审查时,它们尚且可以容忍,但这在 AI 时代行不通。到了这个规模,泄露不再是边缘情况。它们才是默认情况。
汽车行业花了五十年时间试图让司机变得更加谨慎,才终于有人想到重新设计汽车。我们试图让开发者更加谨慎,也差不多持续了这么久。AI 已经清楚地表明,我们没有时间了。
修复方法是改变系统,让泄露不再重要。这意味着短时效、作用域受限、按需获取的访问。这意味着用短暂存在的 Secrets 取代静态凭证。这意味着迈向一个复制 Secret 也无法给你带来权限的世界,因为 Secrets 从一开始就不存在。
这就是我们在 Infisical 正在构建的方向。

CEO,Infisical
- 原文链接: infisical.com/blog/postm...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!