GitHub App令牌变长:检查40字符假设

Tech
浏览 2

如果只有新令牌失败,先检查字符串经过的路径,再考虑权限。签发成功不代表数据库或代理保留了完整值。

GitHub于2026年10月2日宣布App installation token的stateless迁移完成。默认ghs_APPID_JWT保留ghs_前缀,但从40字符增至约520字符;这不是所有个人令牌的统一规则。

说明签发、存储、传输与遮蔽的示意图,不是GitHub截图或性能测量。
说明签发、存储、传输与遮蔽的示意图,不是GitHub截图或性能测量。

区分格式和访问权限

权限、仓库范围、一小时有效期以及签发REST API不变。扩大权限不能解决截断问题,签发和使用应分开调查。

临时X-GitHub-Stateless-S2S-Token请求头将在2026年11月30日停用。验证两种格式后在期限前移除,并记录负责人。

完整保存字符串

将令牌视为不透明字符串,检查40字符验证、小数据库列、秘密存储限制,以及长Authorization请求头的拒绝或截断。

先用合成值测试,只记录长度和结果。不要把约520改成新的固定上限,应检查整条路径的文档限制。

也检查错误日志

旧格式遮蔽规则可能留下长令牌的部分内容。用合成值检查拒绝、重试和异常路径,而不只看成功请求。

GitHub安全文档涵盖最小权限、遮蔽和日志审查。本文建议存储与日志负责人共同检查;认证成功本身不足以证明安全。

小范围验证并记录期限

实际问题是系统能否端到端保留字符串。这是从官方通知得出的检查问题,不是声称社区已有共识。

先在非生产环境完成合成测试、最小权限真实调用和日志审查,再扩大范围。这是本文建议,记录失败边界、负责人和请求头移除期限。

官方来源