突发:Checkmarx再次遭遇供应链投毒!速查

admin 2026-04-24 05:59:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 2026年4月22日Checkmarx遭遇供应链攻击,其官方KICSDocker镜像标签被恶意覆盖,开发者扩展版本被植入可静默下载执行远程载荷的恶意逻辑。攻击者通过篡改的kics二进制和mcpAddon.js脚本窃取GitHub、npm、云平台等凭证,并利用被盗权限进行横向传播。建议立即移除受影响制品、轮换高风险凭证、审计平台活动并重建环境。 综合评分: 85 文章分类: 供应链安全,漏洞预警,应急响应,威胁情报,安全运营


cover_image

突发:Checkmarx再次遭遇供应链投毒!速查

微步情报局 微步情报局

微步在线研究响应中心

2026年4月23日 11:17 北京

在小说阅读器读本章

去阅读

4月22日,微步情报局监测到有国外机构披露,Checkmarx 相关官方分发渠道疑遭供应链攻击:官方 checkmarx/kics Docker Hub 仓库中多个 KICS 镜像标签被恶意覆盖,同时近期发布的 Checkmarx 开发者扩展版本中还发现可静默下载并执行远程载荷的恶意逻辑。

Docker 首先发现异常镜像推送并通知 Socket;Checkmarx 此前也曾就 2026 年 3 月 23 日 OpenVSX 插件与 GitHub Actions 事件发布安全通告。本次事件显示,攻击者不仅意图窃取开发者与云凭证,还试图利用被盗 GitHub / npm 令牌继续横向传播。 Checkmarx / KICS 项目基础信息

Checkmarx 是知名应用安全厂商,提供 SAST、SCA、容器与 CI/CD 安全等产品;KICS(Keeping Infrastructure as Code Secure)是其开源 IaC 安全扫描工具,常用于 Terraform、CloudFormation、Kubernetes 等配置扫描。

核心能力:KICS 可扫描基础设施即代码模板中的安全配置缺陷、敏感项与合规风险,常通过 CLI、GitHub Actions、容器镜像与 IDE / 扩展生态集成到开发流程中。

本次受攻击情况:Socket 发现 checkmarx/kics 官方 Docker Hub 仓库中的多个标签被指向恶意摘要,近期 Checkmarx 扩展版本还会在激活后从硬编码 GitHub 地址下载 mcpAddon.js 并通过 Bun 立即执行;恶意逻辑涉及凭证窃取、数据外传、GitHub Actions 注入和 npm 传播。

事件核心概况与时间线

披露时间:2026 年 4 月 22 日

攻击目标:Checkmarx 官方 KICS Docker 镜像标签、近期发布的 Checkmarx 开发者扩展版本,以及后续可访问的 GitHub / npm 资产

受影响扩展版本:checkmarx/cx-dev-assist 1.17.0、1.19.0;checkmarx/ast-results 2.63.0、2.66.0

受影响镜像标签:v2.1.20、v2.1.20-debian、debian、alpine、latest;恶意新增标签 v2.1.21 随后被删除

疑似攻击团伙:TeamPCP 被认为“疑似认领”,但公开贴文不能单独构成归因结论

攻击类型:官方制品仓库被篡改 + IDE / 扩展供应链投毒 + GitHub Actions 工作流注入 + 凭证窃取与横向传播

触发方式:扩展激活后静默下载并执行第二阶段载荷;受污染镜像运行后可能泄露扫描内容与相关敏感信息

核心目的:窃取 GitHub、npm、云平台、SSH 等凭证,并利用被盗权限继续创建公开仓库、注入工作流、 republish 可写 npm 包

关键时间线

2026 年 3 月 23 日,Checkmarx 发现其部分 OpenVSX 插件与 GitHub Actions 工作流曾遭供应链事件影响,并发布后续安全更新说明。

2026 年 4 月 22 日,Docker 监测到 checkmarx/kics 官方仓库出现可疑镜像推送,并将线索通报给 Socket。

随后,Socket 分析发现恶意 KICS 镜像中包含被篡改的 kics 二进制,同时近期 Checkmarx 扩展版本还会下载执行 mcpAddon.js。

Socket 进一步确认该载荷除本地与云凭证窃取外,还会滥用 GitHub 令牌创建公开仓库、注入恶意 GitHub Actions 工作流并利用 npm 凭证寻找可写包进行再发布。

