一个网页就能黑掉你的电脑:OpenCode 曝远程代码执行漏洞 GHSA-632h-h47v-g4x4,开发者需立即升级
一个网页就能在你的电脑上执行任意命令——这不是恐吓而是刚刚被公开的 OpenCode 远程代码执行漏洞 GHSA-632h-h47v-g4x4 的真实攻击效果。对每天依赖 AI 编程工具的开发者来说这条消息值得立刻放下手里的活去检查自己的环境。OpenCode 是 Anomaly 公司推出的开源 AI 编码代理2025 年 6 月上线后迅速走红官网数据显示其 GitHub 星标已超过 20.8 万月活跃开发者约 1600 万。体量越大安全问题波及的范围就越广。Datadog Security Labs 披露的研究表明只要开发者的电脑上运行着 OpenCode 的 Web 服务攻击者仅靠一个精心构造的恶意网页就能在受害者机器上运行命令全程不需要任何网络渗透技巧。问题的根源藏在升级接口里。OpenCode 的浏览器界面通过 opencode serve 或 opencode web 启动后默认无需身份验证便监听在 127.0.0.1:4096 上。它的 /global/upgrade 端点本意是接收版本号、执行类似 npm install -g opencode-ai版本号 的升级命令。但很多人忽略了一点npm 的包规范除了接受语义化版本号同样接受一个指向远程 tar 压缩包的 URL。攻击者只要把带恶意 preinstall 生命周期脚本的压缩包地址填进升级目标包管理器就会自动下载并执行其中的脚本命令随即以 OpenCode 进程的权限运行。到这里似乎还隔着一道墙服务绑定在本地回环地址上远程攻击者根本连不上。这正是整个攻击链中最精妙的一环。研究员发现恶意网页可以借受害者的浏览器发起对本地 API 的跨源请求。直接用 JavaScript 的 fetch() 发送 application/json 请求会触发 CORS 预检并被拦下于是攻击者改走 HTML 表单的顶级导航提交——这一路径天生不受 CORS 和本地网络访问保护机制约束。更关键的是OpenCode 的原始请求处理程序不检查声明的 Content-Type一律把请求体当 JSON 解析。攻击者利用 enctypetext/plain 的特性篡改表单隐藏字段的名称和值让浏览器拼接出一段合法 JSON把升级端点指向自己托管的恶意包。整个利用过程对用户的唯一要求就是在 OpenCode 服务运行期间访问了那个网页。受影响的范围并不小。通过 npm、pnpm 或 Bun 安装的 OpenCode 1.14.30 至 1.18.21 版本均存在漏洞而公开 npm 数据显示仅在 2026 年 9 月 17 日至 23 日这一周这 82 个受影响版本的下载量就超过 64.7 万次占同期 OpenCode 总下载量的 38.9%。值得留意的是Anomaly 主动选择不为该漏洞申请 CVE 编号理由是避免低质量报告泛滥因此安全团队检索时需要使用 GitHub 安全公告编号 GHSA-632h-h47v-g4x4否则漏洞情报很容易被漏掉。时间线梳理下来颇为紧凑有问题的代码路径于 2026 年 4 月 29 日合入1.14.30 在次日成为首个受影响版本Datadog 于 8 月 11 日发现并通过 GitHub Security Advisories 私下上报Anomaly 在同月 24 日完成修复并发布 1.18.22随后应其要求延迟一个月才公开细节。修复采用了纵深防御策略一方面把升级目标严格校验为合法语义化版本从根上堵死任意包 URL另一方面用内容感知的处理程序替换了原来的原始处理逻辑text/plain 的提交会被直接拒绝——在 1.18.22 上重放攻击载荷服务器返回的是 HTTP 415 不支持的媒体类型。如果你正在使用 OpenCode现在就该做这几件事尽快升级到 1.18.22 或更高版本重启所有正在运行的 OpenCode 进程并用 ls -l $(command -v opencode) 确认自己的安装方式是否属于 npm、pnpm 或 Bun 渠道。启用 Web 界面时务必设置 OPENCODE_SERVER_PASSWORD并且不要把服务暴露到 localhost 之外。日常使用中如果发现异常的包管理器活动、来历不明的生命周期脚本执行或可疑的出站下载都应视为潜在入侵迹象。需要特别提醒的是密码保护只能降低风险不能替代打补丁——浏览器缓存的基本认证凭据仍可能随恶意请求一并发出。AI 编程工具正在变成开发者的第二双手而它们的权限往往等同于使用者本人。这次 OpenCode 漏洞暴露的是本地 AI 服务与浏览器安全边界之间一块长期被忽视的灰色地带。当工具越来越聪明给它上锁的动作必须和装它的速度一样快。

