DevOps & giám sát

Chiến dịch GhostAction nhắm vào bí mật CI/CD trên GitHub thông qua các tài khoản bị xâm nhập

Cuộc tấn công chuỗi cung ứng GhostAction đã xâm nhập 1.900 tài khoản GitHub vào tháng 10 năm 2026, chèn các workflow độc hại để đánh cắp bí mật CI/CD từ hơn 30.000 repository.

Minh họa cuộc tấn công chuỗi cung ứng trên dây chuyền lắp ráp phần mềm
Ảnh minh họa tạo riêng cho bài viết

Bài được dịch tự động từ bản gốc tiếng Anh.

Làn sóng tấn công mới của chiến dịch chuỗi cung ứng GhostAction đã xâm nhập khoảng 1.900 tài khoản người dùng GitHub trong khoảng thời gian từ ngày 8 đến ngày 9 tháng 10 năm 2026. Các nhà nghiên cứu bảo mật tại GitGuardian quan sát thấy những kẻ đe dọa nhắm mục tiêu vào hơn 30.000 repository thuộc về 3.000 người dùng và tổ chức nhằm trích xuất các thông tin xác thực nhạy cảm từ môi trường tích hợp liên tục (CI).

Diễn biến sự việc

Chiến dịch này, được phát hiện lần đầu vào tháng 9 năm 2025, dựa trên việc kẻ tấn công giành quyền ghi vào các repository chính chủ của lập trình viên. Chúng đạt được điều này bằng cách sử dụng các Personal Access Token (PAT) bị đánh cắp hoặc thông tin đăng nhập thu thập được từ nhật ký phần mềm infostealer. Sau khi xâm nhập, kẻ tấn công chèn các tệp workflow GitHub Actions độc hại vào các repository mục tiêu. Những tệp này thường được ngụy trang bằng các tên gây nhầm lẫn như "security-audit.yml" hoặc "github_actions_security.yml" để tránh bị nghi ngờ ngay lập tức trong quá trình xem xét mã nguồn.

Mục tiêu chính là đánh cắp quy mô lớn các bí mật được lưu trữ trong pipeline CI/CD. Điều này bao gồm thông tin xác thực của nhà cung cấp đám mây, token cho các kho đăng ký gói như npm, PyPI và DockerHub, cùng với API key cho các nhà cung cấp trí tuệ nhân tạo. Sự gia tăng hoạt động gần đây đại diện cho một bước leo thang đáng kể, với việc kẻ tấn công cố gắng trích xuất 3.174 bí mật từ các repository công khai. Gaetan Ferry và Guillaume Valadon từ GitGuardian lưu ý rằng việc xâm nhập 1.900 tài khoản là nguyên nhân trực tiếp dẫn đến nỗ lực lan rộng này.

Giai đoạn mới của GhostAction có vẻ mang tính thử nghiệm và thủ công hơn so với các phiên bản trước đó. Payload đã tiến hóa qua nhiều phiên bản kể từ ngày 31 tháng 8 năm 2026. Phiên bản đầu tiên giới thiệu tính năng quét lịch sử git để tìm kiếm bí mật, sử dụng biểu thức chính quy để xác định AWS key ID, token GitHub và GitLab, cùng các API key đám mây khác. Các biến thể sau đó cải thiện khả năng này bằng cách nắm bắt ngữ cảnh xung quanh AWS key ID để ghép nối chúng với secret access key tương ứng, làm tăng khả năng dữ liệu bị đánh cắp sẽ hữu ích.

Chi tiết chính

  • Quy mô tác động: Làn sóng tấn công ngày 8-9 tháng 10 nhắm vào hơn 30.000 repository thuộc về 3.000 người dùng và tổ chức.
  • Xâm nhập tài khoản: Khoảng 1.900 tài khoản GitHub bị xâm nhập bằng PAT bị đánh cắp hoặc thông tin đăng nhập từ nhật ký infostealer.
  • Bí mật bị nhắm tới: Kẻ tấn công cố gắng trích xuất 3.174 bí mật, bao gồm thông tin xác thực đám mây, token gói và API key AI.
  • Tiến hóa payload: Workflow độc hại đã tiến hóa để bao gồm việc quét lịch sử git, với các phiên bản sau nắm bắt ngữ cảnh xung quanh khóa AWS để tạo điều kiện cho việc đánh cắp toàn bộ thông tin xác thực.
  • Phương pháp triển khai: Các workflow độc hại được đẩy lên dưới những tên gây nhầm lẫn như "security-audit.yml" để hòa lẫn vào các nhiệm vụ bảo trì hợp lệ.
  • Thời điểm giảm thiểu: GitHub bắt đầu ngăn chặn workflow độc hại chạy vào ngày 9 tháng 10, dừng các làn sóng tiếp theo vào ngày 10 và 12 tháng 10 không cho phép trích xuất thêm bí mật mới.

Bối cảnh

