Skip to content

docs: add security surface and residual risk register (#499) - #510

Merged
liujuanjuan1984 merged 2 commits into
mainfrom
chore/security-audit-499
Aug 22, 2026
Merged

docs: add security surface and residual risk register (#499)#510
liujuanjuan1984 merged 2 commits into
mainfrom
chore/security-audit-499

Conversation

@liujuanjuan1984

@liujuanjuan1984 liujuanjuan1984 commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

关联 Issue

Closes #499

背景

#499 系统安全审计的五个拆解子项(#500/#501/#502/#503/#504)已分别由 PR #505/#507/#509/#506/#508 修复并合并。本次为审计收口,按维护决策区分「一次性记录」与「可持久化文档」:

  • 一次性审计结论(报告、测试计划、供应链记录)以本 issue + PR 记录交付,不写入仓库;
  • 需要随代码持续维护的安全事实落库为持久文档。

变更内容

新增 docs/security-architecture.md(持久化活文档,非某次审计的报告),集中承载安全面与残余风险,作为单一权威源;README / architecture / maintainer-architecture / guide / SECURITY 均交叉引用:

  • 网络面映射:监听器与绑定、REST 路由表、JSON-RPC 面、认证与授权(含 capability 门控)、输入限制与边界防护(Origin/Host、请求体大小、限流、流式预算、日志上限)、出站副作用(a2a_call 网络策略、CLI、上游 OpenCode 客户端)
  • 端到端映射:远程 A2A 输入 → OpenCode 会话/工具/文件副作用(消息流、session 扩展、workspace/worktree 变更、中断、持久化)
  • 残余风险登记 R-1..R-7(见下)
  • 维护规则:本文档随安全相关改动同步更新;不承载一次性评审结论

文档刻意不包含审计基线、修复 PR 对照表等过程性 issue 信息,避免退化为特定 issue 的报告。

残余风险(同步登记于 docs/security-architecture.md

  • R-1 出站 a2a_call DNS-rebinding 校验为 resolve-then-connect,存在 TOCTOU;白名单 + 私网拒绝已降低暴露,pinned-IP 连接未实现
  • R-2 限流为进程内实现,多进程部署需网关级限流或按实例限额
  • R-3 非 loopback 绑定且未配置 A2A_ALLOWED_HOSTS 时仅启动告警,依赖部署方 Host 校验
  • R-4 单租户共享工作区边界、默认仅静态凭据(威胁模型见 SECURITY.md)
  • R-5 开启 A2A_LOG_PAYLOADS 后日志可能含敏感数据
  • R-6 push notification config 面 exposed-but-unsupported(501/unsupported),能力恢复有意推迟
  • R-7 SQLite 加固豁免 :memory:/file: URI 与非 POSIX 平台

验收对照

  • 映射全部监听器、路由、认证、授权、输入限制和出站副作用 → docs/security-architecture.md
  • 端到端映射远程 A2A 输入到 OpenCode 会话/工具/文件副作用 → docs/security-architecture.md
  • 交付安全报告与测试计划 → 本 issue + PR 记录(不落库)
  • 供应链/CI 审计结果记录 → 本 issue + PR(不落库)
  • issue 验收 checkbox 同步勾选

验证

  • bash ./scripts/doctor.sh 全绿:pre-commit、mypy、793 passed、覆盖率 93.31%、构建与 wheel smoke 通过(文档改动为主,回归全量验证)

@liujuanjuan1984 liujuanjuan1984 changed the title docs: consolidate security audit mapping and residual risks (#499) docs: add security surface and residual risk register (#499) Aug 22, 2026
@liujuanjuan1984
liujuanjuan1984 merged commit 90f9136 into main Aug 22, 2026
3 checks passed
@liujuanjuan1984
liujuanjuan1984 deleted the chore/security-audit-499 branch August 22, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore] 对 opencode-a2a 执行系统安全审计(对齐 codex-a2a #331)

1 participant