Security
StoreStash nimmt Sicherheit ernst. Hier sind die implementierten Maßnahmen und Empfehlungen.
Implementierte Maßnahmen
Backend
- Secret Key Validierung — App startet nicht ohne gesetzten
SECRET_KEY - Input-Validierung — Pydantic Schemas mit
max_lengthauf allen Textfeldern - SQL-Injection — SQLAlchemy ORM + LIKE-Escape
- Referenz-ID Prüfung — Ungültige UUIDs geben 400 statt 500
Nginx
- CSP — Content Security Policy für XSS-Schutz
- Security Headers — X-Content-Type-Options, X-Frame-Options, Referrer-Policy
- Rate-Limiting — 30 req/s pro IP, Burst 20
- Body-Size-Limit — Max. 2 MB Requests
- Swagger blockiert —
/docs,/redoc,/openapi.jsonin Produktion nicht erreichbar
Docker
- Non-root Container — Alle Services laufen als unprivilegierter User
- Rootless Docker — Vollständig kompatibel
- DB nicht exponiert — PostgreSQL nur im Docker-Netzwerk erreichbar
- Kein Port-Mapping für DB und Backend
Frontend
- Kein
{@html}mit User-Input (XSS-Schutz) - SvelteKit Auto-Escaping — Templates escapen standardmäßig
Bekannte Einschränkungen
Keine Authentifizierung (bis v0.10.0)
Alle API-Endpoints sind aktuell ohne Auth erreichbar. StoreStash nicht ohne zusätzlichen Schutz (VPN, IP-Whitelist) im öffentlichen Internet betreiben.
Security Audits
| Version | Typ | Dokument |
|---|---|---|
| v0.4.0 | Standard | docs/SECURITY_AUDIT_v0.4.0.md |
| v0.7.2 | Standard | docs/SECURITY_AUDIT_v0.7.2.md |
| v0.10.1 | Auth-Fokus | Geplant |
| v1.0.0-rc | Voll-Audit | Geplant |
Siehe SECURITY_PLAN.md für den vollständigen Audit-Plan.
Sicherheitslücke melden
Ab v1.0.0: SECURITY.md im Repository mit Kontaktinformationen für Responsible Disclosure.