[P1 security] Agent web fetch can reach private networks through DNS or redirects #133
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-review
quasar
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/quasar-ui#133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
src/lib/agent-web.jsblocks literal private hostnames/IP addresses before callingfetch(), but that does not enforce a network boundary.The browser performs DNS resolution and follows redirects before
response.urlis validated.A URL that looks public can therefore:
CORS may prevent reading some responses, but it does not reliably prevent the request itself or GET side effects. Browser Private Network Access behavior is not a portable security boundary and does not cover every target/browser/deployment state.
Because agents can invoke these tools based on model output, untrusted document/web content can potentially induce local-network requests.
Required fix
A browser-only arbitrary URL fetcher cannot safely prove the resolved destination. Route external fetch/scrape through a trusted gateway that validates DNS and every redirect hop server-side.
Gateway requirements:
Until that gateway exists, disable agent-driven arbitrary fetch/scrape by default. A safer temporary browser mode is an explicit user-open workflow rather than background fetching.
Do not treat
redirect: "manual"in browser JavaScript as a complete fix: cross-origin redirect responses can be opaque, and DNS resolution still cannot be verified from the page.Acceptance criteria