mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 01:15:14 +08:00
彻底收敛 1-2 的两处残留凭据暴露: - 子进程 argv:daemon_child_args 不再把 --proxy <url> 写入子进程参数,改为 只放不含凭据的内部 flag --proxy-from-env,真实 URL 经 BAT_OFFICIAL_SYNC_PROXY_URL 环境变量下传。凭据从世界可读的 /proc/<pid>/cmdline(0444)转移到仅属主可读的 /proc/<pid>/environ(0400);子进程解析后立即 env::remove_var,避免被 curl 等 孙进程继承。 - 状态文件 at-rest:0600 状态文件的 command 字段不再含凭据。restart/reload 复用 所需的 URL 改存专用 0600 文件 bat-proxy.secret,该文件永不进入状态输出或 --json; clean-stable 会在后台停止后清除它。 复用型 restart/reload 从 bat-proxy.secret 还原代理;凭据文件缺失时(如 clean-stable 后)明确报错要求重新传入 --proxy,而非静默丢弃代理。 验证:新增 curl_proxy_url、secret 文件 0600 往返、--proxy-from-env 读取并清除 环境变量的单测;真机起停 daemon 确认凭据不在 cmdline/状态文件/status --json, 仅在 0600 secret 文件与 owner-only environ;复用 restart 成功还原、clean-stable 后复用 restart 明确报错。 对应 issue #18 维护清单 1-2 残留项。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>