已开启
【安全】【威胁分析】标签操作静默吞错,删除成功但添加失败时 PR 丢失标签且无强告警 #13
liudongfang创建于 27 天前
Lliudongfang
23 天前 修改标题为 “【安全】【威胁分析】标签操作静默吞错,删除成功但添加失败时 PR 丢失标签且无强告警”,原标题为“【安全】【可靠性】标签操作静默吞错,删除成功但添加失败时 PR 丢失标签且无强告警”
23 天前 修改标题为 “【安全】【威胁分析】标签操作静默吞错,删除成功但添加失败时 PR 丢失标签且无强告警”,原标题为“【安全】【可靠性】标签操作静默吞错,删除成功但添加失败时 PR 丢失标签且无强告警”
崔世英
15 天前 评论:
15 天前 评论:
已修复(分支 security-issues)。
修复方法:GitHub / Gitee 标签客户端(github-label-client.ts / gitee-label-client.ts):
- 单个标签删除失败:由空 catch 改为
core.warning强警告(含标签名、PR、错误详情),不阻断; - 目标标签添加失败(非 2xx / 异常):同样输出强警告后按失败返回。
PR 标签丢失不再静默。


9 天前 关联了pull request:fix(security): 修复敏感信息泄露与供应链安全问题
6 天前 issue状态由 待修复 改变为 待验收
问题
GitHub / Gitee 标签客户端在清理旧标签时单次删除失败被空 catch 忽略,添加失败也仅静默返回:
src/platform/github/github-label-client.ts:53-63:逐个 DELETE 清理标签,catch { /* 单个删除失败不阻断 */ }src/platform/github/github-label-client.ts:65-78:添加失败返回{ label: null }src/platform/gitee/gitee-label-client.ts:42-53、55-67:同样的静默吞错模式若清理标签成功、添加目标标签失败,PR 会丢失全部相关标签却无 warning 级以上告警,状态判定(成功/失败标签)失去依据(CWE-754)。
影响
PR 标签状态不一致且难以追溯,同步状态展示与实际不符。Tier 3(纵深防御),CVSS 4.0 约 4.7。
建议修法
LabelUpdateResult中区分「删除失败」「添加失败」两种失败归因完整分析见《威胁建模分析报告(STRIDE-A)》,对应发现 FIND-SYNC-06。