Skip to content

Add security hardening plan document - #34

Open
slamanna212 wants to merge 1 commit into
mainfrom
claude/app-security-review-ccjtsa
Open

Add security hardening plan document#34
slamanna212 wants to merge 1 commit into
mainfrom
claude/app-security-review-ccjtsa

Conversation

@slamanna212

Copy link
Copy Markdown
Owner

Summary

Add a comprehensive security hardening plan documenting seven findings from a security review of Apogee at commit b267cb4. This document serves as an execution roadmap for addressing credential leaks, privilege boundary violations, supply-chain risks, and other security concerns identified in the review.

Changes

  • New file: docs/security-hardening-plan.md — A detailed 610-line security hardening plan covering:
    1. Redact Xtream credentials from mpv stderr (high severity) — Prevent password leaks into log files and error messages
    2. Stop mpv handing stream URLs to yt-dlp (high severity) — Disable ytdl hook to prevent credential disclosure via process arguments
    3. Allowlist mpv property commands (high severity) — Restrict mpv_set_property/mpv_get_property to prevent arbitrary file writes
    4. Move mpv IPC socket out of shared /tmp (medium severity) — Close race condition on multi-user systems
    5. Block webview navigation and fix external links (medium severity) — Add navigation guard and repair broken social/release-note links
    6. CI supply-chain hardening (medium severity) — Pin actions to commit SHAs, isolate Dependabot from signing runner, add security audit workflow
    7. Constrain notification-artwork fetches (medium severity) — Block SSRF attacks via private IP ranges and redirect validation

Implementation Details

The plan includes:

  • Severity classifications and verified reproduction steps for each finding
  • Detailed fix specifications with code examples and exact file locations
  • Verification procedures for each item
  • Suggested execution order optimized for build cycles and risk management
  • Out-of-scope items with explicit rationale for deferral
  • Toolchain notes for building and testing the project
  • Dependency baseline documenting the security posture at review time

Each finding is self-contained and can be implemented independently. The document emphasizes verification at each step and includes unit-test requirements where applicable.

https://claude.ai/code/session_015cFCmHviL5A4owWLhxFRei

Documents an execution plan for seven security findings from a review of
the app at b267cb4:

1. Xtream credentials leak into the log file and on-screen errors via
   unredacted mpv stderr
2. mpv's default ytdl_hook passes the credential-bearing stream URL to
   yt-dlp on its command line, exposing it via /proc
3. mpv_set_property/mpv_get_property forward any property name to mpv,
   giving webview JS an arbitrary-file-write primitive
4. The mpv IPC socket sits at a predictable path in shared /tmp, racy on
   multi-user machines
5. No webview navigation guard; external links are also broken today
   because the opener capability is scoped to last.fm only
6. CI runs unpinned actions and third-party npm lifecycle scripts on the
   self-hosted runner pool that holds the release signing key
7. Notification artwork fetches follow redirects to private addresses
   without revalidation

Findings 1, 2 and 3 were reproduced against the bundled mpv rather than
inferred from reading the code. Records deferred items and the current
clean dependency-audit baseline.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015cFCmHviL5A4owWLhxFRei
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants