Skip to content

Security: aminghuf/chesspirit

Security

SECURITY.md

Security policy

Supported versions

Version Supported
3.x ✅
< 3.0 ❌

Reporting a vulnerability

Please do not file a public GitHub issue for security problems.

Preferred: use GitHub's private vulnerability reporting — you'll get a private, encrypted thread with the maintainer; nothing is public until a fix is published.

Alternative: email the address on the maintainer's GitHub profile.

Whichever path you pick, please include:

  • A description of the issue and what it lets an attacker do.
  • A minimal reproducer (proof-of-concept) if you have one.
  • Whether the issue is already public anywhere.

We aim to acknowledge reports within 7 days, ship a fix within 30 days for high-severity issues, and credit you in the release notes (unless you'd rather stay anonymous).

Threat model

Chesspirit is intended to run on a trusted home network, behind a reverse proxy that handles TLS. Out of the box it assumes:

  • Only invited family members reach the port.
  • The Ollama instance the coach talks to is also on the local network and trusted (Chesspirit treats Ollama responses as untrusted text but trusts the Ollama URL itself).
  • The host machine is single-tenant.

Things we do care about:

  • Cross-user data access (one profile reading another's games).
  • LLM output reaching dangerouslySetInnerHTML with unsafe URL schemes.
  • Command/SQL injection through any user-provided input that crosses a boundary.
  • CSRF on state-changing endpoints.
  • Stockfish process leaks that exhaust host resources.

Things we don't currently defend against:

  • A compromised admin account (admin can change stockfish_path, which is intentionally local-execute).
  • Resource abuse by a logged-in user spamming /api/analyze (rate-limiting is on the roadmap).
  • A malicious Ollama instance — if you point Chesspirit at someone else's LLM, you trust them with your prompts.

There aren't any published security advisories