T09 · Insecure Skill Coding Practices
- Location
memory-template.md:120- Finding
Sensitive family and medical information stored in unprotected plaintext files
- Content
View full analysis
Vulnerability Details
File Location:
memory-template.md:120-139,memory-template.md:214-278,memory-template.md:368-381; related storage design inSKILL.md:36-60andSKILL.md:128-133
Vulnerability Type: Plaintext storage of sensitive information without enforced access controls
Risk Level: MediumVulnerable Code Snippets
memory-template.md:120-139:markdown ## `people/children.md` ```markdown # Children ## Children in Scope | Name | Age range | School / childcare | Shared logistics | Private sensitivities | |------|-----------|--------------------|------------------|-----------------------| | | | | | | ## Operational Notes - Pickup permissions - Activity gear requirements - Allergy or medication notes needed for logistics only - Topics that stay private unless an adult must acttext `memory-template.md:214-278`: ```markdown ## `logistics/contacts.md` ```markdown # Contacts ## Priority Contacts | Name / Place | Type | Why it matters | Preferred contact route | |--------------|------|----------------|-------------------------| | | | | | ## Notes - school office - clinic - pharmacy - backup caregiver - neighbor or local supportcare/appointments.mdmarkdown # Appointments ## Upcoming | Date | Person | Appointment | Prep needed | Transport | Follow-up | |------|--------|-------------|-------------|-----------|-----------| | | | | | | | ## Follow-Up Queue - refill - call back - forms - next bookingcare/medications.mdmarkdown # Medications ## Current Medications | Person | Medication | Timing | Refill date | Administration notes | |--------|------------|--------|-------------|---------------------- ...[truncated 3640 chars]- Remediation
View remediation
Remediation Suggestions
-
Minimize stored data by default
- Store only the operational fact required for coordination.
- Avoid recording diagnoses, detailed symptoms, private sensitivities, full medication histories, or exact identity-document locations unless strictly necessary.
- Use generalized entries such as “adult confirmation required” instead of detailed private explanations where possible.
-
Enforce restrictive filesystem permissions
- Create
~/family/with owner-only permissions, such as mode0700on POSIX systems. - Create sensitive files with owner-only permissions, such as mode
0600. - Verify existing permissions before writing and warn the user if group or public access is enabled.
- Implement equivalent user-scoped access controls on Windows.
- Create
-
Separate private and shared records technically
- Do not place private notes in the same directory or files as household-shared operational data.
- Use separate per-person private storage with independently enforced access controls.
- Keep shared files limited to minimum-necessary handoff information.
-
Protect high-sensitivity records
- Recommend encrypted storage for medication, health, custody, identity, and document-location information.
- Prefer references to records in an established encrypted vault rather than duplicating sensitive content in Markdown.
- Do not store authentication secrets, document numbers, or scanned identity documents in this structure.
-
Provide explicit persistence warnings
- Before saving sensitive information, explain that the data will remain as plaintext unless protected by the underlying system.
- Ask for separate, explicit confirmation for health information, minors' details, and document-location metadata.
- Alert users that backups, search indexing, and synchronization software may copy the files.
-
Add retention and deletion controls
...[truncated 605 chars]
-
