EXPLORINEER
vi

Hatena

Vì sao vẫn cần ghtkn khi GitHub CLI đã hỗ trợ token ngắn hạn

Phần mềmLần đầu xuất hiện 32 điểm


Tác giả của ghtkn, một công cụ lấy mã truy cập GitHub cho việc phát triển trên máy cá nhân, nói rằng ghtkn vẫn cần thiết dù GitHub CLI (gh) đã hỗ trợ mã truy cập ngắn hạn, tự làm mới.

Chuyện gì đã xảy ra?

GitHub CLI (gh) giờ hỗ trợ mã truy cập ngắn hạn, và chúng tự động làm mới. Tính năng này vẫn đang thử nghiệm công khai và người dùng phải tự bật. GitHub dự định sẽ đặt nó làm mặc định sau này. Một số người có thể nghĩ rằng các công cụ bên thứ ba như ghtkn không còn cần nữa. Tác giả không đồng ý và vẫn tiếp tục phát triển ghtkn.

ghtkn là gì?

ghtkn là công cụ dòng lệnh. Nó lấy mã truy cập của người dùng (User Access Token) từ một GitHub App để dùng khi phát triển trên máy cá nhân. Mã truy cập hết hạn sau 8 giờ. Mã làm mới (refresh token) sống lâu hơn và dùng để lấy mã truy cập mới khi mã cũ hết hạn. Nếu kẻ xấu lấy được mã làm mới, chúng có thể tiếp tục tạo mã truy cập mới. Vì vậy, bảo vệ mã làm mới là vấn đề quan trọng nhất.

Các con số chính

  • Mã truy cập hết hạn sau 8 giờ.
  • Mã làm mới hết hạn nếu không dùng trong 6 tháng.
  • Mỗi lần làm mới, hệ thống cấp một mã làm mới mới.
  • gh lưu mã trong bộ nhớ khóa (keyring) của hệ điều hành. Nếu ghi vào keyring thất bại, gh lưu mã vào file hosts.yml dạng văn bản thường và chỉ hiện một dòng cảnh báo.
  • Mã của gh cần ít nhất các quyền repo, read:org và gist, nên không thể chỉ đọc.

Vì sao điều này quan trọng?

Tác giả cho rằng ghtkn có những ưu điểm bảo mật rõ ràng. ghtkn mã hóa mã làm mới và không bao giờ trả nó qua giao diện của agent. Công cụ này giới hạn quyền truy cập vào các tổ chức và kho mã nơi ứng dụng được cài đặt. Người dùng cũng có thể chọn ứng dụng với các quyền khác nhau. ghtkn không bao giờ lưu mã làm mới dạng văn bản thường. Ngược lại, mã của gh có thể truy cập mọi kho mã mà người dùng có quyền xem. Theo tác giả, những ưu điểm này vẫn quan trọng ngay cả khi gh đã có mã ngắn hạn.

Cần theo dõi điều gì?

  • Mã ngắn hạn của GitHub CLI có trở thành mặc định hay không, và việc này thay đổi cách lưu mã thế nào.
  • Điểm yếu của keyring trên macOS đã được sửa hay thay đổi hay chưa.
  • Lệnh docs của ghtkn từ phiên bản v0.4.2 trở lên, và kỹ năng agent của ghtkn.

Chú giải

ghtkn
Công cụ dòng lệnh lấy mã truy cập GitHub từ một GitHub App để phát triển trên máy cá nhân.
GitHub CLI (gh)
Công cụ dòng lệnh chính thức của GitHub, dùng để làm việc với GitHub từ máy tính.
refresh token
Mã làm mới, dùng để lấy mã truy cập mới khi mã cũ hết hạn.
keyring
Bộ nhớ khóa của hệ điều hành, dùng để cất giữ mật khẩu và mã một cách an toàn.
GitHub App
Ứng dụng được cài trên GitHub, có quyền riêng và chỉ truy cập các tổ chức hoặc kho mã đã được cài đặt.

Nguồn: Đọc bản gốc trên Hatena ↗

Bài giải thích này được AI viết lại bằng lời dễ hiểu từ bài gốc. Hãy kiểm tra bài gốc để xác nhận thông tin.