T09 · Insecure Skill Coding Practices
- Location
prompts/03-reputation-referral.md:27- Finding
Marketing SMS Generated Without Prior Consent Verification
- Content
View full analysis
Vulnerability Details
File Location:
prompts/03-reputation-referral.md, lines 27–31
Vulnerability Type: Missing authorization control for marketing SMS generation
Risk Level: MediumVulnerable Code Snippet:
text **Text Message — Same Day (within 2 hours of job completion):** [Business Name]: Hi [First Name], thanks for having us today! I hope the [service type] came out exactly how you wanted it. We'd love to know how we did — if you have 60 seconds, a Google review helps our small local business more than anything: [Google Review Link] Reply STOP to opt out of texts. (Max 160 characters per message segment; split if needed)Technical Analysis
The prompt generates a non-transactional review-request SMS for customer phone numbers without requiring the operator to verify prior express consent. Providing a retrospective
Reply STOPmechanism does not establish authorization to send the initial marketing message.This contradicts the Skill's stated TCPA consent safeguards. The prompt should treat consent as a required input and conditionally suppress SMS output when consent has not been recorded. Because the generated material is intended for direct use in CRM campaigns, users may reasonably assume that following the template is sufficient.
Attack Path
- An operator imports customer telephone numbers collected during service bookings into a CRM.
- The operator runs the reputation-system prompt without supplying any marketing-consent records.
- The Skill generates the same-day review-request SMS.
- The operator sends the message to all completed-job contacts, including recipients who only provided their numbers for transactional scheduling.
- Customer telephone data is consequently used for a purpose to which the recipients may not have consented.
Impact Assessment
This issue does not grant system privileges or enable code execution. Its scope is the customer-contact dat ...[truncated 356 chars]
- Remediation
View remediation
Remediation Suggestions
- Add a required input such as
Marketing SMS Consent: Yes/Noand, where relevant, the date, source, and disclosure version associated with consent. - Instruct the model not to generate marketing SMS content unless the value is explicitly
Yes. - Generate an email-only alternative when consent is absent or unknown.
- Distinguish transactional appointment messages from marketing, review, referral, and promotional messages.
- Require the sending system to maintain consent evidence and a suppression list.
- Check the suppression list immediately before every campaign, rather than relying only on template text.
- Preserve
STOPinstructions as an additional opt-out control, not as a substitute for prior authorization.
- Add a required input such as
