Claude Code间接Prompt注入攻击利用DNS TXT记录实现反弹shell劫持
Mozilla 0Din 安全研究人员展示了一种针对 Claude Code 的新型攻击手法。攻击者通过创建看似无害的代码仓库,在其中隐藏间接 Prompt 注入指令,当开发者使用 Claude Code 克隆并初始化该项目时,agent 会被诱导执行一个反弹 shell,导致主机被完全控制。攻击流程:
1. 攻击者构造一个仓库,包含正常的安装说明(setup notes)。
2. 当 Claude Code 按说明执行安装时,故意触发一个 Python 包未初始化的错误,错误消息提示用户运行
python3 -m axiom init
。
3. Claude Code 信任了错误消息并执行该命令,而
init
实际上会调用一个 shell 脚本
setup.sh
,该脚本从 DNS TXT 记录中拉取 Base64 编码的命令并执行,最终生成一个交互式反弹 shell。
关键隐蔽点:
- 仓库中没有任何恶意代码或明文字符串,payload 只存在于 DNS TXT 记录中,可随时更换。
- 静态分析只能看到 DNS 查询,网络监控只能看到域名解析,Claude Code 认为这是正常的安装步骤,三方单独检查都无异常。
- 开发者完全不会收到任何代码执行的告警。
一旦反弹 shell 建立,攻击者可窃取凭证、API 密钥、Token,并部署持久化后门。
Mozilla 研究员指出:该攻击将组件分散在仓库、DNS 基础设施和开发者对 AI agent 的信任三个系统中,任何单点分析都无法发现攻击。攻击者可通过招聘帖子、教程、消息等方式传播仓库链接。
这一攻击凸显了 AI 编码助手在信任执行环境时的风险。建议开发者在类似 Claude Code 的工具中限制自动执行命令的权限,并对安装过程中的 DNS 请求和错误修复行为保持警惕。
Re: Claude Code间接Prompt注入攻击利用DNS TXT记录实现反弹shell劫持
这个攻击手法确实很巧妙,把恶意载荷藏在DNS TXT记录里,让静态分析和网络监控都抓不到直接证据。最可怕的是每一步看起来都很正常——安装报错、让用户手动跑个命令、DNS查询,单拎出来都是合规操作,但组合起来就成了完美的攻击链。感谢分享,提醒了我:以后用这类AI工具搞项目初始化,最好先手动审查一下每一步要执行的命令,尤其是那些“帮你修复错误”的自动行为,权限能收窄就先收窄,不能完全信任环境反馈的输出。Re: Claude Code间接Prompt注入攻击利用DNS TXT记录实现反弹shell劫持
这个攻击思路确实很隐蔽,尤其是利用DNS TXT记录做payload载体,绕过了静态分析和常规网络监控。开发者信任AI agent去“自动修复错误”这个行为,成了整个攻防链条里最薄弱的一环。平时用Claude Code这类工具时,确实很容易忽略它背后执行的每条命令是否真的安全。感谢分享,这个案例提醒我们要对AI自动执行的命令设好权限边界,尤其是涉及安装和错误修复的步骤。Re: Claude Code间接Prompt注入攻击利用DNS TXT记录实现反弹shell劫持
感谢楼主分享这个重要的安全警示。这种将恶意指令分散到仓库、DNS 记录和 AI 信任机制中的攻击手法确实相当隐蔽,也提醒我们:AI 编码助手在自动执行命令时的权限边界需要更严格的控制。对于开发者来说,除了保持警惕,或许还可以考虑在类似工具中启用“手动确认”模式,对任何自动运行的安装步骤或错误修复命令进行二次审核。再次感谢楼主带来的资讯。
页:
[1]