T09 · Insecure Skill Coding Practices
- Location
SKILL.md:31- Finding
Unnecessary Disclosure of Contact Email to Scraped Websites
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:31
Vulnerability Type: Sensitive information exposure through outbound HTTP headers
Risk Level: MediumComplete Snippet:
markdown - **User-Agent**: Real browser string + contact email: `Mozilla/5.0 ... (contact: you@email.com)`Technical Analysis
The Skill instructs the agent to include a contact email in the
User-Agentheader used for scraping. If the placeholder is replaced with the operator's personal or otherwise sensitive address, every contacted website receives that information.The address can be retained in origin-server logs and exposed to reverse proxies, content-delivery networks, web application firewalls, monitoring systems, and analytics services. Because the same identifier may be sent to unrelated domains, recipients can also use it to correlate activity across scraping sessions.
Disclosing a personal address is not required for the declared scraping functionality. A non-identifying project name is sufficient in most cases, while operators who intentionally provide contact information can use a dedicated role-based address after explicit consent. The instruction therefore exceeds minimum data privileges.
Attack Path
- An agent follows the Skill's User-Agent guidance.
- The placeholder is replaced with the user's real contact email.
- The agent sends a scraping request to an unrelated or attacker-controlled website.
- The website and its infrastructure record the complete User-Agent header.
- The recipient extracts the email and uses it for spam, phishing, profiling, or correlation with requests to other websites.
Impact Assessment
This issue does not grant direct local-system privileges or access to the SkillBoss API credential. Its scope is disclosure of the supplied email to every contacted host and potentially to intermediaries processing their HTTP traffic.
The exposed address may enable targeted phis ...[truncated 222 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the recommendation to include a personal email in every User-Agent.
- Default to a non-identifying project User-Agent, such as
ProjectScraper/1.0. - If contact information is operationally necessary, require explicit user consent and recommend a dedicated role-based address that is not used for personal accounts.
- Clearly warn that any supplied identifier will be disclosed to each destination host and may be stored by its infrastructure.
- Allow contact details to be configured per approved domain rather than reused globally.
- Apply data-minimization controls that prevent secrets, API keys, session tokens, and unrelated personal information from being inserted into outbound headers.
