审计 Cursor 插件权限的核心是启用“工作区信任”并检查本地存储文件权限,防止扩展读取明文密钥或自动执行恶意任务。适用于所有使用 Cursor 编辑器的开发者,特别是安装过第三方插件或打开过未知代码仓库的场景。
先说结论:当前 Cursor 默认配置存在高危风险,需手动加固存储访问与任务执行权限。
- 先判断插件是否需要访问敏感存储路径
- 优先启用“工作区信任”并关闭自动任务
- 再验证本地密钥文件是否仍可被未授权读取
命令速用版
通过设置界面或配置文件快速调整关键安全选项,无需复杂命令行工具。
关键配置项:
- 启用工作区信任:
security.workspace.trust.enabled设为true - 禁止自动任务:
task.allowAutomaticTasks设为off - 检查存储路径:
~/Library/Application Support/Cursor/User/globalStorage/state.vscdb(macOS)
为什么会这样
Cursor 默认将敏感凭证明文存储在本地数据库且未限制扩展访问,同时工作区信任功能默认关闭。安全公司 LayerX 在审计中发现,扩展能在无提示情况下读取存储 API 密钥的 SQLite 文件。此外,默认禁用“工作区信任”使得恶意代码仓库可通过tasks.json在打开文件夹时自动执行命令,绕过用户同意提示。
分步处理
按照以下顺序检查环境配置与文件权限,每一步完成后需确认状态。
第一步:审查已安装扩展
在扩展面板查看已安装插件,移除不再使用或来源不明的扩展。重点关注请求了文件系统访问权限的插件,确认其功能是否必要。
第二步:启用工作区信任
进入设置搜索“Workspace Trust”,启用该功能并设置为启动时提示。这将阻止不受信任的代码仓库自动执行任务。
第三步:检查本地存储文件
找到本地存储数据库文件(如 macOS 下的state.vscdb),检查文件权限设置。确保只有当前用户可读写,避免其他进程轻易访问。
第四步:监控网络行为
使用网络监控工具观察 Cursor 进程的外连请求。若发现未知域名或异常流量,可能表示凭证正在被外传。
怎么验证是否生效
通过尝试打开未信任仓库和检查文件访问日志来确认加固效果。
验证方法:
- 打开包含
.vscode/tasks.json的未知文件夹,确认是否弹出信任提示而非直接运行任务。 - 检查设置界面,确认
task.allowAutomaticTasks状态为关闭。 - 尝试使用普通用户权限访问存储文件,确认无法直接读取明文内容。
常见坑
避免误以为 VS Code 的安全设置会自动同步到 Cursor,两者配置独立。
- 忽略 MCP 服务器风险:恶意 MCP 服务器可劫持内置浏览器,需审查已连接的 MCP 服务。
- 过度信任官方市场插件:部分通过审核的插件仍可能存在隐蔽逻辑,需持续观察行为。
- 未隔离未知仓库:直接在主机打开来源不明的代码仓库,易触发自动执行漏洞。
常见问题
扩展能直接读取我的 API 密钥吗?
在当前默认配置下可以。安全研究发现 Cursor 将密钥明文存储在本地 SQLite 数据库,扩展无需额外权限即可读取。
工作区信任默认是开启的吗?
不是。Cursor 默认禁用该功能,而标准 VS Code 通常启用,这导致打开恶意仓库时风险更高。
如何防止 MCP 服务器劫持浏览器?
审查已添加的 MCP 服务器地址,避免连接不受信任的端点,并注意浏览器内的异常内容替换。
参考来源
- CSDN 博客:如何保障 Cursor 插件安全?全面渗透测试与漏洞扫描指南
- LayerX 安全报告:Cursor 曝高危访问控制漏洞:开发者 API 密钥遭扩展明文窃取
- 安全公司 Knostic.ai 研究报告:恶意 MCP 服务器可劫持 Cursor 内置浏览器
- 技术社区分析报告:Cursor AI 代码编辑器 RCE 漏洞风险大,用户如何防范