T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:22
- Finding
- Persistent Storage of Sensitive Personal Profiles Without Defined Data-at-Rest Protections## Vulnerability Details **File Location**: `SKILL.md`, lines 22-28 **Vulnerability Type**: Persistent storage of sensitive personal data without defined encryption, access control, retention, or deletion safeguards **Risk Level**: Medium ### Evidence ```markdown ## File Locations - Identity document: `~/.openclaw/data/second-me/SOUL.md` - Interview progress: `~/.openclaw/data/second-me/progress.json` - Conversation logs: `~/.openclaw/data/second-me/sessions/` On first run, check if `~/.openclaw/data/second-me/SOUL.md` exists. If it does, read it and enter **Evolve Mode**. If not, enter **Onboarding Mode**. ``` The stored profile is designed to include sensitive identity, employment, behavioral, relationship, health, and workplace information. Relevant collection instructions include: ```markdown Goal: Name, age, location, current job/role, company, team size. ``` ```markdown Goal: Relationship with manager, team politics, how they handle credit/blame, their position in the org hierarchy. ``` ```markdown Goal: Health, relationships, hobbies, energy management, work-life balance attitude. ``` ### Technical Analysis The skill directs the agent to persist a concentrated personal profile in `SOUL.md`, maintain interview state in `progress.json`, and retain conversation logs under a sessions directory. These artifacts can contain personally identifiable information, employment details, workplace conflicts, behavioral characteristics, health-related information, and relationship information. No encryption-at-rest requirement, restrictive filesystem permission requirement, retention period, data-minimization rule for session logs, secure deletion process, or explicit consent checkpoint is defined. The skill's identity-protection instructions restrict what the agent should disclose conversationally, but they do not protect the underlying files from other local processes, users with filesystem access, backups, or ...[truncated 1823 chars]
- Remediation
- ## Remediation Suggestions 1. Obtain explicit, informed consent before persisting personal data, with separate opt-in consent for health, relationship, and workplace-politics information. 2. Do not retain raw conversation logs by default. Store only the minimum user-approved summary required for the digital-twin functionality. 3. Encrypt sensitive profile and session data at rest using keys protected by the host platform's credential or key-management facility. 4. Require owner-only filesystem permissions for the data directory and newly created files, and reject operation if secure permissions cannot be established. 5. Add configurable retention limits and automatically remove expired session records. 6. Provide user-facing commands to inspect, export, redact, and securely delete the profile, progress state, and all session logs. 7. Show proposed profile changes and obtain confirmation before writing them during both onboarding and evolve modes. 8. Separate highly sensitive information from the general identity profile and avoid collecting it unless it is strictly necessary for an explicitly requested feature. 9. Document the local threat model, backup implications, data lifecycle, and which other agents or skills may access the storage location.
