AI编程助手正在泄露你的API密钥:一场无声的安全危机

Hacker News May 2026
来源:Hacker Newscode generationClaude Code归档:May 2026
AINews的一项开创性调查发现,包括Cursor和Claude Code在内的主流AI编程助手,会将.env文件中的所有API密钥和令牌永久存储在未加密的本地SQLite数据库中。这并非漏洞,而是一个根本性的架构盲点,它让每台开发者机器都成了恶意软件的“藏宝洞”。

AI赋能编程的便捷性,正掩盖着一场无声的安全灾难。AINews已证实,像Cursor和Claude Code这类广泛用于读取和利用环境变量(如.env文件)的工具,会将它们接触到的每一个秘密——API密钥、数据库密码、云服务令牌——以明文形式存储在用户本地的SQLite数据库中。这并非传统意义上的漏洞,而是一种刻意为之的设计选择:优先保障会话历史与开发者生产力,而非数据保护。这一问题在整个AI编程助手生态系统中具有系统性。开发者们自认为遵循了使用.env文件的最佳实践,实际上却在制造一个单点故障。任何能够访问本地文件系统的恶意程序,都能轻易窃取这些敏感信息。

技术深度剖析

问题的核心在于AI编程助手如何处理上下文。像Cursor(基于VS Code深度集成AI的分支)和Claude Code(Anthropic推出的终端代理)这类工具,会维护一份详尽的完整历史记录,涵盖每一次文件读取、每一条命令执行以及每一段代码生成。这份历史记录被存储在本地SQLite数据库中,以支持会话恢复、撤销历史以及上下文感知建议等功能。

.env文件问题:

.env文件是一种纯文本文件,包含键值对形式的环境变量。它是本地开发中存储配置秘密的事实标准。当开发者打开一个项目时,AI助手会读取.env文件以理解项目环境。这是一个合法操作——AI需要上下文才能编写正确的代码。然而,助手并不会区分无害的配置变量(例如`APP_ENV=development`)与关键秘密(例如`AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`)。两者都会被无差别地存储在SQLite数据库中。

SQLite数据库结构:

我们对Cursor本地数据库(在Linux/macOS上通常位于`~/.config/Cursor/User/workspaceStorage/`)的分析显示,其中存在一个名为`cursorSessionHistory`或类似名称的表。该表结构包含`timestamp`、`filePath`、`content`和`action`等列。`content`列存储了每次读取文件的完整文本,包括整个.env文件的内容。数据在静态状态下未进行任何加密。任何在同一用户账户下运行的进程都可以读取该数据库文件。

数据流:

1. 开发者打开一个包含`.env`文件的项目。
2. Cursor/Claude Code读取该文件以构建上下文。
3. 整个文件内容被写入本地SQLite数据库,作为会话历史的一部分。
4. 数据库从未加密,且没有针对敏感条目的自动清理或过期机制。
5. 恶意软件(或一个被攻破的npm包)可以读取SQLite文件,解析它,并提取所有秘密。

相关开源项目:

- `truffleHog`(GitHub: trufflesecurity/truffleHog,15k+星标):一款用于检测Git仓库中秘密的工具。它可以被改造来扫描AI助手的数据库,但这是一种被动应对措施。
- `git-secrets`(GitHub: awslabs/git-secrets,12k+星标):防止将秘密提交到Git。类似的逻辑可以应用于AI助手的存储。
- `detect-secrets`(GitHub: Yelp/detect-secrets,3.5k+星标):一款企业级秘密扫描器。其正则表达式模式可用于在存储前标记敏感数据。

数据表:主流AI编程助手的存储实践

| 助手 | 存储位置 | 加密方式 | 秘密检测 | 用户控制 |
|---|---|---|---|---|
| Cursor | 本地SQLite | 无 | 无 | 手动删除会话文件 |
| Claude Code | 本地SQLite | 无 | 无 | 无 |
| GitHub Copilot | 云端 + 本地缓存 | 传输中TLS,静态无加密 | 无 | 可选择退出遥测 |
| Amazon CodeWhisperer | 云端 | 传输中TLS | 无 | 无 |
| Tabnine | 本地SQLite | 可选(企业版) | 基础 | 企业配置 |

数据要点: 该表清晰揭示了整个行业的系统性失败。没有任何一款主流消费级AI编程助手对本地存储进行加密,或主动检测秘密。Tabnine的企业版提供了可选的加密功能,但这并非默认设置。会话历史的便捷性被普遍置于安全性之上。

关键参与者与案例研究

Cursor (Anysphere Inc.)

Cursor已迅速成为最受欢迎的AI原生IDE,拥有数百万用户。其架构基于经过修改的VS Code引擎,并深度集成了AI。该公司已从包括Andreessen Horowitz在内的投资者那里筹集了超过6000万美元。其产品理念强调“上下文即一切”——AI拥有的数据越多,给出的建议就越好。这一理念直接导致了当前的安全盲点。Cursor尚未公开回应此问题。

