Skip to content

Security review — OWASP Top 10 + LLM Top 10 assessment and penetration pass #61

Description

@MA1002643

Context

Brief §10's capstone: a systematic review against OWASP Top 10 and OWASP LLM Top 10, validating the threat model against the system as actually built, before the store-distribution milestone widens exposure.

Scope

  • Threat-model revalidation: walk the M0 model (Author the initial threat model & security baseline #6) against reality; update rankings; verify every high-risk mitigation shipped and still holds.
  • OWASP Top 10 pass: structured testing per category across API, WS, admin, auth, storage — access control (IDOR sweeps over every id-bearing endpoint, RBAC boundaries), crypto config (TLS, cookie flags, at-rest), injection (SQL via Drizzle raw paths, XSS via user content: playlist names, chat, profiles), SSRF (artwork/URL fetch paths), auth failures (session fixation, reset-token handling), integrity, logging/monitoring gaps.
  • OWASP LLM Top 10 pass on the AI-playlist surface: prompt-injection battery (incl. indirect via track metadata), output-handling validation, cost/DoS abuse, sensitive-data exposure in prompts/telemetry.
  • Streaming-specific: signed-URL scheme attack attempts (token forgery, replay, cross-session reuse, cache-key confusion), rate-limit evasions, bulk-rip simulation re-run.
  • Tooling + manual: ZAP baseline in CI (kept thereafter), dependency review, manual test plan executed and evidenced; external pen-tester engagement if budget allows (decision recorded).
  • Output: findings register with severity, fixes filed as issues (P0s block M10), SECURITY.md refreshed (disclosure policy, takedown contact).

Acceptance criteria

  • Every OWASP (web + LLM) category has documented test evidence and a pass/finding status.
  • All critical/high findings fixed and re-tested before this issue closes; mediums scheduled with owners.
  • ZAP baseline integrated into nightly CI with a triaged-alert config.
  • Threat model + data map updated to as-built reality.

Technical notes

Treat this as falsification, not confirmation — the deliverable is findings, and "no findings" requires demonstrating the attempts that failed.

Dependencies

Depends on #6, #57, #40, #25, #60, #58, #59. Blocks #65.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:P0Blocking or critical for its milestonetype:securitySecurity hardening or vulnerability work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions