T09 · Insecure Skill Coding Practices
- Location
SKILL.md:118- Finding
Sensitive Health Data Stored in Plaintext Without Required Access Controls
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 118–186
Vulnerability Type: Plaintext sensitive-data storage with insufficient filesystem protections
Risk Level: MediumVulnerable Code
markdown Store all personal fitness data only inside: ```text ~/.openclaw/private/personal-fit-coach/Create this directory when needed. Use these files:
text ~/.openclaw/private/personal-fit-coach/profile.md ~/.openclaw/private/personal-fit-coach/goals.md ~/.openclaw/private/personal-fit-coach/food-options.md ~/.openclaw/private/personal-fit-coach/current-plan.md ~/.openclaw/private/personal-fit-coach/daily-log.md ~/.openclaw/private/personal-fit-coach/weekly-review.mdprofile.md
Stable health-related profile information.
markdown # Personal Fit Profile - Height: - Age: - Sex: - Current weight: - Body measurements: - Known constraints: - Injury history: - Training level: - Diet preferences: - Exercise preferences: - Health warnings:text ### Technical Analysis The skill requires persistent storage of sensitive personal and health information in ordinary Markdown files. The stored fields can include sex, body measurements, injury history, health warnings, weight, diet, exercise, sleep, and behavioral records. Although the destination directory is named `private`, the instructions do not require restrictive permissions, ownership verification, encryption at rest, safe file creation, or protection against symbolic-link substitution. A directory name alone does not enforce confidentiality. Newly created files may inherit permissions from the host process and its `umask`, potentially making them readable by other local users or processes. The skill also directs plan generation, weekly reviews, and overview operations to read all six files. This expands the volume of sensitive information exposed if the agent process, filesystem account, or tool o ...[truncated 1438 chars]- Remediation
View remediation
Remediation Suggestions
- Require creation of
~/.openclaw/private/personal-fit-coach/with mode0700. - Require each health-data file to be created with mode
0600, using an atomic exclusive-create operation where supported. - Verify that the directory and files are owned by the expected user before every read or write.
- Reject symbolic links and unexpected non-regular files. Use no-follow semantics and validate the resolved path remains within the intended private directory.
- Apply restrictive permissions to existing files during initialization and fail closed if permissions cannot be secured.
- Consider encryption at rest using an operating-system credential store or a user-controlled key where the host threat model includes other local users.
- Minimize data retention and avoid reading all six files when only a subset is necessary.
- Document that the privacy boundary depends on filesystem permissions and that the records must not be stored in shared, synchronized, or broadly backed-up locations without explicit consent.
- Require creation of
