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

Đang mở Phù hợp với người mới
#3,709 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@ericcurtin đang làm issue này rồi.

Từ ngày 6/11/2026.

  • #3716 của @ericcurtin — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
documentation, security

Hướng nghiên cứu

Đọc docs/guides/network-egress.md cùng với cmd/atenet/internal/router/egress/egress.go, tập trung vào verifyActorCertificate và validateActor. Kiểm tra quyết định trong #3347 và hạn chế được theo dõi trong #2208. Cập nhật hướng dẫn để mô tả các bước kiểm tra mà luồng Envoy hiện thực hiện và liên kết đến hạn chế về việc tái sử dụng tên.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Go
Star
6.1k
Fork
676
Merge trung bình
2 ngày
Pull request đã merge (30 ngày)
456

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của agent-substrate/substrate

Tất cả issue của agent-substrate/substrate

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.