T09 · Insecure Skill Coding Practices
- Location
SKILL.md:135- Finding
Plaintext Storage of Sensitive Contact and Delivery Data
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a coherent physical greeting-card service, but users should understand that mailing details go to the provider and optional saved contacts are kept locally in plaintext.
Install only if you are comfortable sending recipient name, mailing address, phone number, artwork, occasion, and message text to Index Cards when you approve an order. Avoid opting into the local contacts cache unless you want those details saved on disk, and review the full address, message, cost, and recipient before confirming any order.
SKILL.md:135Plaintext Storage of Sensitive Contact and Delivery Data
The skill’s privacy statement is materially inconsistent with its documented behavior. It says contact data is not sent to the API, but the order flow explicitly sends recipient name, mailing address, and phone number to /v1/orders; this can mislead users and downstream systems about data disclosure, undermining informed consent for sensitive physical-address data.
The description says to use the skill when the user 'mentions a birthday or occasion,' which is broad enough to overlap with ordinary conversation that is not actually a request to send a card. The trigger scope is not bounded by explicit activation phrases or exclusion conditions, so the skill may be invoked unintentionally.
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.
### What this skill does NOT do
- Does not read contacts, messages, calendar, or email without asking the user first
- Does not send contact data to the API — contact info is only cached locally (if user opts in) and used to pre-fill the address when sending a card
- Does not require or collect email addresses, passwords, or payment card numbers (payments happen via Stripe hosted checkout)
No suspicious patterns detected.