代码审查不是权限边界
来源:dev.to — 2026-09-29
📋 概述
作者读到一篇讲 JavaScript 撞墙、WebAssembly 绕过去的文章,卡在其中一堵墙上:运行你没写、也不信任的代码。我们通常的问法是「怎么阻止这个扩展乱来」,但这个问题已经让步了——它假设我们已经把值得滥用的访问权交给了扩展,剩下的防线只是它的良好行为。底下还有一个不同的问题:这个扩展究竟「有权」得到什么?为了验证这个区分能不能扛住真实运行的代码,他写了约 200 行的 Python 权限中介 host 做实验,结果发现自己最偏好的答案也是错的。
🔑 核心要点
- AI 改变了代码审查的经济学:代码现在很便宜就能生成,问题不再是我们能否产出代码,而是这段代码运行时被允许做什么。
- 这不是新发明:能力安全(capability-based security)有很长的学术积累,Dennis 与 Van Horn 在 1966 年就描述过能力。
- 最小权限原则由 Mark Miller 命名,FreeBSD 的 Capsicum、seL4 的形式化证明、Deno 的文件与网络授权都是这一谱系的产物。
- 他的结论是分工:模型可以写代码、甚至提议它认为需要的权限,但执行代码的系统必须对「允许做什么」有独立答案。
💡 金句
模型可以写代码,但执行这段代码的系统,应该对一个更重要的问题有独立的答案:这个实现被允许做什么?
👍 0
👎 0
← 返回 dev.to 首页