
TeamPCP 是一个至少从 2025 年下半年活跃于开源供应链领域的组织。云鼎实验室通过对其相关事件的持续监测分析发现,其攻击并非传统的单点恶意包投放,而是围绕开发者工具链、CI/CD、包管理器、云凭据与开源发布权限形成的连续作战链条。
手段:典型路径为凭据窃取 → 发布权限劫持 → 供应链投毒 → 横向扩散。攻击者通过终端窃取、GitHub Actions 滥用、包发布账号劫持等方式获取凭据后,劫持 npm、PyPI、Docker Hub、OpenVSX 等分发与构建渠道投放恶意制品,并利用受害环境中的云密钥、源码仓库和发布令牌继续扩散。
AI 赋能:TeamPCP 最突出的特征是人机协同攻击。公开证据显示,TeamPCP 主要使用 Anthropic Claude(Claude 3.5 Sonnet 与 Claude Code CLI)生成后门脚手架和启动脚本,利用 GPT-4o 优化混淆与免杀逻辑,并借助 GitHub Copilot 补全攻击代码。其恶意仓库中直接暴露了用于提交的 Git 邮箱地址 claude@users.noreply.github.com。借助 AI 的全面赋能,其武器迭代周期从传统的数月缩短至 2–3 周,并在 3 个月内完成了五代武器的进化。
范围:攻击面横跨 npm、PyPI、Docker Hub、GitHub Actions、OpenVSX、VS Code Marketplace、Jenkins 插件市场、GitHub 内部仓库等 10+ 分发与构建渠道,波及 Trivy、Checkmarx KICS、LiteLLM、Telnyx、Bitwarden CLI、SAP CAP、TanStack、UiPath、Mistral、durabletask、Red Hat、微软等知名组织和项目。
影响:首次在实战中击穿 SLSA Build Level 3 可信发布标准;渗透 GitHub 员工设备窃取约 3,800 个内部仓库并在暗网出售;2026 年 5 月将核心攻击框架 Mini Shai-Hulud 开源,直接引发第三方复用的行业级蔓延——Miasma 蠕虫导致 GitHub 在 105 秒内禁用 73 个 Microsoft 相关仓库(见时间线 2026-06-05),Phantom Gyp 变种 2 小时内感染 57 个包/286+ 版本;CISA 将相关漏洞加入 KEV 目录并发布独立公告。
本文基于云鼎实验室内部沉淀的威胁情报,从组织画像、技战法、武器库、典型事件、生态影响到 IOC 指标,完整复盘 TeamPCP 这条新型 AI 驱动供应链攻击组织的全貌。
TeamPCP 是近期多起开源供应链攻击中反复出现的黑客团伙。公开报告中,Wiz 将其作为独立威胁组织进行追踪,并将 Trivy、Checkmarx KICS、LiteLLM、Bitwarden、Lightning、Intercom、TanStack 多起事件归因到该组织。
与传统“上传一个恶意包”等单点攻击不同,TeamPCP 更像是围绕研发基础设施展开的连续攻击活动。其目标并不局限于终端用户,而是优先打击开发者工具、CI/CD 流水线、包发布账号、云凭据和开源项目维护者权限。一旦获取某个项目的发布令牌或 GitHub 权限,攻击者会将其作为跳板继续感染更多软件包或更多生态。
根据目前我们对TeamPCP团伙的攻击检测,发现其至少在不同阶段掌握的攻击能力如下
能力 | 体现 |
|---|---|
供应链投毒 | 劫持 npm、PyPI、Docker Hub、GitHub Actions、OpenVSX、Jenkins 插件等分发渠道 |
CI/CD 攻击 | 滥用 pull_request_target、GitHub Actions cache poisoning、Runner 内存读取、OIDC token 抽取 |
凭据窃取 | 收集 GitHub/npm/PyPI token、云凭据、SSH 密钥、K8s token、Vault token、数据库密码 |
横向传播 | 使用被盗 token 枚举可发布包并重新发布恶意版本,形成蠕虫式扩散 |
多通道外传 | 使用 typosquat 域名、Cloudflare Tunnel、ICP Canister(Internet Computer Protocol 上的链上容器/智能合约服务,可被攻击者用作可轮换的 dead-drop C2)、GitHub release asset、GitHub dead drop、Session 网络 |
持久化 | systemd --user、macOS LaunchAgent、Python .pth、IDE hook、GitHub token monitor daemon |
地下协作 | 与数据泄露、访问交易、论坛悬赏和勒索变现网络形成协作关系 |
公开资料中对 TeamPCP 的归因主要基于多类重叠证据,而不是单一线索:
多个事件中出现了明显的 tpcp 命名痕迹:
tpcp.tar.gztpcp-docs、docs-tpcpTeamPCP Cloud stealerX-Filename: tpcp.tar.gzTrivy、KICS、LiteLLM、Telnyx 等事件中均出现 AES-256 与 RSA-4096 混合加密模式。Wiz 与多家研究机构指出,部分攻击复用了相同或高度相似的 RSA 公钥。由于对应私钥控制权高度敏感,公钥复用是强归属依据之一。
多个事件中出现了相同或相近的基础设施:
scan.aquasecurtiy[.]orgcheckmarx[.]zonemodels.litellm[.]cloudgit-tanstack[.]comtdtqy-oyaaa-aaaae-af2dq-caiplug-tab-protective-relay.trycloudflare.com攻击者反复使用以下模式:
/proc/<pid>/mem 读取 GitHub Actions Runner.Worker 进程内存{"value":"<secret>","isSecret":true} 类型的 secret 结构systemd --user 落地 sysmon.py 或 pgmon 后门preinstall / postinstall 触发恶意代码.pth 文件在解释器启动阶段执行代码公开报告中,“Mini Shai-Hulud”被用于描述 2026 年 4 月至 5 月出现的一批自传播供应链攻击。该活动复用了 Shai-Hulud 风格的概念,包括 npm install hook、自传播、GitHub dead drop、凭据窃取和仓库污染。
需要注意的是:
观察维度 | 访谈材料反映的倾向 | 对企业安全的启示 |
|---|---|---|
从破坏型勒索转向访问变现 | 其自述早期更接近加密勒索,后续转向凭据窃取、源码外传、发布权限滥用和访问售卖 | 供应链攻击不一定以业务中断作为第一目标;更常见的风险是凭据、代码、云访问和发布权限被持续变现。 |
优先攻击高价值开发链路 | 材料中反复强调 GitHub 权限、发布令牌、云凭据和大型组织访问价值 | 企业需要把 CI/CD、包发布账号、开发者终端和云身份视为同一条高价值攻击链,而不是割裂治理。 |
访问交易生态化 | 访谈提到与数据泄露论坛、访问经纪和其他团伙协作,说明其并不依赖单一团队完成全部变现环节 | 一次供应链入侵可能很快进入地下访问交易、源码售卖或勒索网络,响应重点应包括凭据轮换、代码访问审计和外泄监测。 |
防御建议具有反向验证价值 | 其提到依赖版本冷却期(对新发布包设置延迟准入窗口)、制品哈希锁定、细粒度发布令牌、限制 IDE 插件来源等措施 | 这些建议与防守方实践高度重合,说明攻击者实际利用的正是依赖解析、制品完整性、发布权限和开发者工具链中的默认信任。 |
AI 是效率放大器而非唯一核心 | 访谈中承认使用 AI 辅助,但也强调攻击链设计依赖对供应链机制的理解 | AI 会降低恶意代码生成、混淆和变种迭代门槛,但真正的风险仍来自攻击者对 CI/CD、包管理器和云身份机制的系统性理解。 |
the gentlemen、HasanBroker's 等地下合作或访问交易关系,其中 HasanBroker's 与其合作关系后续已破裂。整体来看,TeamPCP 更接近一个连接凭据窃取、源码外传、访问交易和供应链投毒能力的地下访问经纪节点,而不是单纯的恶意包作者。7. 组织特点总结 TeamPCP 是一个极度危险的黑客组织,他们将攻击目标锁定为开发者或具备CI Runner、包发布账号和云服务凭据的重要人员,一旦突破,极有可能随着自动化发布链进入更大范围的生态系统。 与普通恶意包作者相比,TeamPCP 的差异在于:它攻击的是“开源软件如何被构建、发布和信任”的机制本身,并试图将凭据、源码、访问权限和供应链投毒能力转化为可交易、可复用、可扩散的地下资源。
TeamPCP 的核心不是利用传统漏洞入侵单台服务器,而是劫持软件供应链中的信任关系:维护者账号、CI/CD 工作流、发布 token、GitHub OIDC、包管理生命周期脚本、Docker 镜像标签和 GitHub Action tag。
阶段 | 目标 | 典型方式 | 代表事件 |
|---|---|---|---|
初始访问 | 获取发布或仓库权限 | 被盗 npm/PyPI/Docker Hub token、GitHub PAT、服务账号、pull_request_target 误用 | Trivy、KICS、LiteLLM、TanStack |
执行 | 在可信构建或安装流程中运行恶意代码 | npm 生命周期脚本、PyPI .pth、GitHub Action、OpenVSX 插件、Docker 镜像、Actions cache | CanisterWorm、LiteLLM、KICS、TanStack |
凭据收集 | 收集开发、CI/CD 与云环境中的 secrets | 环境变量、SSH key、.npmrc、Docker 配置、K8s token、Vault、Runner 内存 | Trivy、KICS、Mini Shai-Hulud |
外传 | 将凭据或扫描结果传出受害环境 | HTTP POST、GitHub release asset、GitHub dead drop、Cloudflare Tunnel、ICP Canister、Session 网络 | Trivy、KICS、TanStack |
横向传播 | 利用被盗权限感染更多包或仓库 | 枚举可发布包、注入生命周期脚本、重新发布恶意版本 | CanisterWorm、Mini Shai-Hulud |
持久化 | 维持后续访问 | systemd --user、macOS LaunchAgent、Python .pth、IDE hook、GitHub token monitor | Trivy、KICS、LiteLLM、TanStack |
类型 | 技术点 | 说明 |
|---|---|---|
被盗发布令牌 | npm PyPI Docker Hub token | LiteLLM、Telnyx、Bitwarden CLI、KICS Docker Hub 等事件均体现发布权限被滥用。 |
GitHub 凭据 | PAT、服务账号、aqua-bot、cx-plugins-releases | 可用于覆盖 tag、创建恶意 workflow、推送 commit 或触发 CI。 |
Pwn Request | pull_request_target + fork 代码执行 | TanStack 中,fork PR 代码进入 base repo 的信任边界并污染 Actions cache。 |
npm 生命周期 | preinstall、postinstall、prepare | 安装即执行,是 CanisterWorm 与 Mini Shai-Hulud 的核心入口。 |
PyPI 自动执行 | .pth、模块导入、__init__.py | LiteLLM 通过 .pth 扩大触发面;Lightning 在 import lightning 时启动后台线程。 |
GitHub Action | action.yaml、entrypoint.sh、setup.sh | Trivy / KICS 在下游 CI Runner 中执行凭据窃取逻辑。 |
插件市场 | OpenVSX VS Code Jenkins | 插件激活或加载时执行恶意逻辑,直接接触开发者环境。 |
缓存投毒 | Actions cache / pnpm store | TanStack 中,PR 侧缓存被 release workflow 恢复并触发恶意执行。 |
类别 | 目标 | 说明 |
|---|---|---|
本地开发环境 | 环境变量、.env、Shell history、SSH key、Git 凭据 | 攻击者重点寻找长期有效 token 与本地私钥。 |
包管理器 | .npmrc、PyPI/Twine 配置、registry token | 可用于重新发布恶意包,扩大供应链影响面。 |
容器与 CI/CD | Docker config、GitHub Actions secrets、Runner 内存 | 多起事件读取 /proc/<pid>/mem,从 Runner.Worker 中提取 secret 或 OIDC token。 |
云平台 | AWS、GCP、Azure 凭据 | AWS 侧常见枚举包括 IAM、EC2、Lambda、RDS、Route 53、S3、Secrets Manager、ECS。 |
Kubernetes / Vault | Service Account token、kubeconfig、Vault token | KICS 与 Mini Shai-Hulud 均体现对云原生环境的持续关注。 |
浏览器与钱包 | 浏览器密码、MetaMask、Phantom、Solana、Ethereum 等 | 后期变种开始扩展到浏览器凭据和加密钱包数据。 |
能力 | 技术实现 | 风险 |
|---|---|---|
自传播 | 读取 npm token → 枚举可发布包 → 注入恶意脚本 → bump 版本 → 发布 | 维护者账号会变成传播节点,单个 token 可影响多个包。 |
OIDC 发布滥用 | 从 Runner 内存提取 OIDC token,直接向 npm registry 发起发布 | 不需要窃取长期 npm token,也可完成恶意发布。 |
加密外传 | AES-256-CBC + RSA-4096 / RSA-OAEP,加密后打包为 tpcp.tar.gz | 即使拦截流量,也难以直接还原内容。 |
多通道 C2 | Typosquat 域名、Cloudflare Tunnel、ICP Canister、GitHub dead drop、Session 网络 | 单一域名封禁效果有限。 |
主机持久化 | sysmon.py、pgmon、gh-token-monitor、LaunchAgent | 凭据轮换后仍可能被二次窃取。 |
IDE / 仓库持久化 | .vscode/tasks.json、.claude/settings.json、恶意仓库文件 | 用户打开项目或启动 IDE 即可能再次触发。 |
TeamPCP 使用的“武器”并不只是单一恶意程序,而是一组围绕供应链攻击设计的组件:加载器、凭据窃取器、持久化脚本、自传播发布器、外传通道和回退 C2。其工具组合随着事件持续演进。
武器类别 | 代表组件 | 功能 |
|---|---|---|
凭据窃取器 | TeamPCP Cloud Stealer | 扫描 CI/CD 与开发者侧 secrets 并外传 |
npm 蠕虫 | CanisterWorm | 自动注入 optionalDependencies 实现链式扩散 |
Linux 后门 | sysmon.py + systemd unit | 用户态长期驻留,监控 GitHub token 与 Vault |
PyPI 注入器 | LiteLLM .pth / Telnyx WAV 隐写 | Python 启动时自动加载,stage-2 隐写在合法资源中 |
蠕虫变种 | Mini Shai-Hulud / TanStack 变种 | 复用 Shai-Hulud 思路,叠加 PCP 公钥外传 |
该组件在 Trivy 与 KICS 事件中尤为典型。其核心能力包括:
tpcp.tar.gz可疑痕迹:
tpcp.tar.gztpcp-docsdocs-tpcpscan.aquasecurtiy[.]orgcheckmarx[.]zoneCanisterWorm 是 TeamPCP 风格 npm 蠕虫的重要代表。其名称来自攻击者使用 Internet Computer Protocol Canister 作为 dead-drop C2。
postinstall 执行 node index.js。systemd --user 服务。/tmp/pglog 并执行。https://tdtqy-oyaaa-aaaae-af2dq-cai.raw.icp0.io/tdtqy-oyaaa-aaaae-af2dq-cai/tmp/pglog/tmp/.pg_state~/.local/share/pgmon/service.py~/.config/systemd/user/pgmon.servicesysmon.py 与 systemd 后门在 Trivy 与 KICS 事件中,攻击者会在非 CI 环境中落地 sysmon.py。
常见路径:
~/.config/systemd/user/sysmon.py~/.config/systemd/user/sysmon.service/root/.config/sysmon/sysmon.py/root/.config/systemd/user/sysmon.service其行为是定时轮询 C2 获取下一阶段载荷。如果 C2 返回“youtube”相关内容,则视为休眠或 kill switch;否则下载并执行。
.pth 注入LiteLLM 1.82.8 中出现 litellm_init.pth。Python 的 .pth 文件会在解释器启动时被 site 模块处理,因此攻击者无需等待用户显式 import litellm。
该方式的危险性在于:
.pth 文件。IOC:
litellm_init.pthp.pymodels.litellm[.]cloudcheckmarx[.]zoneTelnyx Python SDK 的恶意版本 4.87.1 与 4.87.2 在 _client.py 中注入代码,从 83.142.209.203:8080 下载 WAV 文件,并从音频中提取 payload。
msbuild.exe。tpcp.tar.gz。IOC:
http://83.142.209.203:8080/ringtone.wavhttp://83.142.209.203:8080/hangup.wav%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exeMini Shai-Hulud 是 TeamPCP 后期攻击中更复杂的自传播框架。其能力包括:
preinstall 触发execution.js.claude/ 与 .vscode/代表性文件:
setup.mjsexecution.js.claude/execution.js.claude/setup.mjs.claude/settings.json.vscode/tasks.json.vscode/setup.mjsTanStack 事件中,攻击者使用了更复杂的三通道外传体系:
git-tanstack[.]comfilev2.getsession.org、seed1/2/3.getsession.orgShai-Hulud: Here We Go Again 的仓库新增持久化组件:
gh-token-monitor~/Library/LaunchAgents/com.user.gh-token-monitor.plist~/.config/systemd/user/gh-token-monitor.serviceTeamPCP 的基础设施呈现以下特点:
scan.aquasecurtiy[.]org、models.litellm[.]cloud、git-tanstack[.]com
时间 | 事件 | 关键动作 / 技术点 | 影响与备注 |
|---|---|---|---|
2025 年底 | TeamPCP 相关活动开始被公开资料持续关注 | 早期围绕开发者基础设施、云环境、供应链投毒和访问售卖活动展开 | 后续事件显示其目标从单次入侵逐步转向"凭据—发布权限—供应链扩散"的连续作战模式。 |
2026-02-27 | Aqua 相关早期 Pwn Request 事件 | MegaGame10418 利用 Pwn Request 获取 aqua-bot PAT | 后续被认为可能为 Trivy / Aqua 二次入侵埋下伏笔。 |
2026-03-19 17:43:37 | Trivy v0.69.4 tag 被推送并触发恶意 release | 伪造提交身份、恶意 checkout、Runner 内存读取、AES/RSA 加密、sysmon.py、Cloud Stealer | 恶意 Trivy 二进制发布到 GitHub Releases、Docker Hub、GHCR、ECR。 |
2026-03-19 至 03-20 | trivy-action 与 setup-trivy tag 被覆盖 | trivy-action 75/76 个 tag、setup-trivy 7 个 tag 被指向恶意版本 | 下游使用浮动 tag 的 GitHub Actions 工作流暴露。 |
2026-03-20 | Socket 披露 CanisterWorm | npm 自传播、ICP Canister C2、pgmon / systemd user 持久化 | 初始涉及 @emilgroup 与 @teale.io/eslint-config 等包。 |
2026-03-21 | CanisterWorm 影响扩大 | 影响扩大到 135 个恶意包构件、64+ 独立包 | npm publish token 被用于枚举和批量发布,蠕虫式扩散特征明显。 |
2026-03-22 约 16:00 | 恶意 Trivy 镜像发布到 Docker Hub | 恶意 0.69.5、0.69.6 镜像;Aqua 内部仓库被公开 | 攻击从 GitHub release / Actions 扩展到容器镜像分发链。 |
2026-03-23 12:53 | Checkmarx OpenVSX 扩展出现恶意版本 | ast-results v2.53.0、cx-dev-assist v1.7.0 被投毒 | IDE / 插件市场进入攻击面。 |
2026-03-23 12:58 | KICS GitHub Action 投毒 | 35 个 tag 被指向恶意 commit;K8s Pod 持久化、云凭据收集 | 与 Trivy 事件存在基础设施和 TTP 重叠。 |
2026-03-24 | LiteLLM PyPI 投毒 | 恶意 litellm 1.82.7/1.82.8;Python .pth 注入实现解释器启动执行 | GitHub 源码与 PyPI 制品不一致,暴露"源码可信不等于制品可信"。 |
2026-03-27 | Telnyx Python SDK 投毒 | telnyx 4.87.1/4.87.2;WAV 隐写投递、平台差异 payload、Windows Startup 持久化 | 无对应 GitHub tag,指向 PyPI 发布链被绕过。 |
2026-04-22 12:31:35 至 12:59:46 | KICS Docker Hub 镜像出现恶意版本 | 污染 latest、alpine、debian、v2.1.20、v2.1.21 等 tag | 恶意 KICS 保留扫描功能,同时外传 IaC 扫描结果。 |
2026-04-22 | Bitwarden CLI npm 分发短时污染 | @bitwarden/cli@2026.4.0 被投毒 | 影响窗口期通过 npm 安装 CLI 的用户。 |
2026-04-22 | Namastex / CanisterSprawl 波次披露 | @automagik/genie、pgserve 等受影响 | CanisterWorm 系列继续扩散,体现跨包横向传播能力。 |
2026-04-22 14:17:59 至 15:41:31 | checkmarx/ast-github-action 恶意版本 | 恶意 2.3.35 发布 | Checkmarx 相关攻击继续沿 GitHub Action 扩展。 |
2026-04-22 13:06 至 17:48 / 21:20 | Checkmarx VS Code Marketplace / OpenVSX 后续版本 | ast-results 2.63/2.66、cx-dev-assist 1.17/1.19 等 | 插件市场与开发者终端风险扩大。 |
2026-04-25 | LAPSUS$ 公开发布 Checkmarx 相关数据 | 被窃数据公开 / 售卖 | Checkmarx 事件从投毒扩大到数据泄露与地下变现。 |
2026-04-29 | Wiz 披露 Mini Shai-Hulud 攻击 SAP npm 包 | 凭据窃取、自传播、GitHub dead drop(建仓 / Release Asset / commit 暂存外传)、IDE 配置投毒 | @cap-js/sqlite、@cap-js/postgres、@cap-js/db-service、mbt 等受影响。 |
2026-04-30 12:45:20 至 13:27:30 | PyPI lightning 2.6.2/2.6.3 可被安装 | import lightning 后台线程、Bun、约 11MB 混淆 JS payload | PyTorch Lightning 官方称暴露 42 分钟;GitHub 源码仓库未被篡改。 |
2026-04-30 15:20 | Mini Shai-Hulud 范围更新 | 新增 intercom-client@7.0.5 与 PyPI lightning@2.6.2/2.6.3 | 攻击跨 npm 与 PyPI,payload 使用 zero.masscan.cloud 与 GitHub fallback。 |
2026-05-09 至 05-10 | Jenkins Marketplace 出现恶意 Checkmarx AST Scanner | 恶意 Checkmarx AST Scanner 2026.5.09 | Checkmarx 事件进一步扩展到 Jenkins 插件分发渠道。 |
2026-05-10 至 05-11 | TanStack 攻击准备 | fork zblgg/configuration,通过 pull_request_target 执行恶意代码并污染 GitHub Actions cache | 为后续 OIDC token 获取和 npm 发布做准备。 |
2026-05-11 19:20 / 19:26 | TanStack 波次恶意版本发布 | cache poisoning、Runner 内存 OIDC token 提取、trusted publishing 绕过、Session 网络外传、gh-token-monitor | 共 42 个 @tanstack/* 包、84 个恶意版本;未窃取 npm token。 |
2026-05-12 | Wiz 披露 TeamPCP 同步攻击 TanStack、UiPath、Mistral、guardrails-ai | npm / PyPI 同步投毒;guardrails-ai@0.10.1、mistralai@2.4.6 等 | 显示 TeamPCP 具备多命名空间、多生态并发操作能力。 |
2026-05-12 至 05-14 | Shai-Hulud 源码公开与供应链攻击竞赛 | 攻击者公开工具链,并在地下论坛发起"供应链攻击比赛";规则要求使用 Shai-Hulud worm | 攻击框架被第三方快速复用,供应链攻击门槛下降。 |
2026-05-18 后 | Megalodon 等自动化扩散 | 大规模自动化仓库植入与软件包污染 | 公开资料称 6 小时内对 5561 个 GitHub 项目发起 5718 次恶意代码植入。 |
2026-05-19 | AntV / GitHub Actions / VSCode 扩展波次 | @antv/* npm 包、actions-cool/* GitHub Actions、nrwl.angular-console v18.95.0;Bun 二阶段、GitHub orphan commit payload、kitty 后门 | 开发者工具链攻击同时覆盖 npm、GitHub Actions 和 VSCode 扩展。 |
2026-05-19 15:08 至 15:16 | durabletask GitHub 侧活动 | 攻击者访问 microsoft/durabletask-python,从 GitHub secrets 获取 PyPI token | 为后续 PyPI 直发恶意包奠定条件。 |
2026-05-19 | PyPI durabletask 1.4.1/1.4.2/1.4.3 被投毒 | rope.pyz、AWS SSM 传播、K8s 横向、密码管理器暴力解锁、shell history 窃取 | Microsoft Durable Task Python SDK 受影响;payload 演进自 guardrails-ai / Mini Shai-Hulud 变种。 |
2026-05-21 前后 | GitHub / Grafana 泄露追溯到 TanStack / Nx Console 链路 | GitHub 员工安装恶意 Nx Console 扩展导致凭据被窃;Grafana 也追溯到 TanStack npm 供应链攻击 | GitHub 约 3,800 个私有仓库被外传;Grafana 代码库被窃并遭勒索。 |
2026-06-01 | Red Hat / Miasma 披露 | 至少 32 个 @redhat-cloud-services/* 包出现未授权修改;新增 Azure / GCP 云身份收集器 | 平均周下载量约 8 万;归因上应表述为 TTP 重叠,不能排除 copycat。 |
2026-06-01 10:53 / 13:44 | Red Hat 账号被用于推送恶意 orphan commits | frontend-components、javascript-clients、platform-frontend-ai-toolkit;oidc-* 分支;id-token: write workflow | 恶意 workflow 请求 OIDC token 并发布带有效 provenance 的 npm 包。 |
2026-06-04 09:20 | Miasma 新波次更新 | binding.gyp 武器化,在安装阶段触发恶意代码 | 延续 Mini Shai-Hulud / Miasma 技术路线。 |
2026-06-05 16:00:50 至 16:02:35 | GitHub 禁用 73 个 Microsoft 相关仓库 | 涉及 Azure、Azure-Samples、microsoft、MicrosoftDocs 四个组织;Azure/functions-action 等导致下游 CI/CD 中断 | 该事件与 Miasma / durabletask 的关系仍属公开迹象下的关联研判,暂不作为确认归因。 |
2026-06-06 | Microsoft 仓库禁用事件公开分析 | Phoenix Security 等将 durabletask 复合风险、Miasma Azure/GCP collector 与 GitHub 自动执法行为并列讨论 | 适合作为 TeamPCP 技术路线外溢和自动化治理风险的后续观察。 |
共性 | 说明 |
|---|---|
源码与发布包不一致 | LiteLLM、Telnyx、Lightning、durabletask 均显示 GitHub 源码干净不代表 PyPI 包安全。 |
浮动引用风险高 | GitHub Action tag、Docker tag、npm semver、VSCode 扩展自动更新都可能被攻击者利用。 |
CI Runner 是高价值目标 | Runner 同时接触源码、secret、发布权限和云环境,是多起攻击的凭据收集核心。 |
合法平台被滥用 | GitHub、Docker Hub、npm、PyPI、OpenVSX、Jenkins、Session 网络均被用于执行或外传。 |
凭据驱动扩散 | 攻击者拿到发布 token、PAT、OIDC token 后,可迅速进入更多包、仓库和云环境。 |
公开工具链催化复制 | Shai-Hulud / Mini Shai-Hulud 公开后,Miasma、Megalodon 等后续活动显示第三方可快速复用攻击模板。 |
TeamPCP 的每一次事件都在说明:现代供应链安全的薄弱点不只在代码漏洞,而在自动化构建、发布和信任分发的全过程。
生态 / 渠道 | 代表事件 | 主要风险点 | 企业排查重点 |
|---|---|---|---|
GitHub Actions | Trivy、KICS、TanStack、Red Hat / Miasma、Microsoft Azure repos | tag 覆盖、恶意 workflow、pull_request_target 误用、cache poisoning、Runner 内存提取、OIDC token 滥用、仓库禁用导致、仓库禁用导致 CI/CD 中断 CI/CD 中断 | workflow 权限、Action 引用方式、cache 来源、id-token: write 使用范围、异常 release / tag、依赖 Azure/functions-action 等第三方 Action 的流水线 |
npm | CanisterWorm、Bitwarden CLI、SAP、TanStack、AntV、Red Hat、UiPath、Mistral | preinstall postinstall prepare 自动执行、发布 token 滥用、trusted publishing 边界不清、自传播 | lockfile、生命周期脚本、异常 patch 版本、scope 发布记录、maintainer token 权限 |
PyPI | LiteLLM、Telnyx、Lightning、durabletask、guardrails-ai、mistralai | wheel 与源码不一致、.pth 自动执行、模块导入触发、PyPI 凭据被滥用、恶意 payload、恶意 payload 横向到云与 横向到云与 K8s K8s | wheel/sdist 与 Git tag 比对、.pth 文件、短时发布版本、pip install 构建日志、PyPI token 存放位置 |
Docker Hub / 镜像仓库 | Trivy、KICS | 浮动 tag 被覆盖、镜像 digest 与源码构建不一致、私有缓存保留恶意镜像 | digest pinning、镜像 provenance、pull-through cache、CI runner 本地镜像缓存 |
OpenVSX VS Code Jenkins | Checkmarx 插件、Nx Console、Jenkins AST Scanner | 插件激活即执行、IDE/CI 插件接触开发者凭据和源码 | 插件版本、下载来源、自动更新策略、开发者机器扩展缓存 |
云环境 | AWS、GCP、Azure、Kubernetes、Vault | CI/CD 或开发者凭据被盗后进行资源枚举、secret 读取和横向移动;Miasma durabletask 增强云身份收集与传播能力;Miasma durabletask 增强云身份收集与传播能力 | CloudTrail、K8s audit、Vault audit、Secrets Manager 访问、ECS K8s 异常操作、Azure CLI managed identity 访问记录、Azure CLI / managed identity 访问记录 |
AI / LLM 工具链 | LiteLLM、Mistral、guardrails-ai、Lightning、Azure AI samples、Azure AI samples、Claude Code hook | AI 工具常连接多个模型 API、Agent/MCP 工具运行在高权限开发环境 | 模型 API key、Agent 配置、MCP 服务依赖、.claude/ 与 .vscode/ 自动执行配置 |
层面 | 风险表现 |
|---|---|
开发者终端 | SSH key、GitHub token、npm/PyPI token、云 CLI 配置、浏览器凭据和 1Password / Vault 等本地会话可能被窃取。 |
CI/CD 流水线 | Runner 内存、OIDC token、deployment secret、registry token 成为核心目标;第三方 Action 下架或禁用还可能造成构建中断。 |
包发布链 | 被盗 token、trusted publisher 或 GitHub secrets 或 GitHub secrets 可导致合法包发布恶意版本。 |
镜像与插件分发链 | 浮动 tag、VSCode 扩展、Jenkins 插件和私有缓存可能让恶意制品在短窗口后继续存在。 |
云原生环境 | K8s Service Account、Vault token、Secrets Manager、ECS SSM managed identity SSM managed identity 成为横向移动入口。 |
地下变现链路 | 被盗源码、仓库访问、云凭据和发布权限可被作为地下市场商品继续交易。 |
TeamPCP 说明供应链攻击已从“依赖风险”扩大为“构建发布基础设施风险”。企业若只做传统 SCA 扫描,而不审计 CI/CD、发布权限、OIDC、缓存、插件市场、镜像 provenance 和开发者终端,就难以有效防御此类攻击。
方向 | 重点检查项 | 关联风险 |
|---|---|---|
GitHub Actions | pull_request_target、id-token: write、浮动 Action 引用、异常 cache、/proc/*/mem、Runner.Worker、异常 orphan commit / workflow | Pwn Request、cache poisoning、OIDC token 窃取、发布链绕过 |
npm / PyPI | lockfile、生命周期脚本、.pth 文件、wheel 与 Git tag 差异、短时恶意版本、binding.gyp / Bun loader | 安装即执行、发布链绕过、自传播 |
Docker / Registry | Trivy / KICS 相关 tag、镜像 digest、pull-through cache、CI runner 本地镜像 | 浮动 tag 被覆盖、恶意镜像缓存残留 |
开发者终端 | sysmon、pgmon、gh-token-monitor、kitty-monitor、.vscode/、.claude/、LaunchAgent | 持久化、IDE hook、凭据二次窃取 |
网络外联 | scan.aquasecurtiy.org、checkmarx.zone、models.litellm.cloud、git-tanstack.com、*.getsession.org、*.raw.icp0.io、check.git-service.com、m-kosche.com | C2、dead drop、数据外传 |
云与 K8s | AWS IAM EC2 Lambda S3 Secrets Manager / ECS、K8s nodes、Vault token | 云凭据验证、资源枚举、横向移动 |
发布链 | npm/PyPI/Docker Hub 发布历史、异常 patch 版本、无对应 Git tag 的版本、发布者身份变化 | 发布权限被滥用 |
插件市场 | OpenVSX、VS Code Marketplace、Jenkins 插件版本与来源 | IDE / CI 插件投毒 |
检查 trivy-action 的 Run Trivy step、setup-trivy 的 Setup environment step;排查是否执行过 Trivy v0.69.4 或拉取过 0.69.5/0.69.6 镜像。对确认安装或执行过恶意版本的开发机、CI runner、构建容器进行隔离,避免继续使用原环境构建或发布。禁止在 pull_request_target 中执行 fork 代码;Action 固定到 full SHA;最小化 GITHUB_TOKEN 权限;仅在真实发布 job 中启用 id-token: write;隔离 PR cache 与发布 cache。防御 TeamPCP 类攻击的关键不是阻止使用开源组件,而是让开源组件进入企业环境前具备可验证的来源、可追溯的构建过程、可控制的发布权限和可快速响应的凭据治理能力。
TeamPCP 的一系列事件说明,供应链攻击正在从“投放恶意依赖”进入“控制构建与发布基础设施”的新阶段。攻击者不再满足于注册 typosquat 包或提交恶意 PR,而是直接瞄准 GitHub Actions、npm/PyPI 发布权限、Docker Hub tag、OpenVSX 插件、CI Runner 内存和云端 secret。
这类攻击的最大危险在于:它利用的是开发体系本身的自动化信任。一旦攻击者控制某个构建或发布节点,恶意代码就会被下游系统主动拉取、执行和信任。
过去,攻击者常直接攻击生产服务器或业务应用。TeamPCP 则表明,研发系统已经成为更高价值的目标:
攻击研发系统,相当于攻击软件进入生产环境前的“源头”。
企业正在减少长期 token,转向 OIDC trusted publishing 和云身份联合。这本来是安全进步,但 TanStack 事件证明:
id-token: write 的 runner 中执行,就可能获取临时身份。未来攻击者会更关注 runner 内存、OIDC token、workload identity 和 federation 配置。
CanisterWorm 与 Mini Shai-Hulud 显示,供应链蠕虫正在回归:
与传统蠕虫不同,这类蠕虫传播路径不是网络漏洞,而是包管理器和维护者权限。
TeamPCP 大量滥用合法平台:
LiteLLM、Mistral、guardrails-ai、Lightning、Claude Code / VS Code hook 等线索说明,AI 开发工具链正在成为供应链攻击的新热点。原因很直接:
传统 SCA 主要识别已知漏洞和恶意包,但 TeamPCP 攻击的是:
因此,企业需要从“依赖扫描”升级为“构建发布全链路安全”。
CI/CD 不应被视为普通自动化脚本,而应视为生产级安全边界。它通常拥有:
任何在 CI 中执行的第三方代码,都应按高风险处理。
未来更可靠的供应链应具备:
SBOM、SLSA、Sigstore、cosign、npm provenance、PyPI Trusted Publishing 等机制会越来越重要,但它们必须与 workflow 隔离、最小权限和人工审批结合使用。
开源维护者需要重新审视几个问题:
TeamPCP 事件中,多数项目响应速度很快,但也暴露出一个现实:即使窗口只有几十分钟,全球自动化构建系统也可能已经拉取并执行了恶意版本。
安全团队应重点补齐以下能力:
未来供应链事件处置的关键不是“是否知道 IOC”,而是“能否快速判断自己是否执行过恶意代码,以及哪些凭据可能泄露”。
TeamPCP 不是一次单点攻击,而是一场围绕现代软件供应链展开的连续战役。它把开发者工具、CI/CD、包管理器、云凭据、GitHub Actions 和 AI 工具链串成一条可被攻击者利用的路径。
从 Trivy 到 KICS,从 LiteLLM 到 Telnyx,从 Bitwarden 到 TanStack,TeamPCP 的演进轨迹越来越清晰:
这说明供应链攻击正在进入更体系化、更自动化、更隐蔽的阶段。对于企业和开源社区而言,真正的防御重点不只是“不要安装恶意包”,而是要重新设计软件从源码到构建、发布、部署、运行的信任链。
类别 | 名称 | 链接 |
|---|---|---|
Wiz | Trivy Compromised by TeamPCP | https://www.wiz.io/blog/trivy-compromised-teampcp-supply-chain-attack |
Wiz | KICS GitHub Action Compromised: TeamPCP Supply Chain Attack | https://www.wiz.io/blog/teampcp-attack-kics-github-action |
Wiz | LiteLLM TeamPCP Supply Chain Attack: Malicious PyPI Packages | https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign |
Wiz | Supply Chain Campaign Targets SAP npm Packages with Credential-Stealing Malware | https://www.wiz.io/blog/mini-shai-hulud-supply-chain-sap-npm |
Wiz | Mini Shai-Hulud Strikes Again: TanStack + more npm Packages Compromised | https://www.wiz.io/blog/mini-shai-hulud-strikes-again-tanstack-more-npm-packages-compromised |
Socket.dev | CanisterWorm: npm Publisher Compromise Deploys Backdoor Across 29+ Packages | https://socket.dev/blog/canisterworm-npm-publisher-compromise-deploys-backdoor-across-29-packages |
Socket.dev | Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware | https://socket.dev/blog/namastex-npm-packages-compromised-canisterworm |
Docker | Trivy, KICS, and the shape of supply chain attacks so far in 2026 | https://www.docker.com/blog/trivy-kics-and-the-shape-of-supply-chain-attacks-so-far-in-2026/ |
LiteLLM | Security Update: Suspected Supply Chain Incident | https://docs.litellm.ai/blog/security-update-march-2026 |
GitHub Issue | LiteLLM Issue #24512 | https://github.com/BerriAI/litellm/issues/24512 |
GitHub Issue | Telnyx Python SDK Issue #235 | https://github.com/team-telnyx/telnyx-python/issues/235 |
Checkmarx | Ongoing Checkmarx Supply Chain Security Incident | https://checkmarx.com/blog/ongoing-security-updates/ |
Bitwarden | Bitwarden Statement on Checkmarx Supply Chain Incident | https://community.bitwarden.com/t/bitwarden-statement-on-checkmarx-supply-chain-incident/96127 |
GitHub Issue | Bitwarden CLI Issue #20353 | https://github.com/bitwarden/clients/issues/20353 |
Lightning AI | PyTorch Lightning Supply Chain Attack | https://lightning.ai/blog/pytorch-lightning-supply-chain-attack |
TanStack | Postmortem: TanStack npm supply-chain compromise | https://tanstack.com/blog/npm-supply-chain-compromise-postmortem |
Rami McCarthy | Incident Timeline: TeamPCP Supply Chain Campaign | https://ramimac.me/teampcp/ |
本章汇总公开资料中的主要 IOC,便于安全团队按网络、文件、包版本、哈希和行为特征进行排查。
指标 | 类型 | 关联事件 |
|---|---|---|
scan.aquasecurtiy[.]org | C2 / typosquat 域名 | Trivy |
45.148.10.212 | IP | Trivy C2 |
tdtqy-oyaaa-aaaae-af2dq-cai.raw.icp0.io | ICP Canister C2 | Trivy / CanisterWorm |
tdtqy-oyaaa-aaaae-af2dq-cai | ICP Canister ID | CanisterWorm |
plug-tab-protective-relay.trycloudflare.com | Cloudflare Tunnel | Aqua 凭据外传 |
checkmarx[.]zone | C2 / 外传域名 | KICS / LiteLLM |
83.142.209.11 | IP | checkmarx[.]zone |
models.litellm[.]cloud | 外传域名 | LiteLLM |
83.142.209.203 | IP | Telnyx |
83.142.209.203:8080/ringtone.wav | Payload URL | Telnyx Linux/macOS |
83.142.209.203:8080/hangup.wav | Payload URL | Telnyx Windows |
audit.checkmarx[.]cx | 外传域名 | KICS Docker Hub |
checkmarx.cx | 域名 | Checkmarx 后续公告 |
updates.checkmarx.cx | 域名 | Checkmarx 后续公告 |
91.195.240.123 | IP | Checkmarx 后续公告 |
94.154.172.43 | IP | Checkmarx / Mini Shai-Hulud |
94.154.172.183 | IP | Checkmarx 后续公告 |
zero.masscan.cloud | 域名 | Mini Shai-Hulud |
telemetry.api-monitor[.]com | 域名 | Namastex / CanisterSprawl |
cjn37-uyaaa-aaaac-qgnva-cai.raw.icp0[.]io/drop | ICP C2 | Namastex / CanisterSprawl |
git-tanstack[.]com | C2 / typosquat 域名 | TanStack / Mini Shai-Hulud |
git-tanstack[.]com/tmp/transformers.pyz | PyPI 变种载荷 URL | Mistral / guardrails-ai |
https://litter.catbox.moe/h8nc9u.js | 二阶段载荷 URL | TanStack |
https://litter.catbox.moe/7rrc6l.mjs | 二阶段载荷 URL | TanStack |
filev2.getsession.org | Session 文件服务器 | TanStack |
seed1.getsession.org | Session seed | TanStack |
seed2.getsession.org | Session seed | TanStack |
seed3.getsession.org | Session seed | TanStack |
83.142.209[.]194 | IP | TanStack Python 变种 |
路径 / 文件 | 关联事件 | 说明 |
|---|---|---|
tpcp.tar.gz | 多事件 | 被盗数据归档名 |
~/.config/systemd/user/sysmon.py | Trivy | 持久化脚本 |
~/.config/systemd/user/sysmon.service | Trivy / KICS | systemd 用户服务 |
/root/.config/sysmon/sysmon.py | KICS / K8s | 节点后门 |
/root/.config/systemd/user/sysmon.service | KICS / K8s | 节点持久化服务 |
/tmp/pglog | Trivy / CanisterWorm | 下载执行路径 |
/tmp/.pg_state | CanisterWorm | 状态文件 |
~/.local/share/pgmon/service.py | CanisterWorm | Python dropper |
~/.config/systemd/user/pgmon.service | CanisterWorm | systemd 用户服务 |
litellm_init.pth | LiteLLM | Python 启动自动执行 |
p.py | LiteLLM | 写入磁盘的 payload |
telnyx/_client.py | Telnyx | 被注入恶意代码 |
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe | Telnyx | Windows 持久化 |
setup.mjs | Mini Shai-Hulud | Bun 下载器 |
execution.js | Mini Shai-Hulud | 主 payload |
.claude/execution.js | Mini Shai-Hulud | Claude Code 持久化 |
.claude/setup.mjs | Mini Shai-Hulud | Claude Code 下载器 |
.claude/settings.json | Mini Shai-Hulud | SessionStart hook |
.vscode/tasks.json | Mini Shai-Hulud | VS Code folderOpen 触发 |
.vscode/setup.mjs | Mini Shai-Hulud | VS Code 下载器 |
router_init.js | TanStack | 约 2.3MB 混淆 payload |
router_runtime.js | TanStack / Lightning | 运行时 artifact |
tanstack_runner.js | TanStack | 运行时 artifact |
start.py | Lightning | 恶意 Python 入口文件 |
~/Library/LaunchAgents/com.user.gh-token-monitor.plist | TanStack | macOS 持久化 |
~/.config/systemd/user/gh-token-monitor.service | TanStack | Linux 持久化 |
Trivy 备用外传仓库名v0.69.40.69.5、0.69.6trivy-action 多数历史 tag 被覆盖setup-trivy 7 个 tag 被覆盖@emilgroup/account-sdk 1.41.1、1.41.2@emilgroup/account-sdk-node 1.40.1、1.40.2@emilgroup/billing-sdk 1.56.1、1.56.2@emilgroup/insurance-sdk 1.97.1、1.97.2@teale.io/eslint-config 1.8.9、1.8.10v1、v1.0、v1.1、v1.2–v1.7.0、v2、v2.0.0、v2.1.0–v2.1.20ast-results v2.53.0cx-dev-assist v1.7.0ast-github-action 至少 2.3.28,后续公告中还出现 2.3.35latest、alpine、debian、v2.1.20、v2.1.20-debian、v2.1.21、v2.1.21-debiancheckmarx-ast-scanner-2026.5.09litellm==1.82.7litellm==1.82.8telnyx==4.87.1telnyx==4.87.2@bitwarden/cli@2026.4.0@cap-js/sqlite@2.2.2@cap-js/postgres@2.2.2@cap-js/db-service@2.10.1mbt@1.2.48intercom-client@7.0.5lightning@2.6.2lightning@2.6.3@automagik/genie 4.260421.33 至 4.260421.39pgserve 1.1.11、1.1.12、1.1.13@fairwords/websocket 1.0.38、1.0.39@fairwords/loopback-connector-es 1.4.3、1.4.4@openwebconcept/design-tokens@1.0.3@openwebconcept/theme-owc@1.0.3@tanstack/history@1.161.9、1.161.12@tanstack/react-router@1.169.5、1.169.8@tanstack/router-core@1.169.5、1.169.8@tanstack/router-cli@1.166.46、1.166.49@tanstack/* 包、84 个版本@uipath/* 多个包@mistralai/mistralai 2.2.2、2.2.3、2.2.4mistralai@2.4.6guardrails-ai@0.10.1@squawk/*、@tallyui/*、cmux-agent-mcp、nextmove-mcp 等多个包litellm_init.pth RECORD SHA256:ceNa7wMJnNHy1kRnNCcwJaFjWX3pORLfMh7xGL8TUjgtelnyx-4.87.1-py3-none-any.whl SHA256:7321caa303fe96ded0492c747d2f353c4f7d17185656fe292ab0a59e2bd0b8d9telnyx-4.87.2-py3-none-any.whl SHA256:cd08115806662469bbedec4b03f8427b97c8a4b3bc1442dc18b72b4e19395fe3ast-results-2.53.0.vsix SHA256:65bd72fcddaf938cefdf55b3323ad29f649a65d4ddd6aea09afa974dfc7f105dcx-dev-assist-1.7.0.vsix SHA256:744c9d61b66bcd2bb5474d9afeee6c00bb7e0cd32535781da188b80eb59383e0checkmarx-util-1.0.4.tgz SHA256:0d66d8c7e02574ff0d3443de0585af19c903d12466d88573ed82ec788655975cenvironmentAuthChecker.js SHA256:527f795a201a6bc114394c4cfd1c74dce97381989f51a4661aafbc93a4439e90alpine / v2.1.20 / v2.1.21:
sha256:2588a44890263a8185bd5d9fadb6bc9220b60245dbcbc4da35e1b62a6f8c230dsha256:d186161ae8e33cd7702dd2a6c0337deb14e2b178542d232129c0da64b1af06e4sha256:415610a42c5b51347709e315f5efb6fffa588b6ebc1b95b24abf28088347791bdebian / v2.1.20-debian / v2.1.21-debian:
sha256:222e6bfed0f3bb1937bf5e719a2342871ccd683ff1c0cb967c8e31ea58beaf7bsha256:a6871deb0480e1205c1daff10cedf4e60ad951605fd1a4efaca0a9c54d56d1cbsha256:ff7b0f114f87c67402dfc2459bb3d8954dd88e537b0e459482c04cffa26c1f07latest:
sha256:a0d9366f6f0166dcbf92fcdc98e1a03d2e6210e8d7e8573f74d50849130651a0sha256:26e8e9c5e53c972997a278ca6e12708b8788b70575ca013fd30bfda34ab5f48fsha256:7391b531a07fccbbeaf59a488e1376cfe5b27aef757430a36d6d3a087c610322checkmarx-ast-scanner-2026.5.09.hpi SHA256:01ff1e56fd59a8fa525d97e670f7f297a1a204331b89b2cd4e36a9abc6419203checkmarx-ast-scanner-2026.5.09.jar SHA256:f50a96d26a5b0beb29de4127e82b2bf350c21511e5a43d286e43f798dc6cd53fcheckmarx-ast-scanner-2026.5.09.pom SHA256:3ddb8967919a801b3c383e58cddceab21138134c6a26560d99e2672e86f36f2arouter_runtime.js SHA256:5f5852b5f604369945118937b058e49064612ac69826e0adadca39a357dfb5b1start.py SHA256:8046a11187c135da6959862ff3846e99ad15462d2ec8a2f77a30ad53ebd5dcf2router_init.js SHA256:ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266crouter_init.js SHA256:2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96setup.mjs SHA256:2258284d65f63829bd67eaba01ef6f1ada2f593f9bbe41678b2df360bd90d3df/proc/*/mem。tpcp.tar.gz。tpcp-docs、docs-tpcp 或 Dune 主题仓库。preinstall、postinstall、prepare。optionalDependencies 指向陌生 GitHub commit。.pth 文件。pgmon、sysmon、gh-token-monitor 用户服务。checkmarx[.]zone、git-tanstack[.]com、*.getsession.org。KICS-Telemetry/2.0 User-Agent。import lightning 后出现异常后台线程、Bun 下载或大型混淆 JavaScript 执行。
END
更多精彩内容点击下方扫码关注哦~
关注云鼎实验室,获取更多安全情报
