1.7 KiB
1.7 KiB
Muzick — audit journal
Goal
Audit the muzick project at /home/kami/apps/muzick/, file Vikunja tasks for findings, and work on autonomous items.
Progress
2026-07-14 — Initial audit
Git: initialized, initial state committed (737bf19). Fixes committed in 42474c6.
Project structure: 196 files — TypeScript/Fastify backend, React/Vite frontend, BullMQ workers, PostgreSQL + Redis + Typesense.
Fixes applied
- AGENTS.md tech stack:
python/fastapi→fastify/typescript(was wrong) - CORS: Added
@fastify/corsplugin to backend with env-based origin config .env.example: Created with placeholder values (secrets were only in.envwhich is gitignored)backend/src/index.ts: Removed dead code (empty file,server.tsis real entry point)
Tasks filed
- See Homelab infra project. Key items:
- #109: pin Docker images (NEEDS FIX — minio:latest etc)
- #110: N+1 queries in generators (PERFORMANCE)
- #111: image proxy SSRF guard (SECURITY)
New critical issues found
- No auth on any API —
x-user-idheader with hardcoded fallback UUID is the only identity - Admin routes unprotected — anyone can trigger scan/reindex/delete
- Postgres password "password" hardcoded in docker-compose.yml
- Typesense API key "muzick-key" hardcoded in docker-compose.yml
- SOCKS proxy IP
192.168.1.104exposed in .env and AGENTS.md - No tests for any worker service (1311-line enrichment.service.ts has 0 tests)
- Frontend never typechecked in CI
- No input validation on many routes (admin, library —
as anycasts)
Remaining autonomous work items
- #109 — Pin Docker images in docker-compose.yml — CAN DO