Claude Code (Anthropic)

Anthropic的Claude Code是一款基于终端的AI代理,能够执行命令、读取文件和编写代码。它专为追求最大控制权的专业用户设计。其会话历史存储在位于`~/.claude-code/sessions.db`的SQLite数据库中。Anthropic高度关注“宪法AI”与安全性,但这并未延伸到本地数据存储安全领域。该公司未对此发现发表评论。

GitHub Copilot (Microsoft/GitHub)

Copilot是使用最广泛的AI编程助手,拥有超过180万付费用户。它主要在云端运行,将代码片段发送至GitHub的服务器进行分析。虽然这降低了本地存储风险,但也引入了另一类隐私问题。Copilot确实会在本地缓存一些数据,但由于它默认不读取.env文件,其秘密暴露的程度比Cursor或Claude Code要轻。

案例研究:‘EnvTheft’概念验证

(原文此处内容不完整,但根据上下文,该案例研究应描述一个名为‘EnvTheft’的概念验证攻击,演示如何利用AI助手数据库窃取.env文件中的秘密。由于原文截断,此处保留结构但无法补充具体细节。)

更多来自 Hacker News

Cursor Composer 2.5:AI编程从自动补全跃迁至自主工程Cursor的Composer 2.5代表了AI辅助软件开发的决定性飞跃。此次升级引入了三大核心能力:持久化项目级内存,能够理解整个代码库中的变量作用域、依赖链和架构模式;多文件上下文感知,支持跨数十个文件的连贯修改;以及自主循环机制,AIPyTorch的进化:从研究沙盒到生产级AI基础设施PyTorch的进化不仅是技术升级,更是对行业迫切需求的战略回应——即‘研究到生产的集成’。随着大语言模型和视频生成系统的复杂性呈指数级增长,原型开发与部署之间的鸿沟已成为关键瓶颈。PyTorch近期在即时编译(TorchDynamo、ToAI工具账单暴涨三倍:企业成本失控的隐形危机AI作为生产力倍增器的承诺正与残酷的财务现实正面交锋。一家中型软件公司最近报告称,其50人工程师团队用于代码生成、调试和文档编写的月度Claude订阅费用飙升至45,000美元,远超其15,000美元的月度SaaS云账单。这迫使管理层将AI查看来源专题页Hacker News 已收录 3635 篇文章

相关专题

code generation169 篇相关文章Claude Code174 篇相关文章

时间归档

May 20262077 篇已发布文章

延伸阅读

Claude Code vs Codex:AI编程助手引发的开发者大分裂一项最新全球使用排名将Claude Code与Codex推至聚光灯下,揭示了开发者偏好的尖锐分化。数据显示,AI编程助手正分裂为两大阵营:一方专注深度代码理解与复杂重构,另一方则强调无缝集成与快速代码生成。Claude Code的“金丝雀”:Anthropic如何打造自愈型AI软件工程系统Anthropic悄然部署了CC-Canary——一个内置于Claude Code的金丝雀监控系统,能够实时检测延迟、准确性和行为一致性上的退化。这一举措将AI编程助手从被动的代码生成器,转变为具备自动回滚能力的主动自诊断智能体。Claude Code质量之争:深度推理的隐性价值远超速度围绕Claude Code的质量报告在开发者社区引发激烈辩论。AINews深度剖析发现,这款工具的表现并非简单的优劣之分——它在复杂推理与架构设计上表现卓越,却在重复性代码生成上略显吃力。这并非缺陷,而是一种刻意为之的设计哲学:优先深度思考AI编程助手重构开发者工具:Vim与Emacs的时代终结?Vim与Emacs之间关于编辑器哲学的历史性论战,正面临存在性挑战。AI编程助手不仅是新功能,更是范式转移的催化剂——它将开发者从代码工匠转变为通过自然语言指挥逻辑的系统架构师。编辑器的未来不再关乎快捷键,而在于成为智能创作的核心界面。

常见问题

这次模型发布“AI Coding Assistants Are Leaking Your API Keys: The Silent Security Crisis”的核心内容是什么?

The convenience of AI-powered coding is masking a silent security catastrophe. AINews has confirmed that tools like Cursor and Claude Code, which are widely adopted for their abili…

从“How to check if Cursor has stored my API keys”看,这个模型发布为什么重要?

The core of the problem lies in how AI coding assistants handle context. Tools like Cursor (a fork of VS Code with deep AI integration) and Claude Code (Anthropic's terminal-based agent) maintain a comprehensive history…

围绕“Best practices for securing AI coding assistant local storage”,这次模型更新对开发者和企业有什么影响?

开发者通常会重点关注能力提升、API 兼容性、成本变化和新场景机会,企业则会更关心可替代性、接入门槛和商业化落地空间。