Skip to content

Security: WebFetch sends complete user URLs to Jina #4884

Description

@hamb1y

Security / privacy issue

WebFetchTool validates URLs and uses the SSRF-aware pinned transport for direct fetches, but _fetch_jina() creates a plain httpx.AsyncClient and sends the complete user URL to https://r.jina.ai/{url}.

Relevant code: nanobot/agent/tools/web.py:1036-1045.

Impact

  • Query-string credentials and signed URLs may be disclosed to a third party.
  • User browsing targets are sent externally even when local direct fetching would be expected.
  • The local SSRF policy does not control what the remote Jina service fetches.

Suggested fix

Make third-party reader use explicit opt-in, strip credentials/fragments before forwarding, document the disclosure, or fetch locally and pass only retrieved content to downstream processing. Add tests proving sensitive URL components are not forwarded.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions