已开启
【安全】【威胁分析】请求日志明文打印含 accessToken 的完整请求体,仓库令牌进入 CI 日志 #11
liudongfang创建于  14 天前
liudongfang成员
14 天前 创建

问题

APIG 客户端在 info 级日志中输出完整请求体,而触发同步请求的请求体包含仓库访问令牌(accessToken):

  • src/apig-client.ts:85(OIDC 模式):core.info([APIG] → ${url.href} ${bodyStr})
  • src/apig-client.ts:135(App Code 模式):同样完整打印 bodyStr
  • 触发请求体由 src/main.ts:57-68 组装,其中 accessToken 为 git_token 或平台令牌明文

即:每次评论事件触发同步时,仓库令牌明文进入 CI 构建日志(对有仓库读权限的成员可见)。此外 debug=true 时 configure({debug:true})(src/apig-client.ts:49)依赖 SDK 内部脱敏行为,脱敏覆盖度未在本仓库验证(CWE-532)。

影响

仓库访问令牌泄漏到构建日志。Tier 2,CVSS 4.0 约 6.6。

建议修法

  • 打印请求体前对 accessToken 字段做脱敏(如替换为 ****)
  • 仅在 debug 模式输出请求体,且对已知敏感字段强制脱敏
  • 对 OIDC SDK 调试日志做二次脱敏审计

完整分析见《威胁建模分析报告(STRIDE-A)》,对应发现 FIND-SYNC-03。

likedislike
Lliudongfang成员
10 天前 修改标题为 “【安全】【威胁分析】请求日志明文打印含 accessToken 的完整请求体,仓库令牌进入 CI 日志”,原标题为“【安全】【信息泄露】请求日志明文打印含 accessToken 的完整请求体,仓库令牌进入 CI 日志”
崔世英
崔世英成员
2 天前 评论:

同 issue #5:src/apig-client.ts:97/147 两处 core.info 请求体日志均改为经 maskAccessToken() 脱敏输出,完整请求体(含 accessToken)不再进入 CI 日志。已修复(分支 security-issues)。

likedislike