Open
【安全】【威胁分析】仓库访问令牌明文中转至第三方 APIG 网关 #9
liudongfangAdd on  28 days ago
liudongfangCollaborators
28 days ago Create

问题

buildTriggerRequest 将 git_token 输入(或平台运行时注入令牌)放入触发请求的 accessToken 字段,随 POST 请求发送到 APIG 网关 cross-region/pr-sync/trigger:

  • src/main.ts:39-40:const token = core.getInput("git_token").trim() || resolvePlatformToken(process.env, ctx.platform)
  • src/main.ts:67:accessToken: token || undefined
  • src/apig-client.ts:186-196:triggerPrSync 将完整请求体(含 accessToken)发送至网关

代码注释(src/main.ts:30)表明令牌为空时后端会回退平台已授权令牌,即并非所有场景都必须中转仓库令牌。

影响

具备仓库写权限的令牌被跨系统传递到 OpenLibing 侧网关,凭证暴露面从本平台扩大到网关后端链路(存储、日志、下游服务)。CWE-524 / CWE-798。Tier 2,CVSS 4.0 约 6.6。

建议修法

  • 评估是否所有同步场景都需中转仓库令牌;优先由后端使用平台已授权令牌
  • 确需中转时对 accessToken 字段做端到端加密或使用短时效一次性授权票据
  • 文档明确要求 git_token 必须以 secret 方式配置

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

likedislike
LliudongfangCollaborators
24 days ago Change title to "【安全】【威胁分析】仓库访问令牌明文中转至第三方 APIG 网关", originally titled "【安全】【凭证管理】仓库访问令牌明文中转至第三方 APIG 网关".
崔世英
崔世英Collaborators
16 days ago Comments:

已修复(分支 security-issues)。

修复方法:buildTriggerRequest 不再将 git_token/平台运行时令牌填入触发请求的 accessToken 字段,PrSyncTriggerRequest 接口已删除该字段(后端 /pr-sync/trigger 配套变更见 openlibing-cicd 仓库),仓库访问令牌不再明文出站至 APIG 网关。

likedislike
崔世英崔世英Collaborators
10 days ago Associated pull request
崔世英崔世英Collaborators
8 days ago Associated pull request
崔世英崔世英Collaborators
7 days ago changed custom state from 待修复 to 待验收