T05 · Unauthorized Access and Privilege Escalation
Error
- Location
- README.md:25
- Finding
- Overly Broad Accessibility and Screen Recording Permission Guidance<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, lines 25-35 **Vulnerability Type**: Least-privilege violation through authorization of general-purpose runtimes **Risk Level**: High ### Vulnerable Code Snippet ```markdown ### 2. Mandatory Permissions macOS security requires explicit permission for background processes to capture the screen. 1. **Screen Recording:** - Go to **System Settings > Privacy & Security > Screen Recording**. - Add **Terminal**, **VS COde**. - Add `/your_install_dir/bin/node` (The binary running Clawdbot, example:`/opt/homebrew/bin/node`). - Ensure the toggle is **ON**. 2. **Accessibility:** - Go to **System Settings > Privacy & Security > Accessibility**. - Add **Terminal**, **VS Code**, **Node**, and `/usr/bin/python3`. ``` ### Technical Analysis The installation instructions direct users to grant macOS Screen Recording and Accessibility permissions to multiple general-purpose applications and runtimes, including Terminal, VS Code, Node, and `/usr/bin/python3`. Accessibility authorization permits an approved process to synthesize keyboard and mouse input and interact with other applications. Screen Recording authorization permits observation of potentially sensitive content displayed by other applications. Granting these privileges to general-purpose interpreters broadens the trust boundary beyond the specific TuriX automation component. Any unrelated, malicious, or compromised program executed under an authorized interpreter may consequently inherit the interpreter's powerful desktop access. Although visual automation legitimately requires certain macOS permissions, the documentation does not constrain authorization to a dedicated, narrowly scoped executable or explain which individual components strictly require each permission. ### Attack Path 1. A user follows the installation instructions and grants Accessibility or Screen Recording permission to Node, Python, Terminal, or VS Code. 2. T ...[truncated 1078 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Package or invoke TuriX through a dedicated, narrowly scoped launcher or signed application identity. 2. Grant Screen Recording and Accessibility permissions only to the specific component that performs desktop automation. 3. Remove blanket recommendations to authorize Terminal, VS Code, Node, and `/usr/bin/python3` unless each component is demonstrably required. 4. Document the minimum required permission for each executable and explain the security consequences. 5. Recommend revoking the permissions immediately when the automation capability is no longer needed. 6. Isolate the automation environment from unrelated scripts and packages, and avoid using the authorized interpreter for general-purpose workloads. 7. Provide verification and revocation instructions so users can audit authorized applications in macOS Privacy & Security settings. ]]>
