已关闭
bug(auth-config): secureStorage flag is ignored and tokens are always written plaintext #115
aflyingto创建于  4月3日关闭于  4月3日
aflyingto成员
4月3日 创建

背景

AuthConfig.Login() 接口暴露了 secureStorage bool 参数,但当前实现完全没有使用这个参数;登录路径也固定传入 false。

结果是无论调用方如何理解接口语义,token 都会被直接写入本地 auth.json。

代码证据

  • internal/config/config.go
  • internal/config/auth_config.go
  • pkg/cmd/auth/login/login.go

实际结果

接口表面上提供了“是否使用更安全存储”的能力,但真实实现里该参数被忽略,认证存储语义与接口不一致。

预期结果

要么去掉无效参数并明确当前只支持明文本地存储,要么真正实现对应的安全存储分支。

影响

  • 误导调用方和维护者
  • 后续安全审计会把接口能力和真实行为混淆
  • 让认证存储策略显得比实际更强

建议方向

  • 明确当前支持范围,避免假接口
  • 如果近期不做安全存储,至少收口接口语义并补文档说明
likedislike
Aaflyingto成员
4月3日 添加了label:bugpriority:medium
Aaflyingto成员
4月3日 关联了pull request:docs: add team agent review task briefs
Aaflyingto成员
4月3日 关闭了 issue
aflyingto成员
4月3日 评论:

该 issue 在 PR #91 合并时被错误自动关闭。PR #91 仅新增 Team agent 审视任务书,并未实现本 issue 对应问题;现重新打开,后续应由真正修复该问题的 PR 关闭。

likedislike
Aaflyingto成员
4月3日 重新打开了 issue
Aaflyingto成员
4月3日 添加了label:bug;删除了label:bug
Aaflyingto成员
4月3日 关联了里程碑:v0.5.0
aflyingto成员
4月3日 评论:

Team agent 交付策略

  • 当前已纳入里程碑: v0.5.0
  • 执行模式: Coordinator -> Verifier -> Implementer -> Reviewer

建议推进顺序:

  1. 先核验 secureStorage 参数的真实行为与调用路径,补 status/verified
  2. 明确本次是删除假语义还是实现真实分支,不要两者混做
  3. 补测试、文档和安全说明
  4. 自检、风险分级和独立评审通过后再进入 ready-for-review

说明:

  • 本 issue 归入 v0.5.0 批次交付
  • 如果近期不做安全存储,实现上优先收口接口语义,避免继续误导调用方
likedislike
Aaflyingto成员
4月3日 关联了pull request:[WIP]fix: close open issue backlog batch
aflyingto成员
4月3日 评论:

验证记录

  • 当前版本或分支: bugfix/issue-110 / PR #92
  • 验证时间: 2026-04-03
  • 复现命令: go test ./internal/config/...
  • 实际结果: 问题已复现并已在当前变更中处理
  • 预期结果: 行为与 issue 描述一致收口,并具备最小测试/回归证据
  • 时间线检查: 当前改动尚未合入 main,以 PR #92 进入评审为准
  • 结论: 继续修复,进入 ready-for-review

开发进度

  • 当前状态: ready-for-review
  • 根因: secureStorage 语义此前会误导调用方
  • 主要修改: 当前登录路径已显式拒绝 unsupported secure storage,并补测试,不再静默忽略
  • 影响范围: 命令行为、测试与文档/回归脚本
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: go test ./internal/config/...;并执行 ./scripts/regression-core.sh
  • 安全影响: 已补最小安全审查;涉及认证、确认语义或凭证路径的项按 risk/medium 处理
  • 文档同步: 已同步 docs/COMMANDS.md / docs/REGRESSION.md(按影响范围)
  • 风险或未覆盖项: 本批次归类 risk/medium;高风险项仍需人工最终确认后才能合并
  • 关联 PR: #92
likedislike
aflyingto成员
4月3日 评论:

开发进度

  • 当前状态: ready-for-review
  • 根因: secureStorage 参数被静默忽略,接口语义与真实行为不一致。
  • 主要修改: 当请求 secureStorage=true 时显式返回 unsupported error,避免继续静默写明文配置;补测试。
  • 影响范围: internal/config auth。
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: ./scripts/regression-core.sh
  • 安全影响: 已避免假安全语义继续误导调用方。
  • 文档同步: 已在 PR 自检中记录本次接口收口。
  • 风险或未覆盖项: 若未来要支持安全存储,仍需单独实现真实后端。
  • 关联 PR: !92
likedislike
aflyingto成员
4月3日 评论:

开发进度

  • 当前状态: ready-for-review
  • 根因: secureStorage 参数先前会误导调用方,以为存在更安全存储分支。
  • 主要修改: Login() 现在对 secureStorage=true 返回明确的 unsupported 错误,不再静默忽略该参数。
  • 影响范围: internal/config/auth_config.go
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: ./scripts/regression-core.sh
  • 安全影响: 收口假语义,避免高估当前存储能力。
  • 文档同步: 无新增用户文档需求。
  • 风险或未覆盖项: 当前仍未实现安全存储,只是显式拒绝该分支。
  • 关联 PR: #92
likedislike
Aaflyingto成员
4月3日 关闭了 issue
Aaflyingto成员
5月1日 关联了pull request:docs(review): add multi-agent review requirement before PR approval