-
09/04/2020
-
128
-
1.778 bài viết
Chiến dịch prt-scan lợi dụng GitHub Actions để đánh cắp token và dữ liệu nhạy cảm
Chiến dịch tấn công tinh vi nhắm trực tiếp vào các dự án mã nguồn mở trên GitHub, lợi dụng cập nhật CI Build để chèn mã độc và đánh cắp token, thông tin đăng nhập cùng bí mật trên nền tảng cloud. Chiến dịch, được gọi tạm là prt-scan, khai thác trigger workflow trong GitHub Actions thường bị sử dụng sai, nhắm vào các nhà phát triển vô tình kích hoạt pull request độc hại.
Chiến dịch lần đầu xuất hiện vào ngày 11/3/2026 khi tài khoản GitHub testebefore gửi các PR độc hại đến những kho lưu trữ nhỏ. Trong vài tuần tiếp theo, kẻ tấn công luân phiên sử dụng sáu tài khoản khác, mở hơn 500 PR giả mạo. Mỗi PR đều mang tiêu đề “ci: update build configuration”, khiến nhiều nhà phát triển khó nhận ra nguy cơ tiềm ẩn.
Ngày 2/4/2026, chiến dịch bùng phát mạnh khi nhà nghiên cứu bảo mật Charlie Eriksen công bố hoạt động bất thường, sau khi tài khoản ezmtebo gửi hơn 475 PR độc hại chỉ trong 26 giờ. Các nhà phân tích từ Wiz Research truy vết chiến dịch ba tuần trước khi nó được báo cáo công khai và xác định sáu làn sóng hoạt động riêng biệt từ cùng một tác nhân.
Các nhà nghiên cứu Google, gồm Rami McCarthy, Hila Ramati, Scott Piper và Benjamin Read, xác nhận kẻ tấn công đã xâm nhập thành công ít nhất hai package npm là @codfish/eslint-config và @codfish/actions, ảnh hưởng tới 106 phiên bản khác nhau. Ngoài ra, AWS key, token API Cloudflare và token Netlify cũng bị đánh cắp. Trong khi đó, các mục tiêu lớn như Sentry, OpenSearch và NixOS đã kịp thời ngăn chặn các cuộc tấn công nhờ kiểm soát quyền đóng góp chặt chẽ.
Chiến dịch sử dụng AI để tự động hóa quá trình, phân tích nhanh từng repository và xác định file phù hợp để chèn payload. Payload được thêm vào các file test của Go, conftest.py trong Python và script trong package.json của Node.js. Nhờ AI, ngay cả những kẻ tấn công ít kinh nghiệm kỹ thuật cũng có thể triển khai các chiến dịch supply chain quy mô lớn với tốc độ máy móc.
Mặc dù chiến dịch lan rộng, nhưng tỷ lệ thành công chung vẫn dưới 10% trên hơn 450 lần khai thác được phân tích, chủ yếu nhắm vào các dự án cá nhân nhỏ, chỉ làm lộ token workflow tạm thời. Tuy nhiên, với hơn 500 lần thử, ngay cả tỷ lệ 10% cũng đồng nghĩa với hàng chục vụ xâm nhập thực sự. Kẻ tấn công liên tục tinh chỉnh payload, nâng cao khả năng né tránh và biến nguy cơ này trở nên khó đoán hơn bao giờ hết.
Chiến dịch lợi dụng trigger pull_request_target trong GitHub Actions, khác với trigger pull_request thông thường, vì nó chạy trong ngữ cảnh repository gốc và cho phép truy cập toàn bộ bí mật, kể cả từ PR fork không đáng tin. Khi workflow bị khai thác, payload sẽ trích xuất GITHUB_TOKEN, nén và mã hóa Base64, sau đó ghi vào log để kẻ tấn công thu thập. Token đánh cắp được dùng để gọi API GitHub, lập bản đồ tên bí mật, môi trường triển khai và workflow file, đồng thời truy vấn metadata của các dịch vụ đám mây như AWS, Azure và Google Cloud để lấy thông tin đăng nhập.
Để tăng khả năng đánh cắp dữ liệu, một daemon nền giám sát thư mục /proc trên Linux mỗi hai giây trong mười phút, bắt tất cả bí mật được load bởi các job tiếp theo và gửi trực tiếp vào PR comments, tồn tại ngay cả khi log workflow bị xóa. Từ cơ chế này, các tổ chức có thể quan sát những dấu hiệu bất thường để phát hiện xâm nhập và triển khai các biện pháp phòng ngừa kịp thời.
Các dấu hiệu xâm nhập:
- Branch theo mẫu prt-scan-[12 ký tự hex]
- PR có tiêu đề “ci: update build configuration”
- Log workflow chứa marker ==PRT_EXFIL_START_[nonce]==
Biện pháp phòng ngừa:
- Giới hạn trigger pull_request_target cho contributor đã được phê duyệt
- Duyệt nghiêm ngặt với contributor lần đầu
- Sử dụng trigger actor-restricted hoặc path-based
- Xoay vòng ngay lập tức mọi token và key bị lộ
Chiến dịch prt-scan chứng minh AI đang hạ thấp rào cản kỹ thuật, giúp tội phạm triển khai các chiến dịch supply chain tự động, quy mô lớn và tinh vi, tạo ra mối nguy cơ thực sự đối với cộng đồng mã nguồn mở và các tổ chức dựa vào GitHub.
Theo Cyber Security News
Theo Cyber Security News