Cuộc Tấn Công Chuỗi Cung Ứng Lớn Trên NPM Xâm Nhập Hơn 40 Gói Bao Gồm Thư Viện Tinycolor Phổ Biến

Nhóm Cộng đồng BigGo
Cuộc Tấn Công Chuỗi Cung Ứng Lớn Trên NPM Xâm Nhập Hơn 40 Gói Bao Gồm Thư Viện Tinycolor Phổ Biến

Một cuộc tấn công chuỗi cung ứng tinh vi đã xâm nhập vào hệ sinh thái NPM , xâm phạm hơn 40 gói và ảnh hưởng đến hàng triệu nhà phát triển trên toàn thế giới. Cuộc tấn công nhắm vào gói @ctri/tinycolor phổ biến, có 2,2 triệu lượt tải xuống hàng tuần, cùng với hàng chục gói khác trải rộng trên nhiều người duy trì.

Mã độc hoạt động bằng cách tự động tải xuống các kho lưu trữ gói, tiêm các script có hại và xuất bản lại chúng để lan truyền nhiễm trùng rộng hơn. Điều này tạo ra một hệ thống tự lan truyền có thể xâm phạm các gói phụ thuộc mà không cần sự can thiệp trực tiếp từ kẻ tấn công.

Ví dụ về các gói bị tấn công:

  • @ctri/tinycolor (2.2 triệu lượt tải xuống hàng tuần)
  • @ctri/delegate.2.2
  • @ctri/ngx-codemirror9.0.2
  • encounter-playground9.0.5
  • ngx-color91.0.2
  • react-complate-image9.0.30

Chiến Dịch Thu Thập Thông Tin Xác Thực

Mục tiêu chính của cuộc tấn công dường như là đánh cắp thông tin xác thực nhạy cảm từ môi trường phát triển. Phần mềm độc hại triển khai TruffleHog , một công cụ bảo mật hợp pháp, để quét hệ thống tệp tìm kiếm các token có giá trị và thông tin xác thực đám mây. Nó đặc biệt nhắm vào các token xuất bản NPM , khóa bí mật AWS và token truy cập GitHub .

Điều khiến cuộc tấn công này đặc biệt nguy hiểm là khả năng xác thực thông tin xác thực bị đánh cắp trong thời gian thực. Phần mềm độc hại kiểm tra các token NPM với các điểm cuối xác thực và sử dụng token GitHub để tương tác với các kho lưu trữ, có khả năng cho phép kẻ tấn công xuất bản các bản cập nhật độc hại cho các gói hợp pháp.

Thông tin đăng nhập được nhắm mục tiêu:

  • NPM_TOKEN và NPM_TOKEN_AMG
  • AWS_SECRET_ACCESS_KEY và ACCESS_KEY_ID
  • Token truy cập cá nhân của GitHub
  • Thông tin đăng nhập metadata đám mây từ các agent xây dựng

Phản Ứng Cộng Đồng và Thách Thức Phát Hiện

Cộng đồng bảo mật đã nêu lên mối lo ngại về tần suất của những cuộc tấn công như vậy, với đây là cuộc xâm nhập NPM lớn thứ hai trong một tuần. Các nhà phát triển đang đặt câu hỏi về các biện pháp bảo mật của nền tảng và kêu gọi các biện pháp bảo vệ mạnh mẽ hơn.

Đã có những đề xuất thực tế có thể ngăn chặn điều này nhưng NPM vẫn chưa áp dụng: Ngăn chặn việc xuất bản các phiên bản gói mới trong 24–48 giờ sau khi thông tin xác thực tài khoản được thay đổi, Yêu cầu hỗ trợ khóa bảo mật.

Cuộc tấn công ban đầu được phát hiện bởi các hệ thống tự động, dẫn đến một số nhầm lẫn về tính hợp pháp của nó. Tuy nhiên, các nhà nghiên cứu bảo mật đã xác nhận mối đe dọa là có thật và đang lan truyền tích cực. Việc phát hiện này làm nổi bật cả giá trị của việc giám sát tự động và nhu cầu xác minh con người đối với các cảnh báo bảo mật.

Các Biện Pháp Bảo Vệ Tức Thì

Các chuyên gia bảo mật khuyến nghị một số bước tức thì cho các nhà phát triển bị ảnh hưởng. Biện pháp bảo vệ ngắn hạn hiệu quả nhất bao gồm việc vô hiệu hóa việc thực thi script tự động trong quá trình cài đặt gói, điều này ngăn chặn mã độc chạy ngay lập tức.

Các tổ chức sử dụng các gói bị ảnh hưởng nên kiểm tra môi trường phát triển và hệ thống CI/CD của họ để tìm dấu hiệu đánh cắp thông tin xác thực. Bất kỳ hệ thống nào đã cài đặt các phiên bản bị xâm phạm nên được coi là có khả năng bị xâm phạm, với tất cả các token và bí mật liên quan cần được xoay vòng.

Cuộc tấn công này chứng minh tính dễ bị tổn thương liên tục của các chuỗi cung ứng mã nguồn mở và nhu cầu về các biện pháp bảo mật mạnh mẽ hơn trong các hệ thống quản lý gói. Khi kẻ tấn công ngày càng nhắm vào các thành phần cơ sở hạ tầng quan trọng này, cộng đồng phát triển phải điều chỉnh các thực hành bảo mật của mình để phù hợp với bối cảnh đe dọa đang phát triển.

Tham khảo: Popular Tinycolor npm Package Compromised in Supply Chain Attack Affecting 40+ Packages