T09 · Insecure Skill Coding Practices
- Location
memory-template.md:9- Finding
Persistent Plaintext Storage of Personal Travel and Booking Data
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a normal New Zealand travel guide, but it needs review because it automatically saves and silently reuses plaintext trip details that may include sensitive booking, family, dietary, or mobility information.
Review this before installing if you do not want a local trip-memory file. If you use it, avoid storing passport numbers, payment details, ticket barcodes, full booking confirmation codes, or exact sensitive family/accessibility details in ~/new-zealand/memory.md, and delete or edit that file when the trip is done.
memory-template.md:9Persistent Plaintext Storage of Personal Travel and Booking Data
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- Treating all beaches as relaxed Mediterranean swimming beaches.
- Taking children into exposed surf zones because locals are nearby.
- Planning Cathedral Cove-type stops without checking current access conditions.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- Treating all beaches as relaxed Mediterranean swimming beaches.
- Taking children into exposed surf zones because locals are nearby.
- Planning Cathedral Cove-type stops without checking current access conditions.
The phrase "When the user first brings up New Zealand travel" is an ambiguous activation condition for a markdown skill. It does not define clear trigger phrases, scope boundaries, or exclusion cases, so ordinary conversation about New Zealand travel could unintentionally invoke the setup behavior.
The skill instructs the agent to create persistent local storage for trip details without telling the user that their information will be saved. This creates a privacy risk because itinerary, dates, constraints, and preferences can be retained across sessions without informed consent or clear retention boundaries.
The instruction to read previously saved memory 'silently' means the skill accesses stored user information without notifying the user at the time of access. Even if the data is only reused for convenience, undisclosed retrieval of prior personal preferences and travel history undermines transparency and can violate user expectations around privacy.
This skill content is written only in English and does not indicate that users can opt into another language or locale. Under the stated policy, forcing a specific language without user choice can be a natural-language policy violation unless the locale constraint is explicitly documented and justified.
This markdown template includes a 'Bookings Made' section with a 'Confirmation' field, which invites users to record reservation identifiers or other potentially sensitive travel data. The file does not include any warning or guidance about avoiding sensitive personal or booking information, despite collecting data that could affect user privacy.