就在几天前,开源 AI 编程助手 OpenCode 曝出一个CVSS 10.0 级别的严重漏洞。任何网站都可以在你的电脑上执行任意命令——没错,只需要你访问一个恶意网页。
一、惊魂时刻:我是如何发现自己的电脑被"控制"的
1 月 13 日,OpenCode 开发者 thdxr 紧急披露了一个安全漏洞。Cloudflare 安全研究员发现:OpenCode 的本地服务器没有任何身份验证,任何人都可以连接并执行命令。
我第一时间检查了自己的 OpenCode 版本——
1 | $ opencode --version |
心跳漏了一拍。根据官方公告,1.1.10 之前的版本都存在这个漏洞。
二、漏洞原理:为什么如此严重?
2.1 零身份验证的本地服务器
OpenCode 在启动时会自动启动一个 HTTP 服务器(端口 4096+),用于与 Web 界面通信。但问题在于:这个服务器没有任何身份验证机制。
任何人只要能连接到这个端口,就可以:
| API 端点 | 功能 | 危险等级 |
|---|---|---|
GET /session |
列出所有会话 | 🟡 中 |
POST /session |
创建新会话 | 🟡 中 |
POST /session/:id/shell |
执行任意 shell 命令 | 🔴 严重 |
GET /file/content?path=xxx |
读取任意文件 | 🔴 严重 |
2.2 攻击场景简单得可怕
攻击流程只需要三步:
1 | 1. 扫描本地端口 → 找到 OpenCode (4096+) |
无需用户交互、无需密码、无需任何配置。
三、实战复现:我"黑"进了自己的电脑
3.1 发现漏洞端口
3.2 测试 API 访问
打开浏览器或 Postman,访问:
1 | GET http://localhost:36504/session |
返回结果让我倒吸一口凉气——无需任何认证,直接返回了我的所有会话信息:
3.3 RCE 命令执行测试
接下来是最关键的一步——执行命令:
1 | POST http://localhost:36504/session/ses_xxx/shell |
几秒后,命令执行成功:
3.4 弹出计算器:漏洞的铁证
为了证明这不是开玩笑,我执行了一个更直观的命令:
1 | { |
下一秒,Windows 计算器弹了出来。
这证明:任何能连接到这个端口的人,都能以我的用户权限执行任意代码。
四、更危险的攻击:如果黑客真的来了
弹出计算器只是无害演示。如果是真正的攻击者,他们可以:
4.1 窃取 SSH 私钥
1 | { |
4.2 植入后门
1 | { |
4.3 建立反弹 Shell
1 | { |
4.4 浏览器攻击(< v1.0.216)
在漏洞修复前,任何恶意网站都可以用这段代码攻击你:
1 | // 植入在恶意网站中的代码 |
你只是访问了一个网页,电脑就被控制了。
五、版本对比:你受影响了吗?
| 版本 | 任意网站攻击 | 本地攻击 | 状态 |
|---|---|---|---|
| < 1.0.216 | ✅ 可行 | ✅ 可行 | 🔴 极度危险 |
| 1.0.216 - 1.1.9 | ❌ 受限 | ✅ 可行 | 🟠 存在 RCE |
| ≥ 1.1.10 | ❌ 修复 | ❌ 修复 | 🟢 安全 |
我的版本是 1.1.8,属于第二档——虽然网站攻击被修复了,但本地任何进程仍可执行命令。
六、立即修复:三步完成
步骤 1:检查版本
1 | opencode --version |
步骤 2:立即更新
1 | # 终端版 |
步骤 3:验证修复
1 | # 确认版本 >= 1.1.10 |


