GitHub CLI v2.103.0 可选用会过期、自动刷新的 OAuth 令牌,泄露的令牌几小时内失效
编码智能体大量通过 gh 操作仓库,令牌寿命直接决定泄露后的损失。这一条讲怎么开、会弄坏什么。
// 要点
- 公开预览:用 gh auth login --expiring 登录,或执行 gh config set expiring_credentials enabled 让之后每次登录都启用。
- gh 保存一个会过期的访问令牌和一个轮换的刷新令牌,按需在后台刷新;泄露的访问令牌几小时内失效,而不是一直有效。
- GitHub 强烈建议用 gh auth setup-git 让 gh 充当 git 凭据助手,并升级到 git 2.46 或更新版本,避免过期凭据被缓存。
- 目前需要主动开启,未来版本计划对新登录默认启用;执行 gh auth token 后把令牌存起来复用的脚本和扩展会失效。
开发者视角让智能体跑 gh 的开发机和云端会话,我会优先开启这个选项,它和包防火墙一样,都是在缩小智能体手里凭据的爆炸半径。开之前先搜一遍脚本里有没有 gh auth token 的结果被写进文件或环境变量,这些地方要改成每次现取。