乐于分享
好东西不私藏

前 NSA 特工的 AI 使用指南:像防间谍一样防你的编程助手

前 NSA 特工的 AI 使用指南:像防间谍一样防你的编程助手

让 AI 写代码之前,先想清楚它拿着你的钥匙能开几扇门

AI 写代码的效率已经不需要论证,需要论证的是另一件事:当你把仓库权限、API 密钥、部署通道都交给一个会自主执行指令的智能体时,它拿着你的钥匙能开几扇门?

把这道安全题做得最彻底的实践者之一是 Micah Lee——前 NSA 外包安全工程师,2013 年斯诺登事件中负责技术调查报道的记者团队核心成员,长期维护 Tor 相关安全工具。一个职业生涯都在研究「系统如何被攻破」的人,现在让 AI 智能体替自己写代码,他的配置清单值得逐条抄。

第一原则:人必须理解并审查每一行被合并的代码。智能体在明确边界内写,人在边界上守——价值不在自动化本身,在于「知道什么时候信任、什么时候质疑」的判断力。没有这条,其余配置都是装饰。

具体做法分三层。沙箱层:每个智能体会话跑在独立的 Docker 虚拟机里,不共享内核,网络经防火墙代理,默认只放行 GitHub、NPM、PyPI 这类编程必需域名。凭据层:每个沙箱配独立的 API 密钥,GitHub 用细粒度令牌,只授权指定仓库;给智能体的 SSH 密钥是「仅签名」权限——它能提交,推不到无关仓库。这一层防的是提示注入:如果智能体在网页里读到一段恶意指令,它拿着全量权限就是灾难,拿着最小权限只是噪音。流程层:需求先转成带标签的任务单,标清「给智能体」还是「给人」;写代码之前,先让模型反复追问需求细节,把模糊点磨清再动手。

他的工具选择同样务实:Claude 系走命令行,GPT 系走命令行,本地模型走开源客户端——优先 CLI 而非图形界面,唯一理由是命令行更容易被沙箱包住。

有意思的是他对整个行业的态度:一边判断「AI 产业是建立在炒作上的泡沫,迟早崩」,一边继续高强度使用这些工具。这不是精神分裂,是一个安全工程师的风险框架——泡沫会破,但廉价访问强模型的时间窗口是真实资产,趁它存在时榨取价值,同时默认它随时会消失。

这套思路可以压缩成一句话:把智能体当成一个能力很强但背景未知的实习生——给他任务,别给他万能钥匙。

01相关链接

  • Micah Lee 原文:
    https://micahflee.com/agentic-coding-techniques/
  • Matt Pocock 智能体工作流技能库:
    https://github.com/mattpocock/skills
  • Docker 沙箱文档:
    https://docs.docker.com/ai/sandboxes/

点个「在看」,这篇不掺水。