- Location
- SKILL.md:3
- Finding
- Unattended High-Privilege Remote Control Without Adequate Authorization Gates<![CDATA[
## Vulnerability Details
**File Location**: `SKILL.md:3, 10-21, 60-63, 66-88, 93-105, 122-131, 138-150`; `references/shell-commands.md:26-32, 38-55, 60-79, 103-129`
**Vulnerability Type**: Unrestricted remote surveillance, arbitrary command execution, and privileged device administration
**Risk Level**: High
### Evidence
`SKILL.md:3` explicitly defines the Skill as unattended remote control that operates without user interaction:
```yaml
description: "Full unattended remote control of paired devices (nodes) — screen capture, file management, shell commands, app control, camera, notifications, and process management. Use when: (1) remotely accessing or controlling a paired Windows/macOS/Android/iOS device without user interaction, (2) running commands installing apps or managing files on a remote node, (3) capturing screen or camera feeds from a remote device, (4) monitoring device health battery storage or network status, (5) automating actions on a remote device click type open app etc, (6) any form of remote desktop-style takeover or device ghosting."
```
`SKILL.md:10-21` enumerates sensitive and state-changing capabilities:
```markdown
## Core Capabilities
1. **Device Intelligence** — List nodes, get device info, health, permissions, battery, storage, network
2. **Screen Capture** — Snapshot or record the remote screen in real-time
3. **Camera Access** — Snap photos or record clips from front/back camera
4. **Shell Execution** — Run commands, scripts, and PowerShell/Bash on the remote device
5. **File Management** — Browse, read, write, delete files on the remote device via shell
6. **App Control** — Install, launch, close, list installed apps
7. **Process Management** — List running processes, kill processes, monitor CPU/memory
8. **Notifications** — Read notifications, trigger actions or replies
9. **Input Injection** — Type text, simulate clicks, keypresses (via shell automation)
10. **Location** — Get GPS coordinates (if device supports it)
...[truncated 8183 chars]
- Remediation
- <![CDATA[
## Remediation Suggestions
1. **Require explicit authorization**
- Require fresh, device-owner approval before every camera, microphone, screen, notification, location, shell, input-injection, or file-transfer action.
- Display the requesting identity, target device, requested operation, parameters, and expected duration.
- Do not treat pairing alone as continuing authorization for later sensitive actions.
2. **Enforce least privilege**
- Replace arbitrary PowerShell, Bash, and ADB execution with narrowly scoped, typed operations.
- Grant each session only the capabilities needed for the approved task.
- Run the node companion as an unprivileged account by default and require separate, time-limited elevation for administrative operations.
3. **Introduce command and resource restrictions**
- Implement command allowlists and reject shell metacharacters or unapproved executables.
- Restrict file access to owner-approved directories.
- Block access to credential stores, SSH keys, browser profiles, tokens, operating-system secrets, and system directories by default.
- Restrict package installation, registry changes, service management, process termination, and file deletion.
4. **Add operation-specific confirmation**
- Require confirmation not only for destructive commands but also for sensitive reads and surveillance operations.
- Require a second confirmation before file transfer, application installation, registry modification, process termination, service control, or notification replies.
- Show a preview of affected paths, processes, packages, or data before execution.
5. **Provide visible device-side controls**
- Display persistent indicators while screen, camera, location, notification, or shell access is active.
- Provide an immediate device-side stop and revocation control.
- Automatically terminate unattended sessions after a short inactivity timeout.
6. **Strengthen session and gateway security**
...[truncated 1069 chars]