Skip to content

macOS autostart plist is built by string concatenation without XML escaping #31

Description

@offbyonebit

Severity: medium
Type: robustness
Location: clipsync/autostart.py_macos_set() (~line 80)

Problem: The LaunchAgent plist is assembled by inserting argv strings directly into XML. If the Python executable path or any argument contains &, <, >, or quotes, the resulting plist is malformed and launchd will reject it, silently breaking “start on login.”

Suggested fix: Build the plist with plistlib (or at minimum XML-escape each inserted string) instead of string formatting.


Filed from a full-source audit of the repo (2026-07-29). Reported by the audit but not independently confirmed - verify the cited code before acting on it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    auditFound in the 2026-07 code auditbugSomething isn't workingseverity:mediumDegraded behaviour or edge case

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions