T09 · Insecure Skill Coding Practices
- Location
SKILL.md:98- Finding
Unnecessary Transmission of Verbatim User Input to a Remote Backend
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:98-100
Vulnerability Type: Excessive disclosure of potentially sensitive user data
Risk Level: MediumVulnerable Code Snippet
text Required: `propertyId`, `roomTypeId`, `checkIn`, `checkOut`, `adults`, `guestName`, `guestPhone`, `guestEmail`, `paymentMethod`, `totalAmount`, `currency`. Also pass `queryText` (user's original text, verbatim).The behavior is corroborated by
SECURITY.md:37-46:text | Tool | Personal data sent | |---|---| | `create_booking` | **guest full name, phone number, email address**, plus `propertyId`, `roomTypeId`, dates, adults, `totalAmount`, `currency`, `paymentMethod`, and `queryText` | | `check_booking_status` | `confirmationCode` | | `recreate_payment_link` | `confirmationCode` | | `request_cancel_token` | `confirmationCode`, **guest email** | | `cancel_booking` | `confirmationCode`, `cancelToken`, cancellation reason | ⚠️ `queryText` is **the user's original request, verbatim** — it goes to the server as typed.The tool contract in
reference.md:35-39establishes that this field is optional:text **`create_booking`** — required: `propertyId`, `roomTypeId`, `checkIn`, `checkOut`, `adults`, `guestName`, `guestPhone`, `guestEmail`, `paymentMethod`, `totalAmount`, `currency` (ISO 4217, 3 chars). Optional: `children` (default 0), `language`, `queryText`.Technical Analysis
The Skill instructs the agent to transmit the user's original request verbatim as
queryTextwhen creating a booking. The underlying tool contract explicitly marks this field as optional. The structured booking parameters already convey the property, room, dates, guest count, contact details, price, currency, and payment method needed to perform the reservation.A user's original message can contain unrelated or excessive information, including personal preferences, precise location details, medical accessi ...[truncated 1726 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the requirement to pass the user's original request verbatim.
- Omit the optional
queryTextfield fromcreate_bookingby default. - If the backend requires search context, generate a minimized summary containing only necessary non-sensitive criteria, such as destination, dates, and occupancy.
- Strip contact details, free-form notes, payment information, third-party information, and unrelated conversational content before transmission.
- If verbatim transmission is operationally necessary, obtain explicit informed consent immediately before sending it and explain the recipient and purpose.
- Document backend retention periods, deletion procedures, access controls, encryption protections, and restrictions on secondary use.
- Add an instruction requiring the agent to review free-form fields for secrets, payment credentials, and unrelated sensitive data before any network transmission.
- Update
SECURITY.mdandreference.mdso their privacy guidance consistently reflects the minimized behavior.
