airvzxf / airvzxf/ftp-deployment-action

[EPIC] entrypoint.sh hardening audit (F2 round)

未关闭
#196 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
audit epic security
主要语言
Shell
星标
37
派生
9
平均合并
44 分钟
30 天内合并 PR
47

描述

gh issue create --title "[EPIC] entrypoint.sh hardening audit (F2 round)" --label "epic,security,audit" --body "## EPIC: entrypoint.sh hardening audit (F2 round)

Source: F2 audit round, 2026-09-03. This EPIC aggregates the 9 findings from the entrypoint.sh audit (1 CRITICAL, 2 HIGH, 3 MEDIUM, 3 LOW).

The CRITICAL is a lock-release window during early-exit; should land in v2.11.3 alongside the lib.sh CRIT-1 (they are in the same RCE/credential-leak class). HIGH-2 is an unbounded-runtime bug; HIGH-1 is a retry-classification gap that complements #138.

### CRITICAL

- [ ] #188 entrypoint.sh C1 — EXIT trap releases concurrency lock BEFORE acquire returns (window 222->261)

### HIGH

- [ ] #138 TLS/handshake errors not classified as permanent (existing; F2 added detail; continuation of #138)
- [ ] #189 entrypoint.sh H2 — INPUT_MAX_RETRIES=0 + 5h timeout per attempt = unbounded total runtime

### MEDIUM

- [ ] #190 entrypoint.sh M1 — INPUT_SERVER not validated with validate_path; raw value flows into lftp -e
- [ ] #191 entrypoint.sh M2 — GITHUB_OUTPUT write aborts the rest of the script
- [ ] #192 entrypoint.sh M3 — /home/lftp/.lftp-logs grows unbounded across runs

### LOW

- [ ] #193 entrypoint.sh L1 — lftp log file is truncated on each retry; should append
- [ ] #194 entrypoint.sh L2 — print_resolved_config is not gated by INPUT_DEBUG
- [ ] #195 entrypoint.sh L3 — INPUT_SERVER with user:pw@ embedded makes lftp ignore .netrc

## Suggested resolution order

1. Land C1 in v2.11.3 with the lib.sh CRIT-1 (same credential-exfil class).
2. Land H2 + the permanent-error classifier (F2 detail on #138) together in v2.11.3.
3. Batch MEDIUMs into v2.11.4.
4. LOWs into a later cleanup release.

## Source

F2 audit 2026-09-03 (entrypoint.sh audit). Reporter: subagent-pekodbj7."

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start by reading entrypoint.sh and the linked findings #188-#195, with #138 as the existing related issue; lib.sh CRIT-1 is also named as a release companion. Done means the nine audit findings are addressed through their individual issues and landed in the stated v2.11.3, v2.11.4, or later cleanup order.

由索引模型根据 Issue 内容生成。

评估

技术栈
github-actions, shell
领域
ci-cd, devops, security
Issue 类型
缺陷
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。