T09 · Insecure Skill Coding Practices
- Location
memory-template.md:1- Finding
Plaintext Persistence of Property and Valuation Data
- Content
View full analysis
Vulnerability Details
File Location:
memory-template.md:1-30
Related Locations:SKILL.md:14-21,SKILL.md:42-48,SKILL.md:113-120,setup.md:14-18,setup.md:22-26,memory-template.md:45-47
Vulnerability Type: Plaintext storage of potentially sensitive personal and financial data
Risk Level: MediumVulnerable Code Snippets
memory-template.md:1-30:markdown # Memory Template — Property Valuation Create `~/property-valuation/memory.md` with this structure: ```markdown # Property Valuation Memory ## Status status: ongoing version: 1.0.0 last: YYYY-MM-DD integration: pending | done | declined ## Context <!-- Market focus, property types, valuation purpose --> <!-- Add as you learn from conversations --> ## Market Data <!-- Local price/sqft averages, cap rates, market conditions --> <!-- Update when user provides market intel --> ## Properties Analyzed <!-- Brief log of valuations done --> <!-- Format: Date | Address/Description | Value Range | Method --> ## Notes <!-- Preferences: quick estimates vs detailed analysis --> <!-- Data sources they have access to (MLS, etc.) --> --- *Updated: YYYY-MM-DD*text `SKILL.md:14-21`: ```markdown Memory at `~/property-valuation/`. See `memory-template.md` for structure.~/property-valuation/ ├── memory.md # Properties analyzed, market data └── valuations/ # Saved valuation reports
text SKILL.md:42-48:markdown Before estimating, gather: - Location (address or neighborhood) - Property type (SFH, condo, multi-family) - Size (sqft or sqm) - Bedrooms/bathrooms - Condition (excellent/good/fair/poor) - Year builtsetup.md:14-18:markdown Ask early: - "Should I help with property valuations whenever you mention real estate prices or buying/selling?" - "Do you want quick estimates ...[truncated 2914 chars]- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed opt-in before retaining any property-specific record, separately from consent to perform the valuation.
- Default to memory-free operation and allow users to obtain valuations without persistent logging.
- Store only the minimum necessary information. Prefer user-selected aliases or coarse neighborhood identifiers instead of exact addresses.
- Do not persist valuation ranges, transaction purposes, or property histories unless the user specifically requests retention.
- Create the directory and files with owner-only permissions, such as directory mode
0700and file mode0600, where supported. - Define a short retention period and automatically remove expired records.
- Provide commands or documented procedures to inspect, redact, export, and permanently delete stored data.
- Avoid recording sensitive context in general-purpose Markdown memory when a session-scoped representation is sufficient.
- Update the privacy disclosure to state accurately what is retained, where it is stored, how long it is retained, and who may access it.
- Warn users that local files may be included in device backups or exposed to other software running under the same account.
