T09 · Insecure Skill Coding Practices
- Location
references/output-templates.md:115- Finding
Payment Reminder Template Can Assert Unverified Commercial Availability
- Content
View full analysis
Vulnerability Details
File Location:
references/output-templates.md:115-119
Vulnerability Type: Unverified commercial claim caused by an unsafe message template
Risk Level: MediumVulnerable Code Segment
The following is an English translation of the complete affected source segment:
markdown ## 7. Payment Reminder Template Hello. The [promotion/inventory/gift] for the [product name] you viewed is currently still available. We noticed that you added the item to your cart or placed an order but have not completed payment. If you still have questions about the [specification/flavor/color/version], feel free to ask me and I will help you confirm it quickly. If needed, I can also help you review which available choice is most suitable for you.Technical Analysis
The template presents the continued availability of a promotion, inventory, or gift as an established fact. Its placeholders indicate which value should be inserted, but they do not require the Agent to verify that value against an authoritative source.
This behavior conflicts with the safeguards in
SKILL.md, particularly the requirements not to fabricate inventory, promotions, gifts, or other commercial policies and to use conservative placeholders when facts are unavailable. It also conflicts with the safer payment-reminder guidance inreferences/scene-playbooks.md:38-47, which avoids making an availability assertion.Because templates are intended to be copied directly into customer communications, an Agent may reproduce the assertion even when the user has not supplied verified availability information. The issue is classified as an insecure Skill configuration practice because contradictory instructions can cause unsafe output despite the Skill's broader anti-fabrication rules.
Attack Path
- A user requests a payment-reminder message for a customer who has not completed a purchase.
- The Agent selects the payment-r ...[truncated 1261 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace the factual availability assertion with verification-gated wording, for example:
markdown Hello. We noticed that you viewed or added [product name] to your cart. Current promotion, inventory, and gift availability is subject to the real-time information shown on the product or checkout page. If you share what you currently see, I can help you verify it. -
Add an explicit prerequisite stating that availability language may only be used when the merchant has supplied a current, authoritative source.
-
Provide separate template branches:
- Verified availability: Permit a factual statement and record the verification source.
- Unverified availability: Refer the customer to the live product or checkout page without asserting availability.
- Unavailable or expired: Clearly state the confirmed status without creating false urgency.
-
Require placeholders such as
[verified availability status],[verification source], and[verification timestamp]instead of the ambiguous[promotion/inventory/gift]placeholder. -
Add a final validation rule that rejects customer-facing drafts containing claims such as “still available,” “in stock,” or “gift included” unless verified status is present in the input.
-
Align this template with the anti-fabrication rules in
SKILL.mdand the conservative payment-reminder guidance inreferences/scene-playbooks.md.
-