事件披露后,相关恶意镜像标签被恢复或删除;Socket 表示已将发现同步给 Checkmarx,事件仍在持续调查中。

技术执行流程:KICS 二进制劫持详解

植入与触发

恶意逻辑存在于近期发布的 Checkmarx 扩展版本中。扩展激活后,会从 Checkmarx 自有 GitHub 仓库某个硬编码提交中拉取 mcpAddon.js,写入 ~/.checkmarx/mcp/mcpAddon.js,并通过 Bun 运行;同时,恶意 KICS Docker 镜像中打包了被篡改的 Go 语言 ELF 可执行文件 kics。

Stage 1:远程载荷拉取与本地执行

扩展在用户无明确确认、无完整性校验的情况下,从 raw.githubusercontent.com 指向的特定提交拉取第二阶段脚本;该提交被伪装成历史正常提交,并通过 Git 历史投递和孤立提交方式降低人工与自动审查发现概率。

mcpAddon.js 使用多层混淆,包括超长单行 bundle、字符串表解码、额外自定义解码器,以及 gzip + base64 内嵌载荷。嵌入内容除主窃密逻辑外,还包括用于 republish npm 包的 setup.mjs、恶意 GitHub Actions YAML、公钥和其他字符串。

Stage 2:主机侦察、凭证收集与外传

mcpAddon.js 会调用受害主机 shell(PowerShell 或 Bash)枚举并窃取多类敏感信息,包括 GitHub 认证令牌、AWS 凭证、Azure 访问令牌、Google Cloud 凭证数据库、.npmrc、SSH 密钥与配置、环境变量,以及 Claude / 其他 MCP 配置文件。

Windows 环境中,恶意脚本会直接执行 gh auth token、gcloud config config-helper、az account get-access-token、azd auth token 等命令抓取令牌;收集结果会被压缩后通过 HTTPS 发送至 audit.checkmarx[.]cx/v1/telemetry,相关网络指标还包括 94[.]154[.]172[.]43。

对 KICS 镜像而言,Socket 指出被篡改二进制不仅保留扫描器功能,还带有未授权的数据收集与外传能力,可能将 IaC 扫描过程中接触到的凭证、敏感配置或机密信息暴露给攻击者。

Stage 3:GitHub 仓库滥用与公开暂存

恶意程序会滥用被盗 GitHub 凭证自动创建公开仓库作为外传暂存区,仓库描述伪装为“Checkmarx Configuration Storage”,命名模式常表现为 –<3 digits>。结果文件与提交消息中还可能嵌入令牌样数据,以仓库内容和元数据双通道暂存被窃信息。

Stage 4:GitHub Actions 注入与 npm 横向传播

恶意代码会枚举受害者可写仓库,优先选择近期活跃且配置了 GitHub Actions secrets 的仓库,自动新建分支并写入 .github/workflows/format-check.yml。该工作流在 push 时触发,通过 ${{ toJSON(secrets) }} 一次性序列化仓库及继承的组织级 secrets,写入 format-results.txt 并作为 artifact 上传。

随后,攻击者可通过已窃取的令牌下载这些 artifact,进一步扩大凭证收集范围。恶意程序还会读取 .npmrc 中的认证信息,识别受害者拥有写权限的 npm 包并尝试重新发布带毒版本,从单点入侵演变为跨生态供应链扩散。

应急处置建议

若拉取、运行或安装过上述受影响 Checkmarx 制品,应立即视为潜在凭证暴露于 CI/CD 沦陷事件,按以下步骤处置:

  1. 立即隔离与移除

从开发者终端、CI Runner、构建环境中移除受影响扩展、容器镜像与相关工作流;暂停继续使用可疑 KICS 标签。

  1. 全量轮换高风险凭证

重点轮换 GitHub token、npm token、云平台凭证、SSH 密钥、CI/CD secrets,以及曾暴露在被扫描配置文件、环境变量和构建环境中的其他敏感信息。

  1. 审计 GitHub / npm / 云平台活动

检查是否出现异常公开仓库、新增或短暂存在的 .github/workflows/format-check.yml、异常 workflow run、artifact 下载记录、异常分支创建、未授权 npm 发布,以及云平台中的异常密钥访问与新签发凭证。

  1. 终端与 Runner 狩猎

排查是否存在异常 Bun 执行、访问 .npmrc / .git-credentials / .env / 云凭证目录等行为,以及对 audit.checkmarx[.]cx、94[.]154[.]172[.]43 的出站连接。对于运行过 KICS 镜像的环境,应复核被扫描 IaC 文件中是否包含明文机密。

  1. 清理与重建

