Mockoon:管理API为什么成了免凭据后门"

admin 2026-10-16 05:33:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Mockoon:管理 API 为什么成了免凭据后门

原创

云梦DC
云梦DC

云梦安全

2026年10月2日 09:00
河南

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

2026 年 9 月 11 日,Mockoon 披露 GHSA-rqx4-3f6q-3x2v(CVE-2026-59148,高危):@mockoon/commons-server 与 @mockoon/cli 9.7.0 之前版本的管理 API 没有鉴权,并对任意来源放开 CORS,可被用来劫持 mock 状态、窃取凭据。同一天还有一个同思路的问题 GHSA-8wqc-v2q8-vff2(CVE-2026-59149),模板 filePath 的前缀校验可被绕过。

Mockoon 是接口模拟工具:后端还没上线时,前端和 CI 就对着它调。正因为它是“临时的、测试用的”,这类端口最容易被顺手开到 0.0.0.0,也最容易被资产台账漏掉。下面的实验说明,一旦能连上这个端口,得到的比“能改几个 mock 响应”要多得多。

实验:一次正常调用,把凭据留在了日志里

环境里跑的是 @mockoon/cli 9.6.1,业务路由 /payments/status 监听 127.0.0.1:4001。基线先确认业务正常:GET 返回 200 和一段账务 mock 数据。接着带 Bearer lab-session-7f21ac9e 请求一次,模拟前端或 CI 的正常调用。

然后是不带任何凭据的六步。

第一步,带 Origin: https://attacker.example 访问 GET /mockoon-admin,返回 200,响应头里 Access-Control-Allow-Origin: *,并放开了 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS 全部方法。通配 CORS 意味着任何一个浏览器页面都能读到这个响应——不需要用户点什么,打开页面就行。

第二步,GET /mockoon-admin/env-vars/MOCKOON_API_KEY 直接返回 {\"key\":\"MOCKOON_API_KEY\",\"value\":\"sk-live-lab-9f3c7a21d4e8\"}。这些环境变量本来是配置给模拟服务用的,很多团队会把“以后要用的真密钥”顺手放进去。

第三步,GET /mockoon-admin/logs 返回最近两次请求的完整记录,其中就包括刚刚那条调用原样携带的 Authorization: Bearer lab-session-7f21ac9e。这一步的杀伤力最大:mock 端口的请求日志会把开发者和 CI 的真实凭据抄下来,而这条链路同样不需要任何凭据。

第四步,POST /mockoon-admin/env-vars 可以写任意进程环境变量,实验里把 AWS_SECRET_ACCESS_KEY 改成了 AKIA-LAB-POISONED。第五步,PUT /mockoon-admin/environment 在运行时改写了业务响应体,/payments/status 的返回里多出 \"payTo\":\"ACME-ATTACKER-4242\"。第六步,PURGE /mockoon-admin/logs 清空审计日志——破坏性方法同样不校验来源。

结论很直接:能连上 mock 端口的任何来源,都等价于持有该实例的管理员权限。

9.7.0 修了什么

升级到 9.7.0 后,同样六步全部返回 401 Unauthorized,Access-Control-Allow-Origin 也不再下发;业务路由 /payments/status 仍然 200,正常功能没有受影响。

升级之后更该做的事

这类漏洞的修复相对干净,但善后比升级本身重要,因为它牵涉“已经泄露了什么”。

如果 mock 端口曾经暴露在非可信网络里,请把“所有出现在 mock 请求里的凭据”视为已泄露:请求日志里出现过的 Authorization、请求头里的 API Key,以及被塞进 mock 环境变量的真密钥,全部要轮换。同时审计一遍现有 mock 配置里的环境变量,把不是模拟数据的真凭据挪出去——mock 的 env 和生产的 env 混用,是这类事件里最常见的放大器。

配置侧的动作有三条:给管理 API 设置访问令牌并确认无凭据访问返回 401;把 mock 服务绑定到 127.0.0.1 或容器内网,不要暴露到办公网和公网;把常见 mock 端口纳入资产台账并定期探测,别让“临时开的测试端口”活过一个迭代。

检测与复测

日志侧可以关注 /mockoon-admin 路径的访问记录,尤其是来自非预期网段、带外部 Origin 的请求,以及紧跟其后的 env-vars、logs、environment 调用——这个组合不像是正常运维操作。

复测固定三项:无凭据访问管理 API 应 401;带令牌访问管理 API 应正常;业务 mock 路由的功能与响应结构回归正常。另外建议做一次“凭据轮换是否完成”的确认,这一步比升级版本号更能反映真实风险。

为什么 mock 端口特别容易被漏掉

安全台账通常按“域名 + 端口 + 责任人”登记,而 mock 服务的特征是:由前端或测试同学随手启动、经常以容器端口直接映射到宿主机、没有域名、也没有独立的负责人。探测资产时,它不会出现在任何接口文档里;扫漏洞时,它返回的都是正常业务数据,看不出异常。等到有人把它开到公网,风险才以“测试端口暴露”的形式出现。

一个务实的做法是把这类服务按“开发工具”单独建一份清单:本机开发环境、共享测试环境、CI 流水线里各有哪些、分别绑定了什么地址。这份清单不需要很正式,只要能在排查时回答一个问题——现在还有哪些 mock 实例在监听,它们各自能读到哪些环境变量。

一句话总结

“测试用的模拟服务”和“生产服务”在权限上没有区别——只要它持有密钥、能被访问、又没人管它的身份校验,它就是一条后门。


AgentHarness实战:用极简工具构建可控的AIAgent" 网络安全文章

AgentHarness实战:用极简工具构建可控的AIAgent"

本文介绍不依赖框架、仅用OpenAISDK加函数注册表与while循环手写约150行AgentHarness的实战方法。核心是四层架构:循环控制、上下文管理、工具注册与LLM推理,强调可控性与可观测性。提供完整可运行代码示例,并给出从极简到生产的升级路径,建议按需叠加持久化、权限控制等能力。
OpenAI让AI永不关机:Dots给企业安全提了什么新题" 网络安全文章

OpenAI让AI永不关机:Dots给企业安全提了什么新题"

OpenAI于DevDay2026发布Dots,将AIagent从对话工具推进到持续运营层,基于GPT-6Astra,每个实例拥有云电脑和浏览器,可接入4000+应用。文章拆解monokern的10步架构蓝图,涵盖Agent本体、任务流转与成本治理三层,并从安全视角提出新挑战:24/7运行、审批边界、共享记忆审计、编排者监督及攻击面扩大,建议企业提前准备高风险动作清单、分层插件授权、全链路可观测性及劫持演练。
国庆我在岗,防线不打烊" 网络安全文章

国庆我在岗,防线不打烊"

晟晖科技国庆首日安全运营报告显示,自研平台7×24小时监测全网流量,当天处置安全告警534151条,办结工单81条。攻击构成中威胁情报类占95.13%居首,恶意程序类占3.66%。公司以自研平台与专家服务双擎协同,并将AI安全作为长期战略主线,推动安全服务从人海盯防迈入人机共智新阶段。
评论:0   参与:  0