MinhSec✔
Writer
XCSSET một trong những dòng mã độc nguy hiểm nhất từng nhắm vào hệ sinh thái macOS đã quay trở lại với phiên bản v40, mang theo nhiều kỹ thuật tấn công tinh vi hơn nhằm vào các lập trình viên sử dụng Xcode. Theo các chuyên gia của Unit 42 (Palo Alto Networks), biến thể mới không chỉ lây nhiễm vào các dự án Xcode mà còn có khả năng biến chính quá trình biên dịch phần mềm thành mắt xích trong một cuộc tấn công chuỗi cung ứng.
Điều đáng lo ngại là dự án bị cài mã độc vẫn có thể hoạt động hoàn toàn bình thường. Chỉ khi nhà phát triển mở và biên dịch dự án, đoạn mã ẩn mới âm thầm kích hoạt, tải thêm thành phần độc hại từ máy chủ điều khiển và bắt đầu chiếm quyền hệ thống.
Sau khi lây nhiễm thành công, XCSSET không chỉ duy trì khả năng phát tán sang các dự án Xcode khác mà còn bổ sung một kỹ thuật hoàn toàn mới: chiếm quyền điều khiển Google Chrome thông qua Chrome DevTools Protocol (CDP).

Đây không phải là lỗ hổng bảo mật của Chrome mà là việc lợi dụng một giao thức hợp pháp vốn được thiết kế để hỗ trợ lập trình viên gỡ lỗi trình duyệt.
Mã độc sẽ thay thế chương trình khởi động Chrome bằng một trình khởi chạy độc hại. Mỗi khi người dùng mở Chrome, XCSSET sẽ bí mật kích hoạt CDP trên một cổng cục bộ rồi chạy tiến trình phụ có tên chrome_remote.
Thông qua giao thức này, kẻ tấn công có thể thực thi JavaScript ngay trong phiên trình duyệt của nạn nhân để:
Phiên bản mới hiện bao gồm 17 mô-đun chức năng, đồng thời bổ sung một thành phần mới nhắm vào Telegram Desktop. Thành phần này có thể xóa ứng dụng Telegram hợp pháp, cài đặt một phiên bản do kẻ tấn công chuẩn bị sẵn, ký chứng chỉ tùy ý rồi yêu cầu người dùng mở lại mà không nghi ngờ.
Ngoài ra, XCSSET còn tìm cách vô hiệu hóa một số cơ chế bảo vệ của macOS như cơ sở dữ liệu XProtect, đặt lại quyền tự động hóa AppleScript và thay đổi các thiết lập hệ thống để duy trì khả năng tồn tại lâu dài trên thiết bị.
Các chuyên gia của Unit 42 khuyến nghị lập trình viên và doanh nghiệp không nên chỉ kiểm tra mã nguồn mà cần kiểm tra cả Build Phases, các tập lệnh thực thi và cấu hình của dự án Xcode trước khi biên dịch. Đồng thời, nên giám sát những lần Chrome bất ngờ khởi động ở chế độ gỡ lỗi, theo dõi các hoạt động AppleScript bất thường, kiểm tra các tệp nhị phân được ký không rõ nguồn gốc và xác minh kỹ mọi dự án tải về từ GitHub hoặc các kho mã nguồn mở.
Việc cập nhật thường xuyên macOS, Google Chrome và chỉ sử dụng các dự án từ nguồn đáng tin cậy vẫn là những biện pháp quan trọng giúp giảm nguy cơ trở thành nạn nhân của XCSSET v40 trong bối cảnh các cuộc tấn công chuỗi cung ứng đang ngày càng tinh vi và khó phát hiện hơn.
Điều đáng lo ngại là dự án bị cài mã độc vẫn có thể hoạt động hoàn toàn bình thường. Chỉ khi nhà phát triển mở và biên dịch dự án, đoạn mã ẩn mới âm thầm kích hoạt, tải thêm thành phần độc hại từ máy chủ điều khiển và bắt đầu chiếm quyền hệ thống.
Từ dự án Xcode đến chiếm quyền trình duyệt Chrome
Theo Unit 42, chiến dịch XCSSET v40 được phát hiện từ giữa tháng 4/2026 và nhanh chóng lan rộng thông qua các dự án Xcode được chia sẻ trên GitHub cũng như các kho mã nguồn mở. Nhiều dự án liên quan đến các ứng dụng có lượng người dùng lớn đã được phát hiện chứa mã độc.Sau khi lây nhiễm thành công, XCSSET không chỉ duy trì khả năng phát tán sang các dự án Xcode khác mà còn bổ sung một kỹ thuật hoàn toàn mới: chiếm quyền điều khiển Google Chrome thông qua Chrome DevTools Protocol (CDP).

