T09 · Insecure Skill Coding Practices
- Location
setup.md:7- Finding
Persistent Storage of Sensitive Travel and Booking Data in Plaintext
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Australia travel skill is purpose-aligned, but it automatically creates a long-lived plaintext trip memory that can include sensitive travel and booking details without clear opt-in or cleanup controls.
Review this skill before installing if you do not want an agent to keep trip details in ~/australia/memory.md. Avoid storing full booking confirmation codes, passport/payment data, or sensitive health details there, and delete or edit the memory file when the trip is no longer active.
setup.md:7Persistent Storage of Sensitive Travel and Booking Data in Plaintext
The 'When to Use' description says the skill applies when a user is 'planning a trip to Australia or asking for local insights,' which is a wide natural-language trigger without clear boundaries or exclusion conditions. This could overlap with ordinary conversation about Australia and may cause unintended invocation because no explicit trigger phrases or negative examples are provided.
The setup triggers on a very broad condition: any first mention of Australia travel. That can cause the agent to begin filesystem setup and preference collection without clearly confirming the user wants persistent trip-planning support. In a travel skill, this increases the chance of unnecessary data collection and unintended state changes from casual conversation.
The skill instructs the agent to create and maintain a persistent memory file containing travel details, constraints, and preferences, but provides no disclosure, retention notice, or consent step. Even if the data seems low sensitivity, it can reveal travel dates, mobility needs, dietary restrictions, and budget information, creating privacy and profiling risk if stored silently.
The heading explicitly scopes the skill content to Australia, which is a locale-specific constraint expressed in natural language. There is no indication that this regional limitation is optional or selected by the user, so it may conflict with a policy against forcing a locale without opt-in.
The title explicitly scopes the skill content to 'Australia Trip Memory', which imposes a geographic/locale constraint in natural language. The file does not indicate that this is optional, user-selected, or justified as a region-specific tool, so it may violate the policy against forcing a specific locale without opt-in.
The guidance explicitly frames wildlife safety as part of 'Australia travel,' which hard-codes a country-specific locale in the skill text. The file does not offer a user choice of region or explain that the skill is intentionally Australia-specific, so this can be read as a locale restriction without opt-in.
No suspicious patterns detected.