Một chiến dịch được báo cáo xây dựng quanh các mã thông báo GitHub bị đánh cắp và WFX stealer đang khiến khoảng 66.000 kho lưu trữ gặp rủi ro, theo đưa tin từ Cybernews. Các kẻ tấn công được cho là đã sử dụng mã thông báo truy cập bị đánh cắp để cài cắm các tệp quy trình làm việc độc hại, biến một quy trình phát triển thành phương thức thu thập bí mật. Thông tin đưa tin hiện có khá ngắn gọn, vì vậy bài viết này chỉ tập trung vào những gì đã được nêu và nhấn mạnh vào các bước thực tế mà nhà phát triển có thể thực hiện ngay bây giờ.
Mã thông báo bị đánh cắp đã tạo điều kiện cho cuộc tấn công quy trình làm việc GitHub như thế nào
Theo báo cáo, chiến dịch đã sử dụng mã thông báo bị đánh cắp để thêm các quy trình làm việc "WFX stealer" vào khoảng 66.000 kho lưu trữ GitHub. Mã thông báo là thông tin xác thực cho phép một người hoặc một ứng dụng hành động trên một tài khoản mà không cần gõ mật khẩu. Nếu kẻ tấn công nắm giữ một mã thông báo hợp lệ với đủ quyền, GitHub sẽ coi các hành động của họ là hợp pháp.
Đó chính là điều khiến các quy trình làm việc trở thành mục tiêu hấp dẫn. Quy trình làm việc GitHub Actions là các tệp được lưu trữ trong kho lưu trữ và chạy tự động, thường có quyền truy cập vào các bí mật mà dự án sử dụng để xây dựng, kiểm thử và triển khai mã. Một quy trình làm việc độc hại không cần phải khai thác lỗi phần mềm. Nó chỉ cần được cam kết bởi người mà GitHub tin là có thẩm quyền, và sau đó nó chạy bên trong quy trình.
Bản tóm tắt nguồn không nêu chi tiết cách các mã thông báo ban đầu bị đánh cắp, và chúng tôi sẽ không đoán. Điều quan trọng đối với độc giả là mô hình: bản thân quy trình trở thành cơ chế phân phối, và thông tin xác thực mở khóa nó mới là giải thưởng thực sự.
WFX stealer có thể phơi bày gì từ tài khoản nhà phát triển
Báo cáo mô tả các quy trình làm việc là đánh cắp bí mật, và góc nhìn được đề xuất lưu ý rằng quy trình CI/CD có thể trở thành con đường dẫn đến bí mật và tài khoản cá nhân của nhà phát triển. Trên thực tế, một stealer chạy trong quy trình có thể tiếp cận bất cứ thứ gì mà quy trình đó có thể tiếp cận. Các ví dụ điển hình về tài liệu như vậy bao gồm:
- Khóa API và thông tin xác thực đám mây được lưu trữ dưới dạng bí mật kho lưu trữ
- Mã thông báo triển khai và thông tin xác thực sổ đăng ký gói
- Các mã thông báo GitHub khác có sẵn cho quy trình làm việc
Dữ liệu chính xác mà WFX stealer thu thập chưa được xác nhận trong thông tin chúng tôi có, vì vậy hãy coi danh sách trên là các loại rủi ro phổ biến đối với bí mật quy trình, không phải là phát hiện đã được xác minh về chiến dịch này. Mối quan ngại rộng hơn là một mã thông báo bị đánh cắp có thể dẫn đến nhiều mã thông báo bị đánh cắp hơn. Bí mật thu hoạch từ một kho lưu trữ có thể mở khóa các dịch vụ khác, đó là cách một vụ xâm phạm kho lưu trữ có thể lan sang tài khoản cá nhân và tổ chức.
Điều này phù hợp với một chủ đề rộng hơn mà chúng tôi đã đề cập trước đây: các hệ thống mà mọi người được cho là phải tin tưởng bị quay ngược lại chống lại họ. Bài viết của chúng tôi về lỗ hổng zero-click trên Pixel và các cuộc tấn công ScreenConnect vào MSP chia sẻ cùng một sợi chỉ khó chịu đó cho thấy công cụ đáng tin cậy thường là điểm yếu như thế nào.
Cách kiểm tra xem kho lưu trữ của bạn có bị ảnh hưởng không
Chúng tôi không thể cho bạn biết liệu một kho lưu trữ cụ thể có nằm trong danh sách bị ảnh hưởng hay không, và báo cáo hiện có không công bố danh sách đó. Bạn vẫn có thể tự tìm kiếm các dấu hiệu can thiệp:
- Xem lại các tệp quy trình làm việc. Mở thư mục
.github/workflowstrong mỗi kho lưu trữ và tìm các tệp bạn không nhận ra, hoặc các chỉnh sửa bạn không thực hiện. - Kiểm tra lịch sử cam kết và yêu cầu kéo. Tìm các cam kết hoặc nhánh gần đây liên quan đến quy trình làm việc, đặc biệt là từ các tài khoản không quen thuộc hoặc vào những thời điểm bất thường.
- Kiểm tra nhật ký chạy Actions. Các lần chạy bất ngờ, kích hoạt mới hoặc các bước thực hiện yêu cầu mạng ra ngoài đáng được xem xét kỹ hơn.
- Xem lại nhật ký bảo mật và ứng dụng được ủy quyền của bạn. Trong cài đặt GitHub, kiểm tra mã thông báo truy cập cá nhân, ứng dụng OAuth và GitHub Apps nào có quyền truy cập, và xóa bất cứ thứ gì bạn không sử dụng.
- Giả định bị phơi bày nếu bạn tìm thấy bất cứ điều gì. Coi mọi bí mật mà quy trình làm việc đó có thể đọc là đã bị xâm phạm và thay thế chúng.
Tăng cường bảo mật GitHub: mã thông báo, MFA và Actions của bên thứ ba
Không có bước nào trong số này là lạ, nhưng cùng nhau chúng giảm thiểu những gì một mã thông báo bị đánh cắp có thể làm.
Xoay vòng và thu hẹp mã thông báo. Thu hồi mã thông báo truy cập cá nhân cũ và cấp mã mới với phạm vi hẹp nhất và thời hạn ngắn nhất có thể hoạt động. Mã thông báo chi tiết được giới hạn cho các kho lưu trữ cụ thể an toàn hơn mã thông báo rộng.
Bật xác thực đa yếu tố. MFA bảo vệ đăng nhập tài khoản của bạn, mặc dù cần nhớ rằng một mã thông báo bị đánh cắp có thể bỏ qua hoàn toàn bước đăng nhập. Đó là lý do tại sao vệ sinh mã thông báo cũng quan trọng không kém.
Giới hạn quyền quy trình làm việc. Đặt mã thông báo quy trình làm việc mặc định thành chỉ đọc và chỉ cấp quyền ghi ở nơi công việc thực sự cần. Yêu cầu xem xét trước khi các thay đổi đối với tệp quy trình làm việc được hợp nhất, ví dụ thông qua bảo vệ nhánh và chủ sở hữu mã.
Kiểm tra Actions của bên thứ ba. Ghim Actions vào một cam kết cụ thể thay vì thẻ có thể di chuyển, và ưu tiên những cái từ những người duy trì bạn tin tưởng. Giữ bí mật ra khỏi các công việc không cần chúng.
Điều này có ý nghĩa gì đối với bạn
Nếu bạn duy trì ngay cả một dự án nhỏ trên GitHub, các tệp quy trình làm việc của bạn là một phần của bề mặt tấn công của bạn. Một mã thông báo bị đánh cắp có thể cho phép ai đó thêm một quy trình làm việc âm thầm đọc bí mật của bạn, và bạn có thể không bao giờ thấy cảnh báo. Các nhà phát triển cá nhân, người duy trì mã nguồn mở và các công ty có triển khai tự động đều nằm trong phạm vi.
Tin tốt là các biện pháp phòng thủ nằm trong tầm kiểm soát của bạn và tốn ít thời gian. Đây cũng là một phần của mô hình lặp lại trong đó kẻ tấn công nhắm vào các tài khoản và công cụ mà mọi người đã tin tưởng. Bài viết của chúng tôi về Incransom tuyên bố tấn công TrRAC Inc. là một loại sự cố khác, nhưng nó nhấn mạnh mức độ nhanh chóng mà quyền truy cập bị đánh cắp có thể biến thành thiệt hại thực sự.
Các bài học hành động
- Xoay vòng mã thông báo GitHub của bạn ngay hôm nay và xóa bất kỳ mã nào bạn không còn sử dụng.
- Bật MFA trên mọi tài khoản có quyền truy cập kho lưu trữ.
- Kiểm tra các tệp
.github/workflowscủa bạn để tìm các thay đổi bạn không thực hiện. - Đặt quyền quy trình làm việc thành chỉ đọc theo mặc định và ghim Actions của bên thứ ba.
- Nếu bạn tìm thấy bất cứ điều gì đáng ngờ, hãy thay thế mọi bí mật mà quy trình làm việc đó có thể truy cập.
Các báo cáo về mã thông báo GitHub bị đánh cắp WFX stealer vẫn đang phát triển, và các chi tiết có thể thay đổi. Đừng chờ xác nhận để dọn dẹp thiết lập của riêng bạn: xoay vòng mã thông báo, bật MFA và kiểm tra quy trình làm việc của bạn ngay hôm nay.