Đây không phải là lỗ hổng bảo mật của Chrome mà là việc lợi dụng một giao thức hợp pháp vốn được thiết kế để hỗ trợ lập trình viên gỡ lỗi trình duyệt.
Mã độc sẽ thay thế chương trình khởi động Chrome bằng một trình khởi chạy độc hại. Mỗi khi người dùng mở Chrome, XCSSET sẽ bí mật kích hoạt CDP trên một cổng cục bộ rồi chạy tiến trình phụ có tên chrome_remote.
Thông qua giao thức này, kẻ tấn công có thể thực thi JavaScript ngay trong phiên trình duyệt của nạn nhân để:
- Đánh cắp cookie đăng nhập.
- Theo dõi toàn bộ lưu lượng truy cập web.
- Thu thập dữ liệu tự động điền từ trình quản lý mật khẩu.
- Can thiệp vào các giao dịch ví tiền điện tử.
- Thực thi lệnh từ xa ngay trên máy Mac.
Hoạt động gần như hoàn toàn trong bộ nhớ để né tránh phát hiện
Không dừng lại ở đó, XCSSET v40 còn được thiết kế để hạn chế tối đa dấu vết trên hệ thống. Thay vì lưu trữ nhiều tệp độc hại trên ổ đĩa, phần lớn hoạt động của mã độc diễn ra trong bộ nhớ và thường xuyên thay đổi mã nguồn, khóa mã hóa cũng như tải trọng (payload) nhằm tránh bị nhận diện.Phiên bản mới hiện bao gồm 17 mô-đun chức năng, đồng thời bổ sung một thành phần mới nhắm vào Telegram Desktop. Thành phần này có thể xóa ứng dụng Telegram hợp pháp, cài đặt một phiên bản do kẻ tấn công chuẩn bị sẵn, ký chứng chỉ tùy ý rồi yêu cầu người dùng mở lại mà không nghi ngờ.
Ngoài ra, XCSSET còn tìm cách vô hiệu hóa một số cơ chế bảo vệ của macOS như cơ sở dữ liệu XProtect, đặt lại quyền tự động hóa AppleScript và thay đổi các thiết lập hệ thống để duy trì khả năng tồn tại lâu dài trên thiết bị.
Các chuyên gia của Unit 42 khuyến nghị lập trình viên và doanh nghiệp không nên chỉ kiểm tra mã nguồn mà cần kiểm tra cả Build Phases, các tập lệnh thực thi và cấu hình của dự án Xcode trước khi biên dịch. Đồng thời, nên giám sát những lần Chrome bất ngờ khởi động ở chế độ gỡ lỗi, theo dõi các hoạt động AppleScript bất thường, kiểm tra các tệp nhị phân được ký không rõ nguồn gốc và xác minh kỹ mọi dự án tải về từ GitHub hoặc các kho mã nguồn mở.
Việc cập nhật thường xuyên macOS, Google Chrome và chỉ sử dụng các dự án từ nguồn đáng tin cậy vẫn là những biện pháp quan trọng giúp giảm nguy cơ trở thành nạn nhân của XCSSET v40 trong bối cảnh các cuộc tấn công chuỗi cung ứng đang ngày càng tinh vi và khó phát hiện hơn.
Được phối hợp thực hiện bởi các chuyên gia của Bkav,
cộng đồng An ninh mạng Việt Nam WhiteHat
và cộng đồng Khoa học công nghệ VnReview