对高风险开发机、Runner 与构建节点建议采用“重新制备环境 + 重新签发凭证”的方式处置;仅删除恶意文件并不足以排除二次滥用风险。

IOC

1. 恶意扩展版本

checkmarx/[email protected]、1.19.0

checkmarx/[email protected]、2.66.0

2. 恶意镜像标签与摘要

镜像标签:alpine、v2.1.20、v2.1.21;

索引摘要

sha256:2588a44890263a8185bd5d9fadb6bc9220b60245dbcbc4da35e1b62a6f8c230d

amd64 镜像摘要

sha256:d186161ae8e33cd7702dd2a6c0337deb14e2b178542d232129c0da64b1af06e4;

arm64 镜像摘要

sha256:415610a42c5b51347709e315f5efb6fffa588b6ebc1b95b24abf28088347791b

镜像标签:debian、v2.1.20-debian、v2.1.21-debian;

索引摘要

sha256:222e6bfed0f3bb1937bf5e719a2342871ccd683ff1c0cb967c8e31ea58beaf7b

amd64 镜像摘要

sha256:a6871deb0480e1205c1daff10cedf4e60ad951605fd1a4efaca0a9c54d56d1cb;

arm64 镜像摘要

sha256:ff7b0f114f87c67402dfc2459bb3d8954dd88e537b0e459482c04cffa26c1f07

镜像标签:latest;

索引摘要

sha256:a0d9366f6f0166dcbf92fcdc98e1a03d2e6210e8d7e8573f74d50849130651a0

amd64 镜像摘要

sha256:26e8e9c5e53c972997a278ca6e12708b8788b70575ca013fd30bfda34ab5f48f;

arm64 镜像摘要

sha256:7391b531a07fccbbeaf59a488e1376cfe5b27aef757430a36d6d3a087c610322

3. 网络 IOC

IP:94[.]154[.]172[.]43

domain:audit.checkmarx[.]cx

URL:https://audit.checkmarx[.]cx/v1/telemetry

4. 文件与哈希 IOC

mcpAddon.js:

MD5 d47de3772f2d61a043e7047431ef4cf4

SHA1 2b12cc5cc91ec483048abcbd6d523cdc9ebae3f3

SHA25624680027afadea90c7c713821e214b15cb6c922e67ac01109fb1edb3ee4741d9

kics(ELF):

MD5 e1023db24a29ab0229d99764e2c8deba

SHA1 250f3633529457477a9f8fd3db3472e94383606a

SHA256 2a6a35f06118ff7d61bfd36a5788557b695095e7c9a609b4a01956883f146f50

六、事件总结与防御建议

核心结论

本次 Checkmarx 事件并非单一产品被投毒,而是同时涉及容器镜像、开发者扩展、GitHub 仓库、GitHub Actions 与 npm 生态的复合型供应链攻击;

攻击者目标不止于一次性窃密,而是试图利用开发者与 CI/CD 权限持续横向传播,形成“窃取凭证—扩大战果—再次投毒”的链式攻击。

防御建议

依赖与产品治理:对扩展、容器镜像、GitHub Actions 版本与摘要实行固定和校验,避免直接信任 latest、浮动标签与未经校验的远程脚本;

凭证最小化:缩减 GitHub / npm / 云平台令牌权限,优先短时令牌与细粒度作用域,降低单个开发机失陷后的爆炸半径;

CI/CD 加固:限制 GitHub Actions 默认权限、审计 artifact 下载、监控非常规 workflow 文件写入,禁止不必要的第三方执行环境与发布权限;

检测与响应:持续监控异常公开仓库创建、镜像摘要漂移、Bun 非预期执行、敏感文件访问和 IOC 出站流量,并建立供应链投毒的快速下线与密钥轮换机制。

供应链安全事件正在从“恶意包”升级为“官方渠道被劫持 + 多生态联动传播”。对企业而言,信任官方来源已不再足够,必须把版本固定、摘要校验、最小权限和持续审计作为默认控制。

参考链接:

https://socket.dev/blog/checkmarx-supply-chain-compromise

Checkmarx Security Update


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:微步在线研究响应中心 微步情报局 微步情报局《突发:Checkmarx再次遭遇供应链投毒!速查》

评论:0   参与:  0