已开启
【安全】【威胁分析】App Code 静态共享凭证回退认证,缺少轮换机制 #10
liudongfang创建于  25 天前
liudongfang成员
25 天前 创建

问题

未配置 OIDC id-token 时回退使用 openlibing_apig_code 输入,作为静态共享凭证经 X-Apig-AppCode 请求头直发网关:

  • src/apig-client.ts:59-64:buildHeaders() 将 appCode 原样放入 X-Apig-AppCode
  • src/apig-client.ts:120-131:App 简化认证模式请求路径
  • src/credential-config.ts:38-40:仅判断是否非空,无其他约束

OIDC 免密为推荐模式(src/main.ts:170-185),但静态 App Code 仍是可用回退路径。

影响

静态共享凭证一旦泄漏即可长期冒用该网关身份,无过期、无轮换约束(CWE-798)。Tier 2,CVSS 4.0 约 6.6。

建议修法

  • 默认推进所有流水线启用 OIDC 免密(permissions: id-token: write)
  • 文档明确 App Code 必须以 secret 方式配置,并建立轮换策略
  • 可考虑对 App Code 模式输出弃用警告(deprecation notice)

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

likedislike
Lliudongfang成员
21 天前 修改标题为 “【安全】【威胁分析】App Code 静态共享凭证回退认证,缺少轮换机制”,原标题为“【安全】【凭证管理】App Code 静态共享凭证回退认证,缺少轮换机制”
崔世英
崔世英成员
13 天前 评论:

已缓解(分支 security-issues)。

修复方法:AppCode 回退认证时输出 core.warning 强警告,提示静态共享凭证缺少轮换机制、建议在工作流声明 permissions: id-token: write 迁移 OIDC 免密模式。

说明:凭证轮换/短期化属网关侧能力,插件侧无法根治,建议在上游平台跟进;OIDC 优先级已高于 AppCode,推荐所有工作流迁移。

likedislike
崔世英
崔世英成员
9 天前 评论:

处理升级(经评审):AppCode 回退已彻底禁用,插件仅支持 OIDC 免密认证(分支 security-issues,提交 da2de9c)。

  • OIDC 运行时不存在时插件直接跳过执行,并输出指引:在工作流声明 permissions: id-token: write;
  • openlibing_apig_code 输入项、ApigClient 的 X-Apig-AppCode 传输路径、PrSyncTriggerRequest 相关字段已全部删除,静态共享凭证不再具备任何代码入口;
  • dist 产物已重新生成,无 AppCode 残留;jest 145/145 通过。
likedislike
崔世英崔世英成员
7 天前 关联了pull request:fix(security): 修复敏感信息泄露与供应链安全问题
崔世英崔世英成员
5 天前 关联了pull request:docs(spec/pr-sync-action): 安全整改批次归档
崔世英崔世英成员
4 天前 issue状态由 待修复 改变为 待验收