Bảo mật & quyền riêng tư

Nhóm tấn công GhostAction giấu mã độc đánh cắp thông tin đăng nhập trong các tệp phông chữ giả mạo trên GitHub

Nhóm GhostAction hiện sử dụng kỹ thuật lừa đảo (phishing) và các tệp phông chữ ngụy trang để đánh cắp thông tin đăng nhập từ 94 kho lưu trữ GitHub, vượt qua các biện pháp kiểm soát bảo mật của nền tảng.

Hình minh họa kính lúp đang hé lộ một dụng cụ phá khóa bên trong biểu tượng tệp phông chữ trên giá đỡ máy chủ
Ả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.

Tác nhân đe dọa đứng sau cuộc tấn công chuỗi cung ứng GhostAction đã thay đổi chiến thuật, chuyển từ việc chèn các workflow độc hại vào các dự án GitHub sang trực tiếp lừa đảo các nhà phát triển. Trong một chiến dịch được OpenSourceMalware chi tiết hóa vào ngày 19 tháng 10 năm 2026, nhóm này đã triển khai một công cụ đánh cắp thông tin đăng nhập được ngụy trang dưới dạng tệp phông chữ trên 94 kho lưu trữ bị xâm phạm. Sự tiến hóa này cho phép kẻ tấn công thu thập dữ liệu nhạy cảm ngay cả khi GitHub chặn các workflow tự động của chúng.

Chuyện gì đã xảy ra

Những kẻ tấn công đã đăng ký tên miền "my-github[.]com" vào ngày 9 tháng 10 năm 2026, trỏ tới địa chỉ IP 193.32.204[.]199. Chính IP này cũng đóng vai trò là điểm cuối truyền dữ liệu đánh cắp thông qua các GitHub Actions độc hại. Vào ngày đăng ký, nhóm này đã gửi các email lừa đảo giả mạo cảnh báo bảo mật của GitHub tới những người duy trì mã nguồn mở. Các tin nhắn này cảnh báo về những lần đăng nhập đáng ngờ từ Moscow và dẫn dụ nạn nhân đến một trang đăng nhập giả. Trang này hoạt động như một reverse proxy, ghi lại mật khẩu và mã xác thực hai yếu tố (2FA), đồng thời âm thầm ủy quyền cho một ứng dụng OAuth với các quyền hạn rộng rãi để sửa đổi workflow và đọc dữ liệu tổ chức.

Sau khi có được quyền truy cập, những kẻ tấn công đã chèn các tệp độc hại vào các kho lưu trữ. Chiến dịch bao gồm một thành phần giai đoạn hai được thiết kế để tồn tại lâu dài trên máy của nhà phát triển. Điều này liên quan đến việc cam kết (commit) một cấu hình tác vụ Visual Studio Code tự động kích hoạt khi mở thư mục, một tệp phông chữ giả chứa payload đánh cắp thông tin và một workflow GitHub Actions sao lưu. Tệp phông chữ, có tên là "fa-solid-400.woff2," bắt chước một tài sản hợp lệ nhưng thực chất lại thu thập khóa AWS, token PyPI, token npm, thông tin đăng nhập Git, thông tin xác thực Kubernetes, khóa SSH và thông tin xác thực nhà cung cấp AI cho Anthropic Claude và Google Gemini.

Giai đoạn hai này cài đặt một cron job thực thi mã do kẻ tấn công cung cấp cứ mỗi năm phút nếu công cụ đánh cắp ban đầu không chạy được. Dữ liệu thu thập được truyền qua HTTP không mã hóa trên cổng 8080. OpenSourceMalware đã xác định 94 kho lưu trữ thuộc sở hữu của 66 chủ sở hữu chứa thành phần giai đoạn hai này. Mười lăm trong số các kho lưu trữ này kể từ đó đã bị xóa, đổi tên hoặc chuyển sang chế độ riêng tư. Hầu hết các dự án bị ảnh hưởng dường như đã bị bỏ rơi, với 65 trong số 79 kho lưu trữ có thể truy cập không có bất kỳ commit nào trong hơn một năm.

Chi tiết chính

  • Những kẻ tấn công đã đăng ký "my-github[.]com" vào ngày 9 tháng 10 năm 2026, sử dụng cùng một địa chỉ IP với cơ sở hạ tầng truyền dữ liệu trước đó của chúng.
  • Email lừa đảo giả mạo cảnh báo bảo mật của GitHub, sử dụng reverse proxy để đánh cắp thông tin đăng nhập và ủy quyền các ứng dụng OAuth mà không cần sự đồng ý của người dùng.
  • Một tệp phông chữ giả có tên "fa-solid-400.woff2" chứa công cụ đánh cắp nhắm vào khóa đám mây, token và thông tin xác thực nhà cung cấp AI.
  • Phần mềm độc hại cài đặt một cron job chạy mỗi năm phút để đảm bảo tính bền vững và quá trình truyền dữ liệu liên tục.
  • 94 kho lưu trữ thuộc sở hữu của 66 chủ sở hữu đã bị xâm phạm, với nhiều dự án có vẻ đã bị bỏ rơi hoặc không hoạt động trong hơn một năm.
  • GitHub bắt đầu chặn các workflow độc hại ban đầu vào ngày 9 tháng 10, thúc đẩy sự chuyển hướng sang các phương pháp tồn tại phía client.

