GitHub thừa nhận mất 3.800 repo nội bộ vì nhân viên cài extension độc
Một click chuột sai lầm của nhân viên GitHub đã khiến 3.800 kho mã nguồn nội bộ bị lộ thông tin. Thủ phạm là một extension VS Code có vẻ vô hại nhưng chứa đựng mã độc tinh vi. Đây là bài học đắt giá về việc tải extension từ nguồn không chính thức.
Tưởng tượng bạn đang làm việc tại một trong những nền tảng lập trình lớn nhất thế giới, rồi vô tình cài một công cụ hỗ trợ có vẻ hữu ích từ internet. Thế là 3.800 kho mã nguồn nội bộ của công ty bị lộ thông tin. Đó chính là điều đã xảy ra với GitHub - nền tảng lưu trữ mã nguồn được hàng triệu lập trình viên tin tưởng. Vụ việc một lần nữa chứng minh rằng yếu tố con người vẫn là mắt xích yếu nhất trong chuỗi bảo mật, dù bạn có làm việc tại "pháo đài" công nghệ nào đi chăng nữa.
Khi niềm tin biến thành con dao hai lưỡi
GitHub đã chính thức xác nhận sự việc trong báo cáo bảo mật mới nhất, thừa nhận rằng khoảng 3.800 repository (kho lưu trữ mã nguồn) nội bộ đã bị xâm nhập. Nguyên nhân xuất phát từ việc một nhân viên của họ cài đặt một VS Code extension (tiện ích mở rộng cho phần mềm Visual Studio Code) chứa mã độc. VS Code là trình soạn thảo mã nguồn phổ biến nhất hiện nay, được chính Microsoft phát triển và có hàng triệu người dùng toàn cầu.
Điều đáng lo ngại là extension này không xuất hiện trên Visual Studio Code Marketplace chính thức - kho ứng dụng được Microsoft quản lý và kiểm duyệt. Thay vào đó, nhân viên GitHub đã tải và cài đặt nó từ một nguồn bên thứ ba. Chúng tôi cho rằng đây là một sai lầm nghiêm trọng trong quy trình bảo mật nội bộ, đặc biệt khi xảy ra tại một công ty công nghệ hàng đầu như GitHub.
Giải phẫu cuộc tấn công từ bên trong
Theo phân tích của chúng tôi, đây là một cuộc tấn công thuộc dạng supply chain attack (tấn công chuỗi cung ứng) - một trong những phương thức nguy hiểm nhất hiện nay. Thay vì tấn công trực tiếp vào hệ thống GitHub, kẻ tấn công đã tạo ra một công cụ có vẻ hữu ích để "mời gọi" nhân viên tự cài đặt. Khi extension được kích hoạt, nó có quyền truy cập vào workspace (không gian làm việc) của người dùng, bao gồm cả các repository đang được mở.
Mã độc trong extension này được thiết kế để thu thập thông tin về các kho mã nguồn mà nhân viên có quyền truy cập. Điều này bao gồm metadata (dữ liệu mô tả), nội dung file, và có thể cả access token (mã truy cập) được lưu trong hệ thống. Với tư cách là nhân viên GitHub, người này có quyền truy cập vào hàng nghìn repository nội bộ - điều mà một người dùng bình thường không bao giờ có được.
Cái giá phải trả cho sự bất cẩn
Con số 3.800 repository bị ảnh hưởng không phải là con số nhỏ. Để đưa ra góc nhìn so sánh, các vụ rò rỉ mã nguồn lớn trước đây như Twitch (2021) hay Nvidia (2022) chỉ ảnh hưởng đến vài trăm đến một nghìn file. Ở Việt Nam, nhiều doanh nghiệp công nghệ thường lưu trữ toàn bộ tài sản trí tuệ trên GitHub, từ mã nguồn ứng dụng đến các khóa bảo mật quan trọng.
GitHub chưa tiết lộ liệu có dữ liệu nhạy cảm nào của khách hàng bị ảnh hưởng hay không. Tuy nhiên, theo kinh nghiệm từ các vụ việc tương tự, repository nội bộ thường chứa API keys (khóa truy cập dịch vụ), database credentials (thông tin đăng nhập cơ sở dữ liệu), và các thông tin nhạy cảm khác. Nếu những thông tin này rơi vào tay kẻ xấu, hậu quả có thể lan rộng ra toàn bộ hệ sinh thái GitHub.
Lá chắn bảo vệ cho lập trình viên Việt
Các lập trình viên và doanh nghiệp Việt Nam cần áp dụng ngay các biện pháp phòng ngừa sau đây. Đầu tiên, chỉ cài đặt extension từ Visual Studio Code Marketplace chính thức hoặc các kho ứng dụng đáng tin cậy khác. Khi cài đặt, hãy kiểm tra số lượt tải về, đánh giá từ người dùng, và thông tin về nhà phát triển. Những extension có ít hơn 1000 lượt tải hoặc không có thông tin rõ ràng về tác giả nên được cân nhắc kỹ trước khi sử dụng.
Thứ hai, doanh nghiệp nên thiết lập chính sách quản lý extension nghiêm ngặt. Chúng tôi khuyến nghị tạo danh sách trắng các extension được phép sử dụng và yêu cầu phê duyệt từ bộ phận IT trước khi cài đặt bất kỳ công cụ nào khác. Cuối cùng, hãy kích hoạt two-factor authentication (xác thực hai yếu tố) cho tài khoản GitHub và thường xuyên kiểm tra access log để phát hiện các hoạt động bất thường. Những bước đơn giản này có thể ngăn chặn 90% các cuộc tấn công tương tự.