Ctrl K
ComunidadGuías…

SECURITY.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Security Policy

`searxng-mcp` is designed for trusted self-hosting first.

It is not a public, unauthenticated fetch proxy.

## Threat model

The server can:

- Query a SearXNG backend.
- Fetch arbitrary `http` and `https` URLs when a client asks it to.
- Render pages in a browser for extraction when render support is enabled.
- Accept requests over `stdio` or over `streamable-http` when deployed that way.

That means the main risks are:

- SSRF through arbitrary URL fetches.
- Exposure of internal services if the server can reach them.
- Content-based abuse through hostile HTML, PDFs, or JS-heavy pages.
- Resource exhaustion from large batch searches or fetches.
- Misuse of browser rendering against untrusted remote content.

## Safe deployment scope

Recommended:

- Local developer use.
- Private team use behind trusted network boundaries.
- Self-hosted internal deployments with reverse-proxy auth or equivalent access control.

Not recommended without additional controls:

- Public internet exposure.
- Open, unauthenticated `streamable-http` access.
- Deployment on a network that can reach sensitive internal services unless URL policy is restricted.

## Self-hosting caveats

- `fetch_url` and `fetch_many` can retrieve arbitrary external content. If you expose the service, add an allowlist, block private IP ranges, or place the server behind a trusted gateway.
- Rendered fetch uses a browser. Treat rendered content as untrusted input.
- If you disable TLS verification for local/self-signed backends, only do that for private infrastructure that you control.
- Keep request limits in place if the server is shared by more than one trusted user.
- Do not run the public HTTP mode without some form of authentication or network restriction.

## Browser rendering

Rendered extraction is useful, but it expands the attack surface.

Recommended controls:

- Use the hardened container image for shared deployments.
- Run the browser as a non-root user when possible.
- Keep sandboxing enabled in environments that support it.
- Disable render support if you do not need it.

## Reporting a vulnerability

If you believe you found a security issue:

- Do not open a public issue.
- Contact the maintainers privately.
- Include the affected version, the request path, and a minimal reproduction if possible.

If you are reporting an SSRF, auth bypass, or remote code execution concern, say so explicitly in the subject line.

## Security fixes

Security fixes may be released without advance notice.
The changelog will note material security changes when they are public-safe to describe.