fix(a2a): fail closed when no auth is configured on unrecognized runtimes - #2450
Open
sebastionoss wants to merge 4 commits into
Open
fix(a2a): fail closed when no auth is configured on unrecognized runtimes#2450sebastionoss wants to merge 4 commits into
sebastionoss wants to merge 4 commits into
Builder.io Integration / Review Agent
completed
Jul 28, 2026 in 13m 18s
3 potential issues found
Incremental Code Review Summary
This update closes the previously identified reverse-proxy loopback bypass by requiring an explicit NODE_ENV=development|test signal in addition to a loopback peer, and adds broad regression coverage for both JSON-RPC and processor routes. The core security direction is sound, and the previous blocking findings were fixed in the prior increment.
Risk level: High, because this PR changes authentication and asynchronous task execution boundaries.
New findings
- 🟡 MEDIUM — Agent cards can still omit JWT authentication metadata on unrecognized runtimes even though remote unsigned requests now receive 503, creating a discovery/protocol mismatch.
- 🟡 MEDIUM — API-key-only authenticated async requests can enqueue tasks whose processor dispatch is rejected because
_process-taskonly acceptsA2A_SECRET-signed or trusted-local requests. - 🟡 MEDIUM — The new server integration tests do not clear every production-runtime environment signal, so CI provider variables can make supposedly non-production cases fail nondeterministically.
Focused incremental reviews found no further security bypasses. Browser testing is not applicable to these backend/authentication and test changes.
🧪 Browser testing: Skipped — PR only modifies backend authentication, documentation, changeset metadata, and tests, with no user-facing UI impact.
Loading