Vitest 5 开发服务器会泄露 .env:升级到 5.0.2 并显式写 deny
Vitest 5 的开发服务器在几种模式下覆盖了 Vite 默认的敏感文件保护,局域网内无需认证就能读到 .env、.npmrc、私有 SSL 证书和 .git/config。
要点
- 受影响的用法:vitest --ui、@vitest/browser,以及开启 api: true 或 --api
- 原因:核心代码把 server.fs.deny 直接赋值为 ['.vitest-secret-token'],Vite 默认的 ['.env', '.env.*', '**/.git/**'] 被静默丢弃(Vite 不会深合并被替换的数组)
- 修复版本:Vitest 5.0.2 及以上,改为数组展开拼接
- 额外加固:在 vite.config.ts 里显式写明 deny,并把开发服务器绑定在 127.0.0.1
- 如果在共享网络或 CI 预览里跑过 vitest --ui,建议按已泄露处理,更换相关密钥
阅读原文这里是中文要点整理,数字与细节以原文为准。
评论
还没有评论,来写第一条。