Bối cảnh

Các cuộc tấn công chuỗi cung ứng nhắm vào vòng đời phát triển phần mềm bằng cách xâm phạm các thành phần hoặc công cụ đáng tin cậy. Trong trường hợp này, những kẻ tấn công đã khai thác niềm tin mà các nhà phát triển đặt vào các kho lưu trữ mã nguồn mở và môi trường tích hợp phát triển (IDE) như Visual Studio Code. Bằng cách ngụy trang phần mềm độc hại dưới dạng một tệp phông chữ phổ biến, chúng đã vượt qua được sự kiểm tra sơ bộ. Việc sử dụng kỹ thuật lừa đảo luồng thiết bị OAuth đặc biệt nguy hiểm vì nó tự động hóa quy trình ủy quyền, cấp cho kẻ tấn công các token API có khả năng sửa đổi cài đặt kho lưu trữ và chèn thêm mã độc.

Cron jobs là các tác vụ theo lịch trình chạy ở các khoảng thời gian cố định trên các hệ thống giống Unix. Mặc dù rất cần thiết cho việc tự động hóa, chúng có thể bị kẻ tấn công lạm dụng để duy trì quyền truy cập bền vững vào hệ thống. Nếu một script độc hại được thêm vào crontab của người dùng, nó có thể thực thi lặp đi lặp lại mà không cần tương tác thêm, đảm bảo rằng dữ liệu bị đánh cắp tiếp tục được gửi đến máy chủ của kẻ tấn công ngay cả khi vector lây nhiễm ban đầu bị loại bỏ.

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

Đối với các đội ngũ vận hành phần mềm riêng, sự cố này làm nổi bật rủi ro của việc chỉ dựa vào các biện pháp kiểm soát bảo mật cấp nền tảng. Khả năng chặn các workflow độc hại của GitHub đã không ngăn cản được những kẻ tấn công; chúng đơn giản chuyển sang một phương thức hoạt động trên máy cục bộ của nhà phát triển. Điều này có nghĩa là ngay cả khi pipeline CI/CD của bạn an toàn, các phụ thuộc bị xâm phạm hoặc các kho lưu trữ được clone có thể đưa phần mềm độc hại đánh cắp thông tin đăng nhập từ môi trường cục bộ của bạn vào. Những thông tin đăng nhập này thường bao gồm quyền truy cập vào cơ sở hạ tầng sản xuất, khiến việc vệ sinh môi trường cục bộ trở nên cực kỳ quan trọng đối với tổng thể bảo mật.

Việc nhắm mục tiêu vào các kho lưu trữ bị bỏ rơi hoặc không hoạt động là một mối lo ngại lớn đối với các tổ chức fork hoặc phụ thuộc vào các dự án mã nguồn mở cũ. Các dự án này có thể thiếu những người duy trì tích cực, những người có thể nhanh chóng xác định và xóa các commit độc hại. Nếu đội ngũ của bạn sử dụng các thư viện như vậy, bạn có thể vô tình đưa các backdoor ẩn danh vào quy trình phát triển của mình. Việc sử dụng HTTP không mã hóa cho quá trình truyền dữ liệu cũng gợi ý rằng giám sát mạng có thể phát hiện các cuộc tấn công này, nhưng chỉ khi lưu lượng truy cập đến các IP đáng ngờ được theo dõi chặt chẽ.

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

  • Thu hồi tất cả các token truy cập GitHub và thay đổi mật khẩu từ một thiết bị sạch đã biết ngay lập tức nếu bạn nghi ngờ bị lộ thông tin.
  • Kiểm toán các kho lưu trữ của bạn để tìm các tệp bất thường, đặc biệt là trong các thư mục tài nguyên công khai như phông chữ, và kiểm tra các cấu hình tác vụ VS Code không mong muốn.
  • Xoay vòng (rotate) tất cả các thông tin xác thực có thể đã bị lộ, bao gồm khóa AWS, token npm và khóa SSH, đặc biệt là những thứ được lưu trữ trong biến môi trường.
  • Giám sát các cron job cục bộ và tác vụ theo lịch trình của bạn để tìm bất kỳ mục lạ nào chạy thường xuyên hoặc kết nối với máy chủ bên ngoài.
  • Cảnh báo bất kỳ người dùng nào đã clone hoặc fork các kho lưu trữ bị ảnh hưởng để đảm bảo họ không lan truyền mã độc.
  • Triển khai giám sát mạng để gắn cờ lưu lượng HTTP outbound đến các IP hoặc cổng không xác định, chẳng hạn như cổng 8080, vốn được sử dụng trong chiến dịch này.

Tin khác

Tất cả tin