makecindy / makecindy/cindy

维护者确认: PR #1352 安全触发 — shell-string-exec (ci/lib.mjs)

Open
#1,355 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.