适用于 Cursor 的 zn-gate
为 Cursor 安装 zn 的钩子:阻止读取含值的 .env 文件和凭据文件、拦截粘贴到提示词中的密钥,并拦截携带密钥的 MCP 调用。
你需要 Node.js 18 或更高版本。在终端中逐行粘贴以下命令,每行后按回车:
npm install -g zn-gate
zn hooks install cursor
然后重启 Cursor。
你将获得的保护
- 含值的
.env文件和凭据文件,无论是通过文件读取还是 shell 读取,都会被阻止。 - 粘贴到提示词中的密钥会被拦截。
- 携带密钥值的 MCP 调用会被阻止。
限制
- shell 输出和文件内容不会被脱敏;只有 MCP 输出会被脱敏。
- 写入保护是尽力而为的。
- 如果 zn 钩子崩溃,读取和提示词会被阻止;其他事件则不经检查直接运行。
- 未在 Windows 上测试。
如需同时检查你在 Cursor 中使用的 MCP 服务器,请参见 Cursor。
把 .env 中的值存入保险库
智能体无法读取含真实值的 .env 文件。请把这些值移入 zn-gate 的加密保险库,文件中会保留 __ZN_STRIPE_KEY__ 等标记:
zn unlock # 首次运行时创建保险库
zn env shadow .env
完成后,你自己的应用读取 .env 时也只会得到标记:在你允许之后,用 zn-gate 的 run 命令启动它。env shadow 会告诉你如何撤销。更多信息:保险库。
检查是否正常工作
在新的终端中运行 zn-gate check。应显示 Cursor 的 OK。输出含义。