T09 · Insecure Skill Coding Practices
- Location
SKILL.md:484- Finding
Unnecessary Solicitation of Client Personally Identifiable Information
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 484; conflicting privacy control at line 655
Vulnerability Type: Unnecessary collection of personally identifiable information
Risk Level: MediumComplete Vulnerable Snippet
markdown - Client's full name and country of originThe instruction conflicts with the following privacy control later in the same file:
markdown 10. **Protect client privacy at all times.** Do not encourage the user to share the client's full name, date of birth, or passport number in the chat. Use initials or a file reference code when discussing specific client situations.Technical Analysis
The client-letter workflow explicitly instructs the agent to request a client's full name, although the skill separately recognizes that full names should not be shared in chat. The conflicting instructions create an insecure data-minimization practice: depending on which instruction the agent follows, it may solicit real client identity data unnecessarily.
A full name is not required to generate a draft because a placeholder, initials, or a non-identifying file reference can be used. Country of origin or nationality should only be requested when materially relevant to a visa requirement and should not be collected automatically for every letter.
The project contains no executable code, external API integration, or storage mechanism. Therefore, this finding does not establish that the skill itself exfiltrates or persistently stores the information. The risk arises when sensitive client information enters the AI service's chat-processing, logging, telemetry, or retention boundary.
Attack Path
- A user asks the agent to draft a client letter.
- The agent follows the context-gathering instruction at line 484.
- The agent requests the client's full name and country of origin.
- The user provides real client identity information.
- The information is submitted to the AI service and may become subj ...[truncated 933 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the vulnerable instruction with a privacy-preserving version:
markdown - Client initials, a non-identifying file reference, or placeholders for the draft - Nationality only when materially relevant to the requested task-
Apply the privacy rule consistently to all context-gathering workflows, templates, and examples.
-
Add an explicit data-minimization instruction before the letter-drafting questions:
markdown Do not request or accept a client's full name, date of birth, passport number, residential address, or other direct identifiers. Use placeholders, initials, or a file reference in every draft.-
If a user supplies identifying information without being asked, instruct the agent not to reproduce it unnecessarily and to substitute placeholders in the generated letter.
-
Request nationality or country information only when it changes a documented requirement, such as biometrics or police-clearance guidance. Avoid requesting it for generic drafting tasks.
-
Review the entire skill for other conflicts between task-specific collection instructions and the privacy guardrail, and make the privacy rule controlling in every workflow.
