T09 · Insecure Skill Coding Practices
- Location
setup.md:13- Finding
Persistent Plaintext Storage of Personal and Travel Information
- Content
View full analysis
Vulnerability Details
File Location:
setup.md, lines 13-33;memory-template.md, lines 7-20 and 54-57
Vulnerability Type: Persistent plaintext storage of potentially sensitive user information
Risk Level: MediumVulnerable Code
setup.md, lines 13-33:markdown ### 2. Initialize Memory File Create `~/france/memory.md` using the template from `memory-template.md`. ### 3. Gather Trip Context Ask naturally (not as a form): - Which month are you going? (season changes crowds and pricing) - How long is the trip? - Which bases matter most? (Paris, Lyon, Provence, Riviera, other) - Food-first, museums-first, coast-first, or mixed? - Any mobility, dietary, or budget constraints? - Rail-focused, rental car, or mixed transport? ### 4. Save to Memory Update `~/france/memory.md` with their answers. ## Returning Users If `~/france/memory.md` exists: 1. Read it silently 2. Reuse known preferences 3. Ask what changed since last plan 4. Update memory with new priorities and constraintsmemory-template.md, lines 7-20 and 54-57:markdown ## Trip Details - **Dates:** - **Duration:** - **Regions:** [Paris-Ile-de-France / Lyon-Rhone / Provence-Marseille / French Riviera / Bordeaux-Atlantic / Alps-East] - **Cities/Bases:** - **Travelers:** [solo / couple / family / group] - **Kids:** [yes (ages) / no] ## Preferences - **Travel style:** [foodie / culture / coast / road-trip / family / nightlife / mixed] - **Budget:** [budget / mid-range / luxury] - **Dietary:** [none / vegetarian / vegan / gluten-free / other] - **Mobility:** [full / limited / wheelchair] - **Transport:** [rail / rental car / public transit / mixed]markdown ## Bookings Made | What | Where | Date | Confirmation | |------|-------|------|--------------| | | | | |Technical Analysis
The Skill instructs the agent to collect and persist trip dates, destinations, chi ...[truncated 2561 chars]
- Remediation
View remediation
Remediation Suggestions
- Obtain explicit, informed consent before creating persistent memory or saving any user-provided information.
- Default to session-only processing and make persistent storage opt-in.
- Minimize stored data. Avoid retaining exact child ages, detailed mobility or health-related information, and exact travel dates unless necessary.
- Remove the free-form
Confirmationfield, or clearly prohibit storing reservation codes, authentication links, passport details, payment information, credentials, and other secrets. - Create the directory and file with owner-only permissions where supported, such as directory mode
0700and file mode0600. - Provide commands or documented procedures to view, edit, export, and permanently delete stored memory.
- Define a retention policy and automatically remove completed or stale trip records after a user-approved period.
- Inform users whenever existing memory is read or updated rather than reading it silently.
- If sensitive information must be retained, use an operating-system credential store or appropriately encrypted storage instead of a plaintext Markdown file.
