POST /registry/register accepted any URL string and persisted it as the workspace's A2A endpoint — an attacker could register a workspace with url=http://169.254.169.254/latest/meta-data/ and cause the platform to proxy requests to the cloud metadata service when proxying A2A traffic. Fix: validateAgentURL() helper rejects: - empty URL - non-http/https schemes (file://, ftp://, etc.) - 169.254.0.0/16 link-local IPs (AWS/GCP/Azure IMDS endpoints) Allows RFC-1918 private ranges (Docker networking uses 172.16-31.x.x). Adds 12 unit tests covering valid Docker-internal URLs and all SSRF vectors. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cmd | ||
| internal | ||
| migrations | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||