Các nhà nghiên cứu an ninh mạng đã cảnh báo về một phiên bản mới của chiến dịch GlassWorm mà họ cho rằng đại diện cho một "sự leo thang đáng kể" trong cách nó lây lan qua kho lưu trữ Open VSX.
"Thay vì yêu cầu mọi danh sách độc hại nhúng trực tiếp trình tải, tác nhân đe dọa hiện đang lạm dụng extensionPack và extensionDependencies để biến các tiện ích mở rộng ban đầu có vẻ độc lập thành các phương tiện phân phối chuyển tiếp trong các bản cập nhật sau này, cho phép một gói có vẻ lành tính bắt đầu kéo một tiện ích mở rộng liên quan đến GlassWorm riêng biệt chỉ sau khi lòng tin đã được thiết lập."
Công ty an ninh chuỗi cung ứng phần mềm Socket cho biết trong một báo cáo được công bố vào thứ Sáu.
Socket cho biết họ đã phát hiện ít nhất 72 tiện ích mở rộng Open VSX độc hại bổ sung kể từ ngày 31 tháng 1 năm 2026, nhắm mục tiêu vào các nhà phát triển. Các tiện ích mở rộng này mô phỏng các tiện ích dành cho nhà phát triển được sử dụng rộng rãi, bao gồm linters và formatters, code runners, cùng các công cụ hỗ trợ mã hóa bằng trí tuệ nhân tạo (AI) như Clade Code và Google Antigravity.
Tên của một số tiện ích mở rộng được liệt kê dưới đây. Open VSX đã thực hiện các bước để xóa chúng khỏi registry -
- angular-studio.ng-angular-extension
- crotoapp.vscode-xml-extension
- gvotcha.claude-code-extension
- mswincx.antigravity-cockpit
- tamokill12.foundry-pdf-extension
- turbobase.sql-turbo-tool
- vce-brendan-studio-eich.js-debuger-vscode
GlassWorm là tên được đặt cho một chiến dịch malware đang diễn ra đã nhiều lần xâm nhập vào Microsoft Visual Studio Marketplace và Open VSX bằng các tiện ích mở rộng độc hại được thiết kế để đánh cắp secrets và rút tiền từ các cryptocurrency wallets, cũng như lạm dụng các hệ thống bị nhiễm làm proxies cho các hoạt động tội phạm khác.
Mặc dù hoạt động này lần đầu tiên được cảnh báo bởi Koi Security vào tháng 10 năm 2025, nhưng các npm packages sử dụng cùng một chiến thuật – đặc biệt là việc sử dụng các Unicode characters ẩn để che giấu malicious code – đã được xác định từ tháng 3 năm 2025.
Phiên bản mới nhất vẫn giữ nhiều đặc điểm liên quan đến GlassWorm: chạy các kiểm tra để tránh lây nhiễm các hệ thống có cài đặt ngôn ngữ (locale) tiếng Nga và sử dụng các giao dịch Solana làm dead drop resolver để lấy server command-and-control (C2) nhằm cải thiện khả năng phục hồi.
Tuy nhiên, bộ tiện ích mở rộng mới cũng có tính năng obfuscation nặng hơn và xoay vòng các Solana wallets để né tránh detection, cũng như lạm dụng các mối quan hệ tiện ích mở rộng để triển khai các payloads độc hại, tương tự như cách các npm packages dựa vào các dependencies giả mạo để hoạt động mà không bị phát hiện. Bất kể một tiện ích mở rộng được khai báo là "extensionPack" hay "extensionDependencies" trong tệp "package.json" của tiện ích mở rộng, trình chỉnh sửa vẫn sẽ cài đặt mọi tiện ích mở rộng khác được liệt kê trong đó.
Khi làm như vậy, chiến dịch GlassWorm sử dụng một tiện ích mở rộng làm installer cho một tiện ích mở rộng khác độc hại. Điều này cũng mở ra các kịch bản supply chain attack mới khi kẻ tấn công ban đầu tải lên một VS Code extension hoàn toàn vô hại lên marketplace để vượt qua quá trình kiểm duyệt, sau đó nó được cập nhật để liệt kê một gói liên quan đến GlassWorm làm dependency.
"Kết quả là, một tiện ích mở rộng ban đầu có vẻ không chuyển tiếp và tương đối lành tính khi xuất bản lần đầu có thể sau đó trở thành một phương tiện phân phối GlassWorm chuyển tiếp mà không có bất kỳ thay đổi nào đối với mục đích rõ ràng của nó."
Socket cho biết.
Trong một cảnh báo đồng thời, Aikido đã gán tác nhân đe dọa GlassWorm cho một chiến dịch quy mô lớn đang lây lan trên các open-source repositories, với những kẻ tấn công chèn vào nhiều repositories khác nhau các Unicode characters ẩn để mã hóa một payload. Mặc dù nội dung không hiển thị khi được tải vào các code editors và terminals, nó giải mã thành một loader chịu trách nhiệm tìm nạp và thực thi một script giai đoạn hai để đánh cắp tokens, credentials và secrets.
Ước tính không dưới 151 GitHub repositories đã bị ảnh hưởng như một phần của chiến dịch từ ngày 3 đến ngày 9 tháng 3 năm 2026. Ngoài ra, kỹ thuật Unicode tương tự đã được triển khai trong hai npm packages khác nhau, cho thấy một nỗ lực phối hợp, đa nền tảng -
- @aifabrix/miso-client
- @iflow-mcp/watercrawl-watercrawl-mcp
"Các injection độc hại không xuất hiện trong các commit đáng ngờ rõ ràng," nhà nghiên cứu bảo mật Ilyas Makari cho biết. "Các thay đổi xung quanh là thực tế: điều chỉnh tài liệu, tăng phiên bản, các refactor nhỏ và sửa lỗi phù hợp với phong cách của từng dự án mục tiêu. Mức độ tùy chỉnh cụ thể cho từng dự án này cho thấy mạnh mẽ rằng những kẻ tấn công đang sử dụng các large language models để tạo ra các cover commit thuyết phục."
PhantomRaven hay Thí nghiệm nghiên cứu?
Diễn biến này xảy ra khi Endor Labs cho biết họ đã phát hiện 88 npm packages độc hại mới được tải lên trong ba đợt từ tháng 11 năm 2025 đến tháng 2 năm 2026 thông qua 50 tài khoản dùng một lần. Các gói này đi kèm với chức năng đánh cắp thông tin nhạy cảm từ máy tính bị xâm nhập, bao gồm environment variables, CI/CD tokens và system metadata.
Hoạt động này nổi bật nhờ việc sử dụng Remote Dynamic Dependencies (RDD), trong đó tệp metadata "package.json" chỉ định một dependency tại một HTTP URL tùy chỉnh, từ đó cho phép các operators sửa đổi malicious code một cách nhanh chóng, cũng như bỏ qua việc kiểm tra.
Mặc dù các packages ban đầu được xác định là một phần của chiến dịch PhantomRaven, công ty an ninh ứng dụng Endor Labs đã lưu ý trong một bản cập nhật rằng chúng được tạo ra bởi một security researcher như một phần của một experiment hợp pháp – một tuyên bố mà họ đã thách thức, với ba dấu hiệu đỏ. Điều này bao gồm việc các thư viện thu thập nhiều thông tin hơn mức cần thiết, không cung cấp sự minh bạch cho người dùng và được xuất bản bởi các tên tài khoản và địa chỉ email được xoay vòng một cách có chủ ý.
Tính đến ngày 12 tháng 3 năm 2026, chủ sở hữu của các packages đã thực hiện các thay đổi bổ sung, hoán đổi payload thu thập dữ liệu được phân phối qua một số npm packages được xuất bản trong giai đoạn ba tháng bằng một thông báo đơn giản "Hello, world!".
"Mặc dù việc loại bỏ code thu thập thông tin mở rộng chắc chắn đáng hoan nghênh, nhưng nó cũng làm nổi bật những rủi ro liên quan đến URL dependencies," Endor Labs cho biết. "Khi các packages dựa vào code được lưu trữ bên ngoài npm registry, tác giả vẫn giữ toàn quyền kiểm soát payload mà không cần xuất bản phiên bản package mới. Bằng cách sửa đổi một tệp duy nhất trên server – hoặc chỉ đơn giản là tắt nó – họ có thể thay đổi hoặc vô hiệu hóa hành vi của mọi package phụ thuộc cùng một lúc một cách thầm lặng."