T09 · Insecure Skill Coding Practices
Warning
- Location
- references/email-extraction-patterns.md:9
- Finding
- Personal and Transactional Information Exposed in Published Examples<![CDATA[ ## Vulnerability Details **File Location**: `references/email-extraction-patterns.md:9-12, 19-25, 62-68, 119-124` **Vulnerability Type**: Plaintext exposure of personal and transactional information **Risk Level**: Medium ### Vulnerable Code Snippets `references/email-extraction-patterns.md:9-12` ```bash # 1. Find order confirmation gog gmail messages search 'from:orders@lululemon.com subject:"We got your order"' --max 1 --account liyanjia92@gmail.com # 2. Extract message ID from results ``` `references/email-extraction-patterns.md:19-25` ```bash $ gog gmail get 19d33029153e8b10 --format=full --account liyanjia92@gmail.com | grep -i "item\|product\|cap" Structured Classic Ball Cap *Golf L 1 x Subtotal (1 item) $44.00 ``` `references/email-extraction-patterns.md:62-68` ```bash # List all accounts gog auth list # Search personal Gmail gog gmail search 'newer_than:7d' --max 10 --account liyanjia92@gmail.com # Search Berkeley account gog gmail search 'newer_than:7d' --max 10 --account yanjia.li@berkeley.edu ``` `references/email-extraction-patterns.md:119-124` ```json { "date": "2026-03-29 21:13", "from": "lululemon <noreply@e.lululemon.com>", "subject": "Your gear is on its way! [c177467696945199]" } ``` ### Technical Analysis The published reference embeds apparently real personal email addresses, an institutional affiliation, a Gmail message identifier, retailer and purchase details, a purchase amount, and an order-related identifier. Documentation examples should use fictional, non-routable identities and synthetic records rather than data copied from an actual mailbox. These values do not constitute authentication credentials and do not independently permit access to Gmail. Nevertheless, they disclose correlated personal and transactional metadata that can be collected without authorization. Combining the personal address, institutional address, retailer, product, price, shipment subject, and identifiers may allow an attacker to ...[truncated 1617 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace all personal email addresses with reserved examples such as `user@example.com` and `student@example.edu`. 2. Replace the Gmail message ID, order identifier, dates, product details, quantities, and prices with clearly synthetic values. 3. Avoid naming a real retailer when demonstrating workflows unless the example contains no personal transaction data. 4. Review the repository history, package registry versions, release archives, and documentation mirrors for the same exposed information. 5. If the data was publicly distributed, notify the affected individual and assess whether the exposed identifiers should be treated as compromised. 6. Add a publication review rule that rejects: - Personal or institutional email addresses - Real message, thread, attachment, invoice, or order identifiers - Transaction records copied from actual accounts - API credentials, access tokens, or client-secret files 7. Use a standardized synthetic fixture for all future Gmail examples, for example: ```bash gog gmail get 0123456789abcdef --format=full --account user@example.com ``` 8. Consider automated secret and personal-data scanning in CI before publishing new Skill versions. ]]>