相关新闻

OpenGame路线图前瞻:AI游戏生成框架的下一步走向何方?

OpenGame路线图前瞻:AI游戏生成框架的下一步走向何方?

OpenGame路线图前瞻:AI游戏生成框架的下一步走向何方? 【免费下载链接】OpenGame OpenGame: Open Agentic Coding for Games 项目地址: https://gitcode.com/gh_mirrors/op/OpenGame OpenGame 是一个开源的 AI 游戏生成框架(Agentic C…

2026/10/1 17:51:56 阅读更多 →
网关支付 vs 纯代付

网关支付 vs 纯代付

网关支付属于用户端主动发起付款,以线上收款为核心,广泛应用于电商交易、生活缴费、旅游预订等线上消费场景。买家主动跳转银行网关完成支付,帮助商户快速归集交易资金,属于收钱通道。纯代付是企业侧主动对外批量出款能力&#xf…

2026/9/30 16:55:46 阅读更多 →
为什么一次 V8.Http.Get 调用会返回 Promise

为什么一次 V8.Http.Get 调用会返回 Promise

确定性架构图|对象参数、字符串重载、完整响应与未知副作用 摘要| 接口引擎调用第三方服务,日志却出现 [object Promise]。原因可能不是网络,而是 .NET 同名重载按实参类型返回了 Task。本文从当前源码签名拆开对象参数、显式 awa…

2026/10/1 18:42:09 阅读更多 →

最新新闻

C++桥接模式四种实现:从指针到std::variant的工程实践

C++桥接模式四种实现:从指针到std::variant的工程实践

从"类和类纠缠"到"接口和实现各过各的"做C开发这么多年,我一直觉得设计模式这事儿最怕"背名字"。桥接模式(Bridge Pattern)就是个典型——很多人能把定义背出来:"将抽象部分与实现部分分离&am…

2026/10/1 18:56:55 阅读更多 →
《农业机械学报》系统类文章写作与投稿全攻略:从选题到见刊

《农业机械学报》系统类文章写作与投稿全攻略:从选题到见刊

搞科研的同行都知道,向《农业机械学报》这类农业工程领域的权威期刊投稿,最怕的就是文章“看起来像个方案描述,读起来却不像一篇论文”。尤其是系统类文章——整机系统、控制系统、作业系统、监测系统——题目里带“系统”二字,写…

2026/10/1 18:56:55 阅读更多 →
ARM 平台运行 Windows 程序:Wine、FEX-Emu 与 DXMT 兼容层实战解析

ARM 平台运行 Windows 程序:Wine、FEX-Emu 与 DXMT 兼容层实战解析

1. 从“Madeira”这个名字说起:一个跨平台兼容层的真实需求 第一次看到“Madeira”这个标题,加上关键词里那一串 Wine、FEX-Emu、DXMT、iOS、x86-64,我脑子里第一反应是:这大概率是一个围绕“在非 Windows 平台上跑 Windows 程序”…

2026/10/1 18:56:55 阅读更多 →
白萝卜YOLO专用数据集:1000张实拍图+双格式标签+小目标检测优化

白萝卜YOLO专用数据集:1000张实拍图+双格式标签+小目标检测优化

简介:本资源是面向计算机视觉初学者与算法工程师的白萝卜目标检测专用数据集,专为YOLO系列模型训练与验证设计,适用于农业识别、食品质检等实际场景的快速原型开发。压缩包共2000个文件,含1000张高质量标注图像(JPG格式…

2026/10/1 18:56:55 阅读更多 →
白萝卜目标检测实战:YOLO数据集校验与边缘部署指南

白萝卜目标检测实战:YOLO数据集校验与边缘部署指南

简介:本资源是面向计算机视觉初学者与算法工程师的白萝卜目标检测专用数据集,专为YOLO系列模型训练与验证设计,适用于农业识别、农产品质检等实际场景。数据集包含1000张高质量标注图像,配套2000个文件:1000个VOC格式X…

2026/10/1 18:56:54 阅读更多 →
SpringBoot集成Activiti 7工作流引擎:审批系统实战指南

SpringBoot集成Activiti 7工作流引擎:审批系统实战指南

做后端时间久了,总会遇到一个绕不开的需求:审批。不管是请假、报销、合同会签还是订单审核,本质上都是一条带状态的流转链路。早些年大家喜欢自己在数据库里硬写状态字段,用if-else把流程状态机搓出来,前两个月还好&am…

2026/10/1 18:55:54 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →