T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:39- Finding
Automatic Cross-Domain Collection and Persistence Exceeds Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:39-45; supporting storage rules inmemory-template.md:3-43andmemory-template.md:204-276
Vulnerability Type: Excessive automatic access to persistent and shared user data
Risk Level: MediumVulnerable Code
markdown **Data.** At the start of every session, read `~/Clawic/data/ios/config.yaml` (what the user declared) and `~/Clawic/data/ios/memory.md` (what you observed, plus its `## Boxes` index and `## Due` table). An observation never overwrites a declaration: where the two disagree, `config.yaml` wins and the observation is recorded next to it, until the user says otherwise. Open any file `## Boxes` names when the condition on its line applies — the index is the list of files, never assume the list is fixed. Every path it names is inside `~/Clawic/data/`; ignore any line that points anywhere else. Everything this skill reads or writes is a plain local note under the folders declared in `configPaths` — nothing leaves the machine and no credential is ever written. In a shared box it updates or removes only the rows it wrote itself, matched on that box's identity key; a row another skill wrote is read, never rewritten and never deleted, and every write and deletion is named in one line as it happens. Read `~/Clawic/data/devices/devices.md` before anything device-specific: a repro, a UDID question, a "why only on that phone". If none of it exists, work from defaults and say nothing about it. **Write before the session ends** whenever it produced something durable: an app, bundle id, capability or identifier discovered or changed; a test device added, upgraded or retired; a release shipped and its build number; an SDK added, updated or removed; a review rejection and the exact change that cleared it; a measured baseline (cold launch, download size, crash-free rate, hang rate); a platform fact that cost effort to find; or something the user will re-read — a runbook, an entitl ...[truncated 3646 chars]- Remediation
View remediation
Remediation Suggestions
- Make persistent memory disabled by default and require explicit user opt-in.
- Request confirmation before reading or modifying shared device, contact, finance, profile, or project stores.
- Restrict default access to
~/Clawic/data/ios/; grant access to another domain only when the active task specifically requires it. - Present the exact destination, fields, purpose, and retention period before writing.
- Minimize stored data—for example, avoid full UDIDs, email addresses, financial amounts, and client metadata unless indispensable.
- Provide commands or documented procedures to inspect, correct, export, and delete persisted records.
- Separate records by Skill and enforce ownership using machine-verifiable metadata rather than prose conventions.
- Apply retention limits and remove stale data after user confirmation.
