Kẻ tấn công lợi dụng GitHub issues để thực hiện chiến dịch chuỗi cung ứng
"Researchers discovered a coordinated supply chain attack targeting 61 public GitHub repositories, including projects like Google LangExtract and Trivy. Attackers exploited GitHub issue/pull request functionality to trigger vulnerable CI/CD workflows, attempting to steal credentials and potentially modify code. Mitigation involves least-privilege access, isolating workflows, and treating external content as untrusted."
Chiến dịch này cho thấy chuỗi cung ứng phần mềm là một mục tiêu hấp dẫn cho kẻ tấn công. Việc đánh cắp thông tin xác thực có thể dẫn đến việc kiểm soát mã nguồn và xâm nhập hệ thống.
Các doanh nghiệp sử dụng các dự án bị ảnh hưởng có thể gặp phải gián đoạn hoạt động và mất dữ liệu. Việc khắc phục lỗ hổng và đảm bảo tính toàn vẹn của chuỗi cung ứng đòi hỏi chi phí và nguồn lực đáng kể.
Radware phát hiện chiến dịch tấn công chuỗi cung ứng nhắm vào 61 kho lưu trữ công khai trên GitHub, bao gồm Google LangExtract và Trivy, trong vòng chưa đầy một giờ. Kẻ tấn công khai thác chức năng issue/pull request để kích hoạt các workflow CI/CD dễ bị tấn công, nhằm đánh cắp thông tin xác thực và có thể sửa đổi mã nguồn.
Đây là vấn đề các kỹ sư và doanh nghiệp Việt Nam cần quan tâm vì nhiều dự án mã nguồn mở phổ biến đang sử dụng GitHub. Việc bảo mật chuỗi cung ứng phần mềm là rất quan trọng để tránh bị xâm nhập và mất dữ liệu.
Chiến dịch diễn ra nhanh chóng: Hầu hết (77) các mục độc hại được đăng vào ngày 1 tháng 9, trong vòng 43 phút, và 6 mục còn lại trong hai phút tiếp theo. Kẻ tấn công sử dụng 74 tài khoản GitHub khác nhau, nhiều tài khoản có lịch sử phát triển hợp lệ, cho thấy chúng có thể đã bị xâm phạm.
Cách thức tấn công: Kẻ tấn công đăng issue, pull request hoặc comment chứa mã độc ẩn trong HTML comment. GitHub event (như pull request hoặc issue) có thể tự động kích hoạt workflow nếu kho lưu trữ được cấu hình để phản hồi event đó. Workflow sẽ thực thi mã độc, thu thập biến môi trường và cố gắng gửi chúng đến máy chủ do kẻ tấn công kiểm soát. Radware xác nhận đã tìm thấy bằng chứng về việc mã độc chạy trong môi trường tự động hóa.
Các dự án bị ảnh hưởng: Các kho lưu trữ bị ảnh hưởng bao gồm agno-agi/agno (42.7K stars), ToolJet/ToolJet (41.1K), google/langextract (38.9K), aquasecurity/trivy (38.4K), Brave browser và MLflow. Danh sách đầy đủ tại https://www.theregister.com/2023/10/29/github_supply_chain_attack/.
Radware đã thông báo cho người bảo trì dự án, và hầu hết các kho lưu trữ đã bị đóng hoặc sửa lỗi. Tuy nhiên, họ không thể xác nhận rằng tất cả các lỗ hổng đã được khắc phục.
Câu hỏi thường gặp
Chiến dịch tấn công này diễn ra như thế nào?
Kẻ tấn công lợi dụng chức năng issue/pull request của GitHub để kích hoạt các workflow CI/CD dễ bị tấn công. Mã độc được ẩn trong HTML comment để tránh bị phát hiện.
Những dự án nào bị ảnh hưởng?
Chiến dịch nhắm vào 61 kho lưu trữ công khai, bao gồm Google LangExtract, Trivy, Brave browser và MLflow. Danh sách đầy đủ có tại https://www.theregister.com/2023/10/29/github_supply_chain_attack/.
Làm thế nào để ngăn chặn các cuộc tấn công tương tự?
Radware khuyến nghị áp dụng nguyên tắc ít đặc quyền nhất cho workflow CI/CD, tách workflow kích hoạt bởi event bên ngoài khỏi các công việc có quyền cao hơn, và coi nội dung bên ngoài là không đáng tin cậy.
Góc nhìn của Orange Cloud
Theo chúng tôi, chiến dịch này cho thấy tầm quan trọng của việc bảo mật chuỗi cung ứng phần mềm. Các doanh nghiệp Việt Nam sử dụng các dự án mã nguồn mở cần kiểm tra kỹ các dependency và đảm bảo rằng chúng không bị xâm phạm. Điều đáng chú ý là kẻ tấn công không cần quyền truy cập vào codebase để thực hiện cuộc tấn công này, điều này làm tăng nguy cơ cho các dự án phổ biến.