Microsoft khôi phục một số kho lưu trữ GitHub sau vụ tấn công mã độc Miasma

Microsoft xác nhận đã tạm thời gỡ bỏ một số kho lưu trữ GitHub sau sự cố bảo mật khiến 73 dự án mã nguồn mở bị xâm nhập để chèn mã độc đánh cắp thông tin (information stealer). Đại diện Microsoft cho biết ưu tiên hàng đầu là bảo vệ khách hàng và đang tiến hành điều tra chi tiết chiến dịch tấn công chuỗi cung ứng mang tên Miasma.
Microsoft GitHub Security Incident

Microsoft vào hôm thứ Hai đã xác nhận rằng họ đã tạm thời gỡ bỏ một số kho lưu trữ GitHub nhằm ứng phó với một sự cố bảo mật gần đây, khiến 73 dự án mã nguồn mở của họ bị xâm nhập để chèn một information stealer vào mã nguồn.

"Ưu tiên của chúng tôi là bảo vệ khách hàng và hệ sinh thái rộng lớn hơn," một phát ngôn viên của Microsoft chia sẻ với The Hacker News qua email. "Chúng tôi đã tạm thời gỡ bỏ một số kho lưu trữ trong khi điều tra các nội dung độc hại tiềm ẩn. Một số kho lưu trữ này đã được khôi phục sau khi xem xét, trong khi những kho lưu trữ khác có thể vẫn duy trì ngoại tuyến khi quá trình xử lý tiếp tục."
"Là một phần của cuộc điều tra, chúng tôi đã thông báo cho một số ít khách hàng có thể đã tải xuống nội dung từ các kho lưu trữ bị ảnh hưởng. Chúng tôi sẽ tiếp tục điều tra và nếu phát hiện thêm bất kỳ điều gì yêu cầu khách hàng phải hành động, chúng tôi sẽ liên hệ trực tiếp thông qua các kênh hỗ trợ đã được thiết lập."

Diễn biến này xảy ra vài ngày sau khi nhà sản xuất Windows cắt quyền truy cập vào hàng chục dự án mã nguồn mở của mình được lưu trữ trên GitHub, sau các báo cáo cho thấy chúng bị xâm nhập như một phần của chiến dịch supply chain campaign đang diễn ra có tên mã là Miasma.

Trong số các dự án bị nhiễm mã độc có "durabletask", một gói Python bị xâm nhập lần đầu vào tháng trước bởi một nhóm tội phạm mạng được gọi là TeamPCP để phát tán một information stealer được thiết kế cho hệ thống Linux.

Khả năng thực thi mã tự động và tấn công chuỗi cung ứng

Phân tích sâu hơn về payload Miasma được nhúng vào các dự án đã tiết lộ khả năng kích hoạt thực thi mã tự động khi một lập trình viên vô tình mở kho lưu trữ trong một công cụ lập trình AI-powered hoặc môi trường phát triển tích hợp (IDE).

Những phát hiện này là kết quả mới nhất trong một chiến dịch supply chain campaign kéo dài, đã xâm phạm các gói mã nguồn mở được sử dụng rộng rãi để cài đặt phần mềm độc hại có khả năng lây lan sang người dùng hạ nguồn và xa hơn nữa.

Điều này bao gồm một đợt tấn công PyPI mới liên quan đến các làn sóng Mini Shai-Hulud, Miasma và Hades rộng lớn hơn, gây nhiễm thêm 23 gói phần mềm, bao gồm một số thư viện liên quan đến bioinformatics được sử dụng trong học đồ thị, kiểu hình bệnh nhân, công cụ phenopacket và quy trình làm việc khoa học.

Một số gói khác bao gồm bộ các gói có chủ đề AI và Model Context Protocol (MCP) cùng các gói kiểu typosquat như rsquests, tlask và rlask giả mạo requests và flask, cùng một gói langchain-core-mcp. Danh sách đầy đủ các gói hợp lệ và gói mồi nhử bao gồm:

  • dreamgen 1.8.1
  • embiggen 0.11.97
  • ensmallen 0.8.101
  • gpsea 0.9.14
  • instructor-mcp 1.15.2, 1.15.3
  • langchain-core-mcp 1.4.2, 1.4.3
  • mem8 6.0.1
  • mflux-streamlit 0.0.3, 0.0.4
  • openai-mcp 2.41.1, 2.41.2
  • orchestr8-platform 3.3.2
  • phenopacket-store-toolkit 0.1.7
  • ppkt2synergy 0.1.1
  • pyphetools 0.9.120
  • ray-mcp-server 0.2.1
  • rlask 3.1.7
  • rsquests 2.34.3
  • tiktoken-mcp 0.13.1, 0.13.2
  • tlask 3.1.4

Cơ chế phân phối payload mới

Cụm tấn công mới này sử dụng một cơ chế phân phối payload mới, theo Socket, cho thấy các tác nhân đe dọa đang thích nghi và tích cực thử nghiệm các phương pháp khác nhau như một phần của cái được mô tả là "chiến dịch chuỗi cung ứng diễn biến nhanh".

Trong khi các gói trước đó sử dụng các startup hooks .pth có thể thực thi để khởi động Bun và chạy một trình đánh cắp JavaScript bị obfuscated, bộ phần mềm mới nhất đã tích hợp các phương pháp khác nhau:

  • Các tiện ích mở rộng .abi3.so gốc bị chèn mã độc (trojanized) sẽ thực thi trình đánh cắp khi gói được nhập (import).
  • Một biến thể startup hook loader .pth tìm kiếm trong sys.path payload "_index.js" thay vì đóng gói payload trong cùng một wheel.

"Biến thể cuối cùng đó tách biệt loader khỏi payload JavaScript, điều này có thể làm cho gói trông ít độc hại hơn trong quá trình phân tích tĩnh," Socket cho biết.

Bất kể phương pháp nào được sử dụng, kết quả cuối cùng đều giống nhau. Sau khi thực thi, mã độc sẽ nhắm mục tiêu vào máy trạm của lập trình viên và môi trường CI/CD, thu thập các bí mật (secrets) có giá trị cao và chuyển chúng ra ngoài (exfiltrating) tới một kho lưu trữ GitHub công khai.

Một khả năng quan trọng của gói bioinformatics là khả năng làm chệch hướng và vượt qua các trình quét AI-powered và analyst copilots bằng một adversarial prompt injection được nhúng bên trong một khối chú thích JavaScript.

"Nhánh Hades của hoạt động Shai-Hulud và Miasma được hiểu rõ nhất là một chiến dịch chuỗi cung ứng diễn biến nhanh, không phải là một sự cố đơn lẻ của một gói phần mềm," nhà nghiên cứu Kirill Boychenko của Socket cho biết. "Biến thể langchain-core-mcp còn tiến xa hơn bằng cách cài đặt một loader .pth tìm kiếm sys.path cho _index.js, nghĩa là loader và payload không cần phải nằm trong cùng một wheel."