Việc triển khai xác thực số gần đây của PyPI đã làm dấy lên cuộc tranh luận đáng kể trong cộng đồng Python, đặc biệt là về việc phụ thuộc nhiều vào GitHub Actions như giải pháp quy trình làm việc chính. Mặc dù hệ thống mới nhằm tăng cường bảo mật chuỗi cung ứng, phản hồi từ cộng đồng cho thấy những lo ngại quan trọng về tính độc lập của nền tảng và tính mở của hệ sinh thái.
Lo ngại về việc triển khai tập trung vào GitHub
Cộng đồng Python đã bày tỏ sự lo lắng về việc PyPI dường như ưu tiên sử dụng GitHub Actions trong hệ thống xác thực mới. Mặc dù tính năng này hứa hẹn cải thiện bảo mật thông qua việc ký dựa trên danh tính và liên kết có thể xác minh đến các kho mã nguồn, một số nhà phát triển cho rằng việc triển khai này có thể gây hạn chế cho những người làm việc bên ngoài hệ sinh thái GitHub. Như được nhấn mạnh trong các cuộc thảo luận cộng đồng:
Tôi hơi lo lắng về việc này đang thúc đẩy mạnh mẽ GitHub Actions như cách chính xác để xuất bản lên PyPI... Có lẽ tôi là một người theo chủ nghĩa lý tưởng nhưng với tư cách là người bảo trì, điều này chưa đáp ứng được kỳ vọng của tôi về tính mở của Python và PyPI.
Các tính năng chính của Chứng thực Số PyPI:
- Ký dựa trên định danh thay vì chữ ký cặp khóa
- Liên kết có thể xác minh đến các kho mã nguồn thượng nguồn
- Bắt buộc xác minh tại thời điểm tải lên
- Tích hợp với định danh Open ID Connect ( OIDC )
- Tự động tạo chứng thực cho quy trình làm việc của GitHub Actions
Tranh luận về triển khai bảo mật
Cuộc thảo luận cũng đưa ra những góc nhìn phê phán về các biện pháp bảo mật của PyPI. Một số thành viên cộng đồng đã chỉ ra các sự cố bảo mật gần đây, bao gồm việc rò rỉ khóa được JFrog phát hiện, đặt câu hỏi liệu các tính năng bảo mật mới như xác thực có thực sự giải quyết được các vấn đề bảo mật cơ bản hay không. Nhiều nhà phát triển ủng hộ các giải pháp đơn giản hơn, như sử dụng mã SHA256 đáng tin cậy, và khuyến nghị duy trì các kho lưu trữ cục bộ với quy trình kiểm tra phù hợp.
Quy trình xuất bản thay thế
Các nhà phát triển sử dụng nền tảng khác ngoài GitHub đã đặt ra câu hỏi về các tùy chọn triển khai, đặc biệt là về việc sử dụng Twine để xuất bản gói. Mặc dù tài liệu chính thức khuyến khích mạnh mẽ việc sử dụng GitHub Actions, việc thiếu hướng dẫn rõ ràng cho các quy trình làm việc thay thế đã trở thành điểm tranh cãi trong cộng đồng.
Việc giới thiệu xác thực số thể hiện một bước chuyển đổi quan trọng trong cơ sở hạ tầng bảo mật của PyPI, nhưng phản hồi từ cộng đồng cho thấy cần có thêm các tùy chọn triển khai độc lập với nền tảng và tài liệu rõ ràng hơn cho các quy trình làm việc không sử dụng GitHub. Khi hệ thống phát triển, việc giải quyết những lo ngại này sẽ là yếu tố quan trọng để duy trì tính bao trùm và tiêu chuẩn bảo mật của hệ sinh thái Python.