维护者确认: PR #1352 安全触发 — shell-string-exec (ci/lib.mjs)
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
## 触发原因
PR [#1352](https://github.com/makecindy/cindy/pull/1352) 命中 security 安全门。
**危险写法 2 处 (shell-string-exec)**:
- `apps/desktop/scripts/ci/lib.mjs:619` — exec() 拼接 shell 命令处理签名目录遍历
- `apps/desktop/scripts/ci/lib.mjs:621` — exec() 拼接 shell 命令处理 .app bundle 签名
两处均将 `resourcesDir` 变量直接拼入 shell 字符串,若路径含特殊字符可能触发命令注入。虽为 CI 脚本且路径通常受控,仍需维护者确认该用法可接受。
## 确认方式
维护者直接在 PR 上 **Approve** 即通过;需要修改请 **Request Changes**,作者改完后再 Approve 放行。
---
关联 PR:#1352(作者 @guyong-zapo);本 issue 由 review-pr 流程自动创建,用于先讨论该 PR 涉及的安全敏感改动,维护者确认后 PR 会恢复推进。
Contributor guide
Research direction
Review PR #1352 alongside apps/desktop/scripts/ci/lib.mjs at lines 619 and 621, where resourcesDir is interpolated into exec() shell strings. Determine whether the two signing commands need changes or maintainer approval, then use the PR review workflow: approve if acceptable or request changes if not.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell, typescript
- Domain
- ci-cd, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100