Chiến dịch tấn công chuỗi cung ứng qua GitHub Issues nhắm vào 61 kho mã công khai trong chưa đầy một giờ
Các nhà nghiên cứu của Radware phát hiện ít nhất 83 cuộc tấn công nhắm vào 61 kho GitHub công khai, trong đó có nhiều dự án mã nguồn mở nổi tiếng như Google LangExtract, Trivy, Brave và MLflow. Phần lớn các payload độc hại được tung ra trong vỏn vẹn 43 phút, nhằm đánh cắp thông tin xác thực và token truy cập từ môi trường CI/CD.

Chiến dịch tấn công chuỗi cung ứng qua GitHub Issues nhắm vào 61 kho mã công khai trong chưa đầy một giờ
Các chuyên gia bảo mật vừa phát hiện một chiến dịch tấn công được cho là có tổ chức, nhắm vào ít nhất 61 kho mã GitHub công khai chỉ trong một khoảng thời gian cực ngắn. Mục tiêu của kẻ tấn công là giành quyền thực thi lệnh trong môi trường CI/CD và đánh cắp thông tin xác thực, token truy cập.
Theo nhóm nghiên cứu mối đe dọa của Radware, đã có ít nhất 83 cuộc tấn công được ghi nhận nhắm vào các kho mã công khai, trong đó có nhiều dự án mã nguồn mở phổ biến như Google LangExtract, Trivy, Brave browser và MLflow. Điều đáng chú ý là phần lớn — tới 77 payload độc hại — được đăng tải chỉ trong 43 phút vào ngày 1/9, sáu trường hợp còn lại xuất hiện trong vòng hai phút sau đó.
Chuỗi tấn công tinh vi và khó phát hiện
Theo Phó chủ tịch kiêm nhà nghiên cứu của Radware, Gabi Nakibly, mục tiêu cuối cùng nhiều khả năng là một cuộc tấn công chuỗi cung ứng: kẻ tấn công giành được thông tin xác thực của kho mã, từ đó có quyền thay đổi nội dung và mã nguồn theo ý muốn, rồi đẩy các thay đổi độc hại tới những người dùng khác.
Radware nghi ngờ chỉ một cá nhân duy nhất đứng sau chiến dịch này, dù người đó đã sử dụng tới 74 tài khoản GitHub khác nhau. Nhiều tài khoản trong số này có lịch sử phát triển hợp lệ, nghĩa là rất có thể chúng đã bị chiếm đoạt.
"Xét việc hàng chục tài khoản đăng cùng một loại payload, trong cùng một ngày, trong một khung thời gian hẹp và nhắm vào cùng một hạ tầng, có thể đánh giá rằng hoạt động này được phối hợp có chủ đích", nhóm nghiên cứu viết trong báo cáo.
Điểm mới lạ nằm ở cách thức tấn công. Đầu tiên, kẻ tấn công đăng một issue, pull request hoặc bình luận chứa các lệnh độc hại được giấu trong thẻ comment HTML, khiến nội dung không hiển thị trên trang đã render. Vì một sự kiện GitHub như pull request hay issue có thể tự động kích hoạt workflow nếu kho mã được cấu hình phản hồi sự kiện đó, kẻ tấn công gần như không cần can thiệp thêm.
"Workflow tự động được kích hoạt trong vòng một giây, và nếu workflow thực sự có lỗ hổng thì cuộc tấn công sẽ được thực thi thành công", Nakibly cho biết.
Workflow sau đó đưa nội dung do kẻ tấn công kiểm soát trực tiếp vào mã nguồn shell, và shell thực thi lệnh độc hại bị ẩn đó. Lệnh này thu thập các biến môi trường và cố gắng đưa chúng ra ngoài tới một máy chủ do kẻ tấn công điều khiển.
Những dự án lớn bị nhắm tới
Tính đến ngày 13/10, nhóm nghiên cứu đã xác định được 83 mục GitHub chứa payload đã được xác minh trên 61 kho mã khác nhau. Các kho mã này trải rộng từ khung AI, công cụ bảo mật, hạ tầng phát triển cho đến cơ sở dữ liệu và nhiều dự án mã nguồn mở được sử dụng rộng rãi.
Một số dự án phổ biến bị nhắm tới bao gồm:
- agno-agi/agno (42,7K sao)
- ToolJet/ToolJet (41,1K sao)
- google/langextract (38,9K sao)
- aquasecurity/trivy (38,4K sao)
- CopilotKit/CopilotKit (38K sao)
- podman-container-tools/podman (33K sao)
- QwenLM/qwen-code (28,5K sao)
- mlflow/mlflow (28,4K sao)
- discordjs/discord.js (26,8K sao)
- cilium/cilium (25,6K sao)
- brave/brave-browser (23,9K sao)
- github/docs (21K sao)
"Những dự án này được hàng nghìn tổ chức sử dụng", nhà nghiên cứu Zvika Babo nhấn mạnh.
Nhóm nghiên cứu đã thông báo phát hiện của mình tới người duy trì của tất cả các dự án liên quan, và phần lớn kho mã đã được đóng hoặc vá lỗi, dù họ chưa thể xác nhận toàn bộ.
Bài học cho các đội phát triển
Theo các nhà nghiên cứu, mặc dù họ đã xem nhật ký của các lần chạy thực tế và tìm thấy hai trường hợp có bằng chứng lệnh độc hại đã chạy bên trong môi trường tự động hóa, họ chưa thể khẳng định chắc chắn liệu kẻ tấn công có giành được quyền ghi vào kho mã, sửa đổi mã nguồn hay làm lây nhiễm phần mềm phía sau hay không.
Chiến dịch này nối tiếp hàng loạt vụ tấn công chuỗi cung ứng nhắm vào công cụ phát triển và bảo mật mã nguồn mở trước đó, cho thấy kẻ tấn công ngày càng tìm cách mới để đánh cắp thông tin xác thực và các bí mật khác.
"Không có cách nào ngăn kẻ tấn công cố gắng thực hiện. Cách duy nhất là đảm bảo mã workflow có khả năng chống chịu và không bị tổn thương trước những kiểu tấn công như vậy", Nakibly kết luận.
Các khuyến nghị dành cho đội phát triển:
- Áp dụng nguyên tắc đặc quyền tối thiểu (least privilege) cho các workflow CI/CD
- Tách biệt workflow được kích hoạt bởi sự kiện bên ngoài khỏi các tác vụ có quyền hạn cao
- Coi nội dung từ bên ngoài là không đáng tin cậy
- Giới hạn số bí mật và biến môi trường mà workflow được phép truy cập
Với cộng đồng lập trình viên Việt Nam đang ngày càng tham gia sâu vào các dự án mã nguồn mở trên GitHub, đây là lời cảnh báo thiết thực: cấu hình chặt chẽ workflow tự động và kiểm soát quyền truy cập không chỉ bảo vệ dự án mà còn bảo vệ toàn bộ chuỗi cung ứng phần mềm phía sau.

