程式忍者PGNinja

GitHub Blog

GitHub CLI 新增會自動過期與更新的 OAuth 權杖選項

· GitHub CLI 推出可選擇啟用的到期自動刷新權杖機制,萬一權杖外洩也只會在數小時內失效,降低帳號被盜用的風險。

GitHub 針對自家的命令列工具 GitHub CLI(指令代稱 gh)推出一項新的安全性功能,目前以公開預覽的形式開放選擇啟用。這項功能要解決的問題是:傳統的 OAuth 存取權杖一旦外洩,往往可以無限期地被拿來使用,對帳號安全造成長期風險,新機制則讓外洩的權杖在數小時內就會自動失效,而不是永久有效。

使用者只要在登入時加上 --expiring 參數,例如執行 gh auth login --expiring,或是用 gh config set expiring_credentials enabled 永久開啟這項設定,就能啟用短效期的存取權杖,搭配可自動輪替的刷新權杖使用。系統會在背景自動用刷新權杖換取新的存取權杖,使用者不需要手動重新登入;若要讓 Git 的 HTTPS 認證也套用這套機制,還需要另外執行 gh auth setup-git。

這項功能適用於 GitHub.com、ghe.com,以及 3.23 版以上的 GitHub Enterprise Server,且需要 GitHub CLI 2.103.0 以上版本。公告也提醒,建議同時把本機的 Git 升級到 2.46 以上版本,避免舊版 Git 把已過期的權杖繼續快取使用。目前這項設定屬於選擇性開啟,但 GitHub 預告未來會成為預設行為,顯示整個產業對長效期密鑰風險的重視程度正在提高。

對正在學程式、尤其是剛開始使用命令列工具或 Git 的孩子來說,這篇公告是很好的機會教育:密碼與權杖這類「鑰匙」如果設計成永遠有效,一旦外洩就會變成長期風險,所以好的系統會讓鑰匙「有效期限很短、而且用完就自動換新」。這也是資訊安全裡一個很基本但重要的觀念。

開發工具資訊安全開源CLI

其他新聞