T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:56
- Finding
- Hardcoded Personal Contact Address Can Redirect Privacy Requests## Vulnerability Details **File Location**: `SKILL.md:56-57`; duplicated in `assets/example-output/privacy.html:37,49` and `assets/example-output/terms.html:38` **Vulnerability Type**: Hardcoded sensitive contact information and unintended data routing **Risk Level**: Medium ### Vulnerable Code ```bash --base-email "chentuan7963@gmail.com" \ --email-tag "quillnest" \ ``` The resulting address is embedded in the example legal pages: ```html <p>You may request access, correction, or deletion of your information by contacting <a href="mailto:chentuan7963+quillnest@gmail.com">chentuan7963+quillnest@gmail.com</a>.</p> ``` ```html <p>Email: <a href="mailto:chentuan7963+quillnest@gmail.com">chentuan7963+quillnest@gmail.com</a></p> ``` ### Technical Analysis The primary generation example supplies a real-looking personal email address rather than a reserved example address. The generator derives `chentuan7963+quillnest@gmail.com` from this value, and the same address is already embedded in the distributable example output. Users or automated agents may treat the documented command and example assets as deployment-ready. If copied without modification, the generated Privacy Policy and Terms direct access, correction, deletion, support, and other legally significant requests to that mailbox. Because privacy requests commonly contain identifying information, account details, and descriptions of personal data, this creates an unintended sensitive-data disclosure channel. No mailbox credentials or local system privileges are exposed by the code itself. The vulnerability concerns unauthorized receipt of communications and personal information from visitors to incorrectly configured deployments. ### Attack Path 1. A publisher follows the canonical command in `SKILL.md` or copies files from `assets/example-output`. 2. The publisher fails to replace the hardcoded base email before deploying the legal site. 3. The published ...[truncated 1245 chars]
- Remediation
- ## Remediation Suggestions 1. Replace the personal address in `SKILL.md` with a reserved neutral value such as `publisher@example.com`. 2. Remove the address from all files under `assets/example-output` and regenerate those assets with clearly fictional contact information. 3. Require the publisher to provide `--email` or `--base-email` explicitly rather than supplying a copyable personal default. 4. Before deployment, validate generated pages and reject known sample addresses, `example.com` addresses, placeholder markers, or contact values not explicitly approved by the publisher. 5. Include the final contact address in the mandatory review summary and require explicit confirmation that it belongs to the deploying entity. 6. Add automated tests that scan documentation and example assets for personal email addresses and prevent publication when one is detected. 7. Regenerate the stale example pages to remove `TODO_LEGAL_REVIEW`, unsupported sharing and international-transfer language, and the hardcoded China governing-law clause so examples cannot be mistaken for reviewed production output.
