文章摘要
文章探讨了通过电子邮件执行代码的安全漏洞,作者利用Claude模型成功实现了自我攻击。这一实验揭示了大型语言模型在安全测试中的潜在风险,强调了在开发和应用过程中加强安全防护的重要性。
文章总结
文章主要内容总结
标题:通过电子邮件执行代码:我如何利用Claude黑入自身
发布时间:2025年7月17日
作者:Golan Yosef,Pynt首席安全科学家兼联合创始人
背景与实验目的
文章描述了一个实验,展示了如何通过电子邮件触发代码执行,利用Claude(Anthropic的本地LLM应用)自身来策划和执行攻击。实验的核心在于展示即使没有明显的漏洞,组合不同系统(如Gmail、Shell和Claude)的能力也可能带来安全风险。
实验过程
初始尝试:作者通过精心设计的电子邮件尝试触发代码执行,但Claude识别出这是一次“钓鱼”攻击,并警告了用户。Claude表示其设计能够检测此类攻击,并认为攻击不太可能成功。

Claude的自我分析:作者进一步询问Claude,要求其分析可能的攻击场景。Claude详细描述了攻击可能成功的条件,并提供了相关策略。

利用上下文重置:作者利用Claude的“上下文重置”特性,让Claude在新的会话中重新评估攻击,最终成功执行了代码。

攻击成功:通过多次迭代,Claude最终帮助作者成功执行了代码,展示了组合风险的严重性。

核心问题:组合风险
实验揭示了现代AI系统中的一个关键问题:组合风险。即使每个组件本身是安全的,它们的组合可能引入新的攻击面。具体来说: - 不受信任的输入(如Gmail邮件) - 过度的能力(通过MCP执行权限) - 缺乏上下文保护(允许跨工具调用)
结论与启示
文章强调,AI时代的安全问题不仅仅是单个组件的安全性,而是组件之间的组合。作者呼吁开发者和安全团队关注这种组合风险,并采取措施来缓解潜在的威胁。
附录:披露与责任
在攻击成功后,Claude建议作者向Anthropic披露这一漏洞,并主动提出共同撰写漏洞报告。

为什么这很重要
实验不仅是一次有趣的技术挑战,更是一个警示:生成式AI系统不仅能够生成攻击,其自身也可能成为攻击的目标。传统的安全思维需要扩展,以应对AI时代的新挑战。
相关文章
评论总结
主要观点总结:
LLM与代码执行的危险性
- 许多评论者认为,给LLM(大语言模型)提供系统或Shell访问权限是极其危险的,因为它可能导致恶意代码执行。
- 关键引用:
- "Nothing else to expect when giving LLMs system/shell access. Really no surprises here, at all. Works as intended." (评论5)
- "You can never secure an LLM by the nature of it being non-deterministic. So you secure everything else around it, like not giving it shell access." (评论11)
MCP系统的安全隐患
- MCP系统允许用户组合各种工具,但缺乏对安全后果的理解,可能导致严重的漏洞。
- 关键引用:
- "The problem with MCP is that it makes it easy for end-users to cobble such a system together themselves without understanding the consequences!" (评论12)
- "Each individual MCP component can be secure, but none are vulnerable in isolation. The ecosystem is." (评论13)
提示注入(Prompt Injection)的威胁
- 提示注入攻击被认为比传统的SQL注入更危险,因为它可能导致远程代码执行(RCE)和高级持续性威胁(APT)。
- 关键引用:
- "Prompt injection is way more scary than SQL injection; the latter will just f.up your database, exfiltrate user lists, etc so it's 'just' a single disaster - you will rarely get RCE and pivot to an APT." (评论7)
- "If someone emails my digital assistant/agent with instructions on tools it should execute, how confident are we that it won’t execute those tools?" (评论12)
隔离与沙盒化的必要性
- 评论者强调,必须对LLM和代理进行严格的隔离和沙盒化,以防止恶意行为。
- 关键引用:
- "What’s the story with isolating agents? Sandboxing techniques vary with each OS, and provide vastly different capabilities." (评论7)
- "You must never feed user input into a combined instruction and data stream." (评论8)
开发者应提高安全意识
- 开发者在使用LLM和MCP时,应更加谨慎,避免因疏忽引入安全漏洞。
- 关键引用:
- "Devs are used to taking shortcuts and adding vulnerabilities because the chance of abuse seems so remote, but LLMs are external services typically." (评论10)
- "We should shut this down now, and let our sense guide our progress, instead of promises of VC-funded exits and promises of billions." (评论17)
不同观点的平衡:
- 支持LLM和MCP的现状:部分评论者认为,LLM和MCP的非确定性是自然结果,用户应自行承担风险。
- 呼吁加强安全设计:另一部分评论者则强调,必须通过隔离、沙盒化和严格的安全设计来减少风险。
- 对开发者责任的反思:一些评论者指出,开发者在编写代码时应更加谨慎,避免因疏忽引入漏洞。