一台macOS开发者设备上的Claude Code活动,引发了一个新的 安全问题:便捷的自动化何时会演变成严重的暴露风险?
Elastic 的一项新调查发现,某个会话打开了反向隧道、将登录凭据发送到临时公共地址,并创建了可在注销或重启后依然存在的 LaunchAgent 条目。
该活动看起来并不像传统的恶意软件投放器(dropper)。相反,受信任的编码 Agent 进程启动了 shell 和辅助工具,将本地应用发布到互联网上,然后检查该应用是否仍然可以访问。对于已在关注 Claude Code 安全弱点如何危及开发者系统的团队而言,这种组合让这一事件颇具警示意义。

Claude Code建立反向隧道
Elastic观察到的主要活动发生在7月23日。在此之前,端点已经出现过与隧道及VPN类工具有关的告警。
当天的Claude Code会话使用了绕过权限确认的选项,减少了子进程执行操作前需要用户批准的次数。随后,其启动的Shell开始连接由免费隧道服务提供的临时公网地址,并多次向一个登录页面发送请求,之后又访问应用接口获取运行指标。
其中一个Shell随后启动 cloudflared,通过Cloudflare Quick Tunnel将本地localhost服务发布至公网。
这种方式并不需要直接开放传统的入站防火墙端口。本地主机主动建立出站连接后,外部用户便可以通过Cloudflare生成的临时公网地址访问原本仅运行在开发者电脑上的服务。
调查人员还在项目目录中发现了 ngrok 二进制文件。单独出现Cloudflare Tunnel或ngrok并不能证明恶意行为,因为两者本身都是合法工具。真正值得关注的是整个行为组合:带有凭据的Web请求、通向本地服务的公网入口,以及能够让该入口持续保持可用的工具同时出现在一个Claude Code会话中。
Elastic认为,安全团队不应因为父进程是受信任的AI编码工具,就降低对此类行为的警惕。如果Agent启动的子进程同时出现凭据提交和反向隧道,应按照高风险事件处理,并进一步确认相关公网服务是否确实由开发者主动建立、是否经过授权,以及暴露的应用是否具备足够的访问保护。

临时隧道变成持久入口
比建立公网隧道更值得关注的是,同一个Claude Code会话随后还在macOS中写入并加载了LaunchAgent配置。
调查显示,其中包含一个每60秒运行一次的Watchdog配置。
LaunchAgent是macOS提供的用户级自动启动机制,可以在登录后自动执行指定程序。借助这一机制,即使最初建立隧道的Shell进程已经结束,相关应用或隧道仍有可能被重新启动。
这使风险性质发生了变化:原本可能只是一次临时测试的公网访问,开始具备持续存在的条件。
Elastic还观察到相关进程检查,以及针对公网地址的存活检测,用于确认已经发布的服务是否仍然在线。在此期间,Elastic的“Persistence via GenAI Tool”检测规则被触发。
因此,在调查类似事件时,仅查看Claude Code本身是否为合法程序远远不够。安全人员还需要保留完整的进程父子关系、命令行参数、被修改的plist文件以及网络连接记录,然后逐一确认这些操作是否得到了设备所有者的明确授权。
Elastic指出,一个经过签名并受到信任的父进程,并不能保证其启动的每一条命令都是安全的。对于AI Agent尤其如此,因为真正产生风险的操作往往发生在Agent调用的Shell和辅助工具中。
Agent进程不能默认放行
对于企业而言,这类行为的风险并不局限于单台开发者设备。
如果被公开的本地仪表盘包含运行指标或其他内部信息,外部访问者可能由此接触敏感运营数据;如果反向隧道又通过LaunchAgent保持运行,则可能形成一条持续返回开发环境的访问路径。
Elastic因此建议,不要仅因为进程树中出现Claude Code等合法编码Agent,就自动关闭与凭据HTTP请求、反向隧道或LaunchAgent相关的安全告警。
对于此类事件,安全团队应区分普通的子进程噪声和已经造成实际影响的操作,限制能够绕过权限确认的高风险模式,并重点审查新创建的LaunchAgent以及未经授权的隧道工具。
如果凭据曾直接出现在命令行或相关请求中,应及时进行轮换;确认没有业务需求的 cloudflared、ngrok 等辅助程序,也应在设备恢复使用前清理。
这起事件目前并不能证明Claude Code本身遭到攻击,也不能仅凭隧道工具的出现判断存在恶意行为。
但Elastic此次调查反映出的风险已经十分明确:随着AI编程Agent获得Shell执行、网络访问和系统配置修改能力,企业不能再单纯依据“进程是否可信”判断行为是否安全。
真正需要关注的,是Agent最终在设备上执行了什么操作,以及这些操作是否超出了开发者原本授权的范围。
参考来源:
Claude Code Sessions Spawn Reverse Tunnels and LaunchAgent Persistence on macOS
https://cybersecuritynews.com/claude-code-sessions-spawn/