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

Aperta Adatta ai principianti
#3,709 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ericcurtin ci sta già lavorando.

Dal 6/11/2026.

  • #3716 di @ericcurtin — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
74/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go

Direzione di ricerca

Leggi docs/guides/network-egress.md insieme a cmd/atenet/internal/router/egress/egress.go, concentrandoti su verifyActorCertificate e validateActor. Controlla la decisione in #3347 e la limitazione tracciata in #2208. Aggiorna la guida per descrivere i controlli attualmente eseguiti dal percorso Envoy e inserisci un link alla limitazione relativa al riutilizzo dei nomi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Go
Stelle
6.1k
Fork
676
Merge medio
2g 41m
PR unite (30g)
500

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di agent-substrate/substrate

Tutte le issue di agent-substrate/substrate

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.