Ctrl K
ComunidadGuías…

SECURITY.md

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

Archivo original ↗Preguntar a KiBot
# Security Policy

## Reporting a vulnerability

**Please do not open public GitHub issues for security vulnerabilities.**

Report privately via GitHub's **"Report a vulnerability"** button under the
repository's **Security** tab (Security Advisories → Private vulnerability
reporting). If that is unavailable, open a minimal issue asking a maintainer
to contact you privately — do not include details in the issue.

Please include:

- A description of the issue and its impact
- Steps to reproduce (proof-of-concept if possible)
- Affected version / commit
- Any suggested remediation

We aim to acknowledge reports within 5 business days and to provide a
remediation timeline after triage. Please give us a reasonable window to
release a fix before any public disclosure.

## Supported versions

Chorus is pre-1.0 and under active development. Security fixes are applied to
the `main` branch. Pin to a commit you have reviewed for production use.

## Security model & operator responsibilities

Chorus orchestrates autonomous coding agents and exposes a local control
plane. Operators should understand the following before deploying it:

- **Container boundary.** Container mode is strongly recommended because agents
  run AI CLIs with approval bypasses. The boundary reduces host exposure, but
  mounted Chorus data, mounted CLI auth directories, forwarded SSH agents, and
  inherited environment variables remain sensitive.
- **Bare-metal risk.** Bare-metal mode gives agent CLI processes the same OS
  account, filesystem permissions, SSH keys, package managers, and network
  access that you have. Use a dedicated machine, VM, or OS account.
- **Network binding.** Without config/env overrides, the daemon defaults to
  `0.0.0.0:7878`. The example config binds `127.0.0.1`, and container launchers
  publish only `127.0.0.1:7878` on the host by default. For anything beyond a
  trusted single host, set `CHORUS_HOST=127.0.0.1` and put it behind an
  authenticated reverse proxy or a private overlay (e.g. Tailscale).
- **No built-in authentication.** The HTTP/WebSocket API is not
  authentication-protected on its own. Do not expose it directly to the
  public internet.
- **Session tokens.** Internal agent sessions are addressed by bearer-style
  tokens in the URL path. Treat daemon logs and request logs as sensitive.
- **Autonomous git/GitHub actions.** Agents create branches and open pull
  requests using your configured `gh`/git credentials. `main` is never pushed
  to autonomously, but review the guardrails before granting credentials.
- **Secrets.** Provide credentials via environment variables / `.env`
  (gitignored). Never commit secrets; agents are instructed not to surface
  secrets in logs or comments, but you remain responsible for scoping the
  credentials you supply.

## Scope

Issues in third-party dependencies should be reported upstream, though we
welcome a heads-up so we can bump the affected dependency.