Mã nguồn đã xoá trên Github vẫn có thể truy cập, Microsoft Khẳng Định Đó Không Phải Là Lỗi

VNZ-NEWS
Xóa Mã Trên GitHub Vẫn Có Thể Truy Cập: Microsoft Khẳng Định Không Phải Lỗi

Theo giới truyền thông quốc tế, các nhà nghiên cứu từ Truffle Security đã phát hiện rằng, ngay cả khi mã nguồn đã bị xóa khỏi kho lưu trữ trên GitHub, bao gồm cả kho công khai và kho riêng tư, dữ liệu của mã nguồn đó và các bản sao phân nhánh vẫn có thể được truy cập.


Nhà nghiên cứu bảo mật Joe Leon đã đề xuất một thuật ngữ mới là "tham chiếu đối tượng phân nhánh chéo" (Cross-Fork Object References - CFOR) để mô tả tình huống mà một nhánh của kho lưu trữ mã nguồn có thể truy cập dữ liệu nhạy cảm từ nhánh khác, bao gồm cả những dữ liệu từ các nhánh riêng tư và đã bị xóa.

Các nhà nghiên cứu đã tạo và phân nhánh các kho lưu trữ mã nguồn để chứng minh rằng, ngay cả khi kho lưu trữ ban đầu bị xóa, dữ liệu chưa được đồng bộ hóa vẫn có thể được truy cập thông qua các nhánh phân nhánh.

Đặc điểm này của GitHub đã gây ra cuộc thảo luận sôi nổi trên mạng xã hội và các diễn đàn công nghệ, nhiều người dùng bày tỏ lo ngại và kêu gọi GitHub có biện pháp để giải quyết vấn đề này.

Tuy nhiên, công ty mẹ của GitHub là Microsoft phản hồi rằng, đây là một "tính năng" do họ cố ý chứ không phải là lỗi (bug). Phía GitHub cũng cho biết, thiết kế này phù hợp với mô tả trong tài liệu chính thức và hoàn toàn đáp ứng được kỳ vọng.

Dylan Ayrey, đồng sáng lập và CEO của Truffle Security, giải thích rằng, đây là khái niệm "commit lơ lửng" (dangling commit), một khái niệm của git chứ không phải là tính năng ban đầu của GitHub.

Commit lơ lửng có thể tồn tại trên bất kỳ nền tảng git nào, bao gồm Gitbucket, GitLab, GitHub, v.v.

Ayrey cũng chỉ ra rằng, ngay cả khi kết nối giữa commit và cây mã bị cắt đứt, các commit này vẫn sẽ được giữ lại và chỉ cần có định danh có thể truy cập trực tiếp các nội dung này, dữ liệu vẫn có thể được tải về bình thường.

Ông đề nghị GitHub nên cân nhắc việc không chia sẻ hồ phân nhánh giữa các nhánh và tạo ra tính năng mới cho phép người dùng xóa vĩnh viễn các commit.
 
Trả lời