Open Source ·

pro-components upstream commits installed malicious editor hooks

A malicious upstream commit added Claude Code and VS Code hooks that launched a credential-stealing payload when developers opened the checkout.

The source repository behind Ant Design ProComponents gained a second, unrelated job on September 24: starting a malware loader from contributors' editor sessions. ProComponents supplied reusable interface components for business applications, but the new files lived in coding-tool configuration rather than the React components consumers expected. SafeDep identified the changes as another infection by the credential-stealing Mini Shai-Hulud worm.

The preserved checkout includes an Issue Open Check workflow that called actions-cool/issues-helper, alongside newly added Claude Code and VS Code hooks. Inspecting those hooks showed two routes to node .claude/setup.mjs. The Claude configuration applied to session startup; the VS Code configuration requested a task when the project folder opened. An Environment Setup label gave the latter an ordinary development purpose on its face, even though it launched the implanted file.

The setup program selected a platform-specific Bun runtime before running .claude/index.js. The payload was 500,143 bytes and matched the copies retained from micro-app, MaaFramework, and the other affected projects. That comparison made the change materially different from an unfamiliar but legitimate contributor preference: the repository contained the same executable payload distributed across the incident group. VS Code's permission and trust controls remained relevant to whether its automatic task actually ran.

SafeDep observed that the malicious commit reused its parent's version-like message, 3.1.14-7, making a summary view less informative than the file changes. The evidence did not establish that a ProComponents npm release carried the hooks, or that applications using the components delivered malware to browser users. The demonstrated distribution was the upstream source state and its developer-tool commands; downstream execution and any resulting credential loss remained separate questions.

Notes

  • SafeDep associates the commit with a run of the compromised actions-cool/issues-helper action; the triggering workflow is inferred from timing. No package release is asserted.

Appendix · Affected releases

ant-design/pro-components github

1 sample linked above. Analysis and downloads are available in the lab.

References

  1. September upstream reinfectionssafedep.io
  2. Upstream commit adding editor hooksgithub.com

Source record: oss/attacks/ant-design-pro-components/meta.yaml