掘金 人工智能 05月13日 15:38
Cursor:安全性探讨
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入解析了Cursor文本编辑器的安全文档,重点关注其基于向量嵌入的代码库索引机制及隐私保护模式。Cursor采用多云架构,集成了AWS、Azure和GCP,并利用Fireworks等平台托管自定义模型。该编辑器通过文件分块和向量嵌入技术实现代码库的语义化索引,同时采用混淆文件路径和行号等手段保护代码隐私。隐私模式下,服务器不存储原始代码,仅保存向量数据,降低了代码泄露风险。文章还探讨了向量嵌入逆向还原的潜在安全风险,并强调了多云多模型架构对服务弹性的重要性。

☁️ Cursor编辑器采用多云架构,以AWS为核心,Azure/GCP为补充,集成了Fireworks、OpenAI等AI服务,并使用turbopuffer作为托管向量存储,提升了系统可信度和灵活性。

🔑 向量嵌入技术是Cursor实现代码库语义化索引的关键,它将代码转化为向量存储于Turbopuffer数据库,并对文件路径和行号进行模糊处理,兼顾了搜索功能和代码隐私保护。

🛡️ 隐私保护模式是Cursor的一大亮点,50%的用户启用了该模式。在该模式下,服务器仅在处理请求时临时访问原始代码,持久化层仅保存向量数据及脱敏元数据,从而最大限度地降低了代码泄露的风险。

⚠️ 尽管Cursor采取了多种安全措施,但向量嵌入逆向还原仍存在潜在风险。虽然当前的攻击手段需要获取模型权限且对短文本效果显著,但学术界已证实特定条件下可实现嵌入向量逆向工程,这需要引起重视。

深入解析 Cursor 文本编辑器的安全文档,重点探讨基于向量嵌入(vector embeddings)的代码库索引(codebase indexing)机制及隐私保护模式(privacy mode)实施方案。

Cursor: 安全 ( 来自 ) Cursor 的安全文档页面包含了许多关于 Cursor 文本编辑器后端系统如何工作的详细信息。

我最近了解到,检查组织的文档化次要处理者列表是了解幕后工作的好方法——它就像是他们基础设施的“查看源代码”!那正是我在今年三月确认 Anthropic 的搜索功能 使用了 Brave 搜索 的方式。

Cursor 的列表包括 AWS、Azure 和 GCP(AWS 用于主要基础设施,Azure 和 GCP 用于“某些次要基础设施”)。他们将自己的自定义模型托管在 Fireworks 上,并根据用户偏好调用 OpenAI、Anthropic、Gemini 和 xAI 的 API。他们正在使用 turbopuffer 作为托管向量存储。

最有趣的部分是关于代码库索引 

主要内容

Cursor 允许你语义化地索引代码库,这使得它能够根据整个代码库的上下文回答问题,同时通过参考现有实现编写更好的代码。[…]

在我们的服务器上,我们分块并嵌入文件,并将嵌入存储在 Turbopuffer 中。为了允许通过文件路径过滤向量搜索结果,我们为每个向量存储一个混淆后的相对文件路径,以及分块对应的行范围。我们还存储嵌入在 AWS 中的缓存中,通过分块的哈希值进行索引,以确保第二次索引相同的代码库会更快(这对团队来说特别有用)。

在推理时,我们计算一个嵌入,让 Turbopuffer 进行最近邻搜索,将混淆后的文件路径和行范围发送给客户端,然后在客户端本地读取这些文件分块。然后将这些分块发送回服务器以回答用户的问题。

当他们在隐私模式下操作时——他们声称有 50%的用户使用这种模式——他们不会将任何原始代码存储在服务器上超过单个请求的持续时间。这就是为什么他们会存储嵌入式数据和混淆后的文件路径,但不会存储代码本身。

读到这里,我立刻想到了一篇关于的论文,关于如何反转嵌入的内容。安全文档中的注释提到了这一点:

嵌入反转:学术研究已经表明,在某些情况下可以反转嵌入。当前的攻击依赖于对模型的访问,并将短字符串嵌入到大向量中,这使我们相信在这里进行攻击会相当困难。不过,对于能够攻破我们向量数据库的对手来说,他们确实有可能了解索引代码库中的信息。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Cursor编辑器 向量嵌入 代码库索引 隐私保护 多云架构
相关文章