T09 · Insecure Skill Coding Practices
Warning
- Location
- p2p.md:20
- Finding
- Mandatory Disclosure of the Principal's Confidential Floor Price## Vulnerability Details **File Location**: `p2p.md`, lines 20–25 **Vulnerability Type**: Disclosure of confidential negotiation limits **Risk Level**: Medium ### Vulnerable Code ```md ## Handling Lowballers Never insult or ignore completely. Template: > "Thanks for your interest! My minimum is €[floor]. Let me know if that works." ``` This conflicts with the safety rule in `SKILL.md`, line 46: ```md 1. **Never reveal your limits** — "My budget is €500" gives away your ceiling ``` ### Technical Analysis The standard P2P response template directs the agent to substitute the principal's confidential minimum acceptable price into an outbound message. This discloses the exact walk-away threshold to an untrusted buyer and directly contradicts the Skill's core rule against revealing negotiation limits. Because the response is prescribed as a template rather than identified as requiring approval, an agent may disclose the floor during routine handling of a low offer. The buyer can then anchor subsequent offers at that threshold and has no incentive to offer a higher amount. ### Attack Path 1. The principal supplies a confidential minimum acceptable price during mandatory negotiation setup. 2. A buyer makes a low offer or asks for the lowest acceptable price. 3. The agent selects the standard lowballer template in `p2p.md`. 4. The agent replaces `[floor]` with the principal's confidential floor price. 5. The outbound response reveals the exact walk-away threshold. 6. The buyer offers only that amount or uses the disclosed limit to apply targeted negotiating pressure. ### Impact Assessment The issue does not provide system privileges, code execution, or access to the host environment. Its scope is the affected P2P negotiation and the confidential pricing information entrusted to the agent. Successful exploitation may: - Reveal the principal's exact minimum acceptable price. - Eliminate the principal's negotiating leverage. - Reduce the final sale price an ...[truncated 179 chars]
- Remediation
- ## Remediation Suggestions Replace the floor-disclosing template with a counteroffer that does not expose the principal's limit: ```md > "Thanks for your interest. I can consider €[counteroffer]. Let me know if that works." ``` Apply the following hardening measures: 1. Require `[counteroffer]` to remain above the confidential floor by a principal-approved margin. 2. Explicitly prohibit inserting the floor, ceiling, walk-away threshold, target, or approval threshold into outbound messages. 3. Require principal approval before disclosing any pricing constraint. 4. Add a validation step that compares draft messages against confidential setup parameters and blocks drafts containing exact limits. 5. Reconcile category-specific templates with the global safety rules in `SKILL.md`, making the global nondisclosure rule authoritative in case of conflict. 6. Add a safe refusal template for requests such as “What is your absolute minimum?” without revealing the actual floor.