GitHub Actions là một nền tảng tự động hóa phổ biến cho phép các nhà phát triển định nghĩa workflow để xây dựng, kiểm thử và triển khai mã trực tiếp trong repository của họ. Các workflow này thường yêu cầu truy cập vào thông tin nhạy cảm, chẳng hạn như mật khẩu cơ sở dữ liệu hoặc khóa dịch vụ đám mây, được lưu trữ dưới dạng "secrets" trong cài đặt repository. Mặc dù tiện lợi, việc tập trung hóa này khiến pipeline CI/CD trở thành mục tiêu giá trị cao cho kẻ tấn công. Nếu kẻ tấn công có thể sửa đổi định nghĩa workflow, chúng có thể thực thi các script để exfiltrate (rò rỉ) những bí mật này sang máy chủ bên ngoài.

Các cuộc tấn công chuỗi cung ứng như GhostAction khai thác lòng tin vốn có trong hệ sinh thái phát triển phần mềm. Bằng cách xâm nhập một tài khoản nhà phát triển duy nhất, kẻ tấn công có thể lan truyền mã độc tới mọi dự án mà người đó quản lý. Điều này đặc biệt nguy hiểm vì mã độc bắt nguồn từ một nguồn đáng tin cậy, khiến các công cụ bảo mật tự động hoặc người xem xét đồng nghiệp khó phát hiện hơn. Việc sử dụng phần mềm infostealer để thu thập thông tin đăng nhập ban đầu nhấn mạnh tầm quan trọng của bảo mật endpoint song song với các biện pháp bảo vệ cụ thể của nền tảng.

Tại sao vấn đề này quan trọng

Đối với các nhóm quản lý hạ tầng phần mềm riêng, sự cố này nhấn mạnh sự mong manh của việc quản lý thông tin xác thực trong pipeline CI/CD. Nhiều tổ chức phụ thuộc vào các bí mật tồn tại lâu dài và hiếm khi được xoay vòng (rotate). Thực tế là một số nạn nhân trong làn sóng mới này đã từng bị xâm nhập trong các cuộc tấn công trước đó cho thấy kẻ tấn công đang đặt cược vào việc các bí mật chưa được xoay vòng vẫn còn hiệu lực. Nếu nhóm của bạn không thường xuyên xoay vòng API key và token, một vi phạm duy nhất có thể gây ra hậu quả lâu dài, cho phép kẻ tấn công duy trì quyền truy cập ngay cả sau khi lỗ hổng ban đầu đã được vá.

Hơn nữa, sự tiến hóa của payload GhostAction chứng minh rằng kẻ tấn công đang tích cực thích ứng với các biện pháp phòng thủ. Việc bổ sung quét lịch sử git có nghĩa là chỉ đơn thuần xóa bí mật khỏi codebase hiện tại là không đủ nếu nó tồn tại trong lịch sử commit. Các nhóm phải giả định rằng bất kỳ bí mật nào từng được commit vào repository đều có khả năng bị lộ. Điều này đòi hỏi sự thay đổi chiến lược từ dọn dẹp phản ứng sang quản lý bí mật chủ động, bao gồm việc sử dụng token ngắn hạn và kiểm soát truy cập nghiêm ngặt đối với các sửa đổi repository.

Bạn có thể làm gì

  • Xoay vòng tất cả bí mật CI/CD ngay lập tức: Giả định rằng bất kỳ bí mật nào được lưu trữ trong repository GitHub có thể đã bị lộ nếu tài khoản của bạn nằm trong nhóm người dùng bị ảnh hưởng hoặc nếu bạn sử dụng các mẫu tương tự.
  • Kích hoạt quy tắc bảo vệ branch: Yêu cầu xem xét pull request và kiểm tra trạng thái trước khi hợp nhất các thay đổi vào branch chính để ngăn chặn việc sửa đổi workflow trái phép.
  • Kiểm toán lịch sử git để tìm bí mật: Sử dụng các công cụ để quét toàn bộ lịch sử commit của bạn nhằm tìm kiếm thông tin xác thực bị rò rỉ, không chỉ ở head hiện tại của branch.
  • Triển khai quyền truy cập tối thiểu (least-privilege): Hạn chế những ai có thể đẩy tệp workflow và quản lý bí mật trong repository của bạn, giảm bán kính thiệt hại (blast radius) khi một tài khoản bị xâm nhập.
  • Sử dụng thông tin xác thực ngắn hạn: Khi có thể, hãy thay thế API key tồn tại lâu dài bằng token tạm thời tự động hết hạn, giới hạn cửa sổ cơ hội cho kẻ tấn công.
  • Giám sát hoạt động workflow bất thường: Thiết lập cảnh báo cho các thay đổi đối với tệp workflow, đặc biệt là những tệp có tên giống với kiểm toán bảo mật hoặc nhiệm vụ bảo trì.

Tin khác

DevOps & giám sát

Ngừng thử lại các bài kiểm tra email trong CI Kubernetes và bắt đầu thuê hộp thư

Việc coi hộp thư kiểm thử như các phụ thuộc HTTP có thể thử lại được sẽ gây ra các pipeline CI không ổn định. Việc thuê các hộp thư riêng biệt với thời hạn hết hiệu lực rõ ràng giúp ngăn chặn tin nhắn trùng lặp và điều kiện tranh chấp (race conditions).

Tất cả tin