SECURITY.md
Rama main · réplica de lectura del repositorio original.
# Security Policy
Zero is a terminal coding agent: it reads and edits files in your repository and can run shell
commands and call external model/tool endpoints. We take security reports seriously.
## Reporting a vulnerability
**Please do not open a public issue for security vulnerabilities.**
Report privately through GitHub's private vulnerability reporting:
1. Go to the repository's **Security** tab → **Report a vulnerability** (GitHub Security Advisories).
2. Describe the issue, the affected version/commit, reproduction steps, and the impact.
If you cannot use GitHub Security Advisories, open a regular issue that contains **only** a request to
be contacted for a security report (no details), and a maintainer will arrange a private channel.
Please include, where possible:
- The version, branch, or commit affected.
- A minimal reproduction and the impact (e.g. sandbox escape, secret exposure, RCE).
- Any logs or output, with secrets redacted.
## What to expect
- We aim to acknowledge a report within a few business days.
- We will work with you on a fix and a coordinated disclosure timeline, and credit you in the release
notes unless you prefer to remain anonymous.
## Scope notes
- Findings that require a malicious local user who already controls the machine running Zero, or that
depend on a user explicitly disabling the sandbox (`--skip-permissions-unsafe`), are generally
out of scope — but please report anything you are unsure about.
- Zero sends no telemetry. Network calls go to the model/tool providers you configure (and, for
keyless web search, to Exa's hosted MCP endpoint at `https://mcp.exa.ai/mcp`). The built-in
AI/ML API MCP server (`https://mcp.aimlapi.com/mcp`) is off until you run
`zero mcp enable aimlapi`. Once enabled, the Bearer key follows the aimlapi
profile resolution order (inline key, then the profile's `apiKeyEnv` — default
`AIMLAPI_API_KEY` — then the credential store), or `AIMLAPI_API_KEY` alone when
no aimlapi profile exists; a non-empty `AIMLAPI_API_KEY` can override a stored
profile key for MCP billing. The automatic key is withheld if an aimlapi profile
(or a profile reading `AIMLAPI_API_KEY`) uses a base URL other than
`https://api.aimlapi.com/v1`, `AIMLAPI_INFERENCE_URL` points elsewhere, a
non-empty user Authorization header is configured, OAuth is selected, project
config has touched the server, or the key is missing or not a single token
(including Unicode whitespace). See
[docs/EXTENDING.md](docs/EXTENDING.md#built-in-servers).