Ctrl K
ComunidadGuías…

SECURITY.md

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

Archivo original ↗Preguntar a KiBot
# Security Policy

## Supported Versions

BoardRipper ships as rolling releases through the in-app self-update path
(see [Self-update](README.md#self-update)). Only the **latest released
version** receives security fixes; please update before reporting an issue
to confirm it still reproduces.

## Reporting a Vulnerability

**Email:** [mail@ripperdoc.de](mailto:mail@ripperdoc.de) — subject line `BoardRipper security`.

If the issue affects the self-update pipeline (signed-manifest verification,
the orchestrator container, the bootstrap secret, or anything that could
deliver malicious code to running installs), please mark it `URGENT` in
the subject and I will respond within 48 hours. For everything else,
expect a response within a week.

Please include:

- BoardRipper version (visible in the toolbar version badge, or `docker
  inspect ghcr.io/alexeyinwerp/boardripper`)
- Deployment shape (Docker on Linux/Mac/Windows, Synology, standalone Go
  binary, Electron desktop)
- Reproduction steps or PoC, ideally as a single shell command or
  curl invocation
- Whether you've publicly disclosed yet (please do not — see below)

I'll work with you on a coordinated disclosure timeline. Default: fix
shipped within 14 days, public advisory within 30 days. Faster for
trivial fixes, slower if you're OK waiting and the fix needs care.

## Out of Scope

These are tracked as known limitations rather than vulnerabilities; please
do not file new reports for them unless you have a fresh angle:

- **Unauthenticated endpoints on a trusted-LAN deployment.** BoardRipper
  is designed for self-hosted home/shop networks where the operator
  controls who can reach the port. The CSRF middleware blocks browser
  drive-by attacks from a different origin, but a `curl` from another
  device on the same LAN can hit unauthenticated endpoints
  (`/api/databank/*`, `/api/sync/*`, `/api/files/*`). Adding session
  auth is on the roadmap.
- **`/api/update/bootstrap` cookie reachable on LAN.** Same caveat — a
  LAN attacker can curl the bootstrap endpoint and obtain the per-install
  update token. They still cannot install a non-signed manifest, and the
  counter + freshness + min-version checks limit replay scope to within
  the last 30 days.
- **The `apk add curl` runtime fetch in the orchestrator container.**
  Pinned to alpine-signed packages; replacing with a pre-built BoardRipper
  orchestrator image is on the roadmap.
- **No full Content-Security-Policy on the SPA.** `X-Frame-Options: DENY`
  + `X-Content-Type-Options: nosniff` + `Referrer-Policy: no-referrer`
  are set; a strict CSP needs Vite-build testing to avoid silently
  breaking inline styles / lazy-loaded chunks.

## Known intentional exposures

These are documented format-level decisions, not vulnerabilities:

- Hard-coded DES key in the XZZ parser (`0xdcfc12ac00000000`) — required
  by the file-format spec; matches OpenBoardView's reference parser.
- Default RC6 key in the FZ parser — same reason.
- Bit-rotation XOR pattern in the BRD parser — same reason.

These are parser-correctness primitives, not security primitives. Please
do not file reports about them; they exist because the file formats
require them.

## Hall of Fame

If your report leads to a fix, I'll credit you in the release notes
unless you prefer to stay anonymous — let me know in the email.