network-egress.md describes actor certificate checks the egress gateway doesn't make

未关闭 适合新手
#3,709 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@ericcurtin 已经在做这个了。

开始于 2026年11月6日。

  • #3716 来自 @ericcurtin —— 未关闭

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
74/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
go

调研方向

将 docs/guides/network-egress.md 与 cmd/atenet/internal/router/egress/egress.go 一起阅读,重点关注 verifyActorCertificate 和 validateActor。检查 #3347 中的决定以及 #2208 跟踪的限制。更新指南,描述 Envoy 路径当前执行的检查,并链接到名称重用限制。

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

描述

area/network area/security kind/docs

The "Client Authorization" section of docs/guides/network-egress.md describes checks the egress gateway doesn't make. It says the PEP MUST:

  • require exactly one valid ActorIdentity extension with atespace, actor name, actor UID, and purpose
  • require the purpose to be atunnel, and the URI SAN to match the extension
  • confirm with ate-api-server that the actor's current UID matches the certificate

The Envoy path in cmd/atenet/internal/router/egress/egress.go does none of these:

  • verifyActorCertificate checks validity, the chain, client auth usage, and non-CA, then takes the actor from the single URI SAN. It doesn't read the extension.
  • validateActor calls GetActor by atespace and name, and checks only for RUNNING or RESUMING. It doesn't compare UIDs.

So a certificate from a deleted actor passes these checks for a new actor with the same name until it expires. Using it needs the private key held in atunnel.

#3347 was closed with a decision to document that correctness isn't guaranteed when names are reused. #2208 tracks putting the UID in the SPIFFE ID.

The guide should describe the current checks and link to that limitation. I can send a docs PR if that's the right fix.

I found this with an AI agent and checked it against main at 94e0a26a. I read the Envoy path only and didn't test it on a cluster.

主要语言
Go
星标
6.1k
派生
676
平均合并
2 天
30 天内合并 PR
456

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

agent-substrate/substrate 的其他 Issue

查看 agent-substrate/substrate 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

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