T09 · Insecure Skill Coding Practices
- Location
SKILL.md:87- Finding
Path Traversal Through Unsanitized Company Slug
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent interview-prep purpose, but it needs review because it reads private email/tracker data and writes sensitive interview codes and contacts to disk with under-scoped safeguards.
Install only if you are comfortable letting the skill read interview-related Gmail, Notion, tracker, profile, and local note data. Before using it, confirm the exact output path, avoid untrusted company-name input, and do not let it save access codes, meeting links, or personal contact emails unless you explicitly want that information stored in plaintext.
SKILL.md:87Path Traversal Through Unsanitized Company Slug
SKILL.md:129SQL Injection Through Interpolated Company Name
SKILL.md:94Sensitive Interview Credentials Persisted in Plaintext
The skill description advertises cross-system data access to Gmail, Notion, and local notes, but provides no explicit privacy warning, consent boundary, or minimization guidance before collecting and consolidating interview-related personal data. That increases the risk of users triggering the skill without understanding that private emails, contact details, and scheduling information will be accessed and copied into a local document.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Trigger when the user asks to:
- Prepare for an upcoming interview ("prep notes for [Company] interview", "create interview prep for [Company]")
- Generate a prep document for a scheduled interview
- Update or add to an existing prep doc for a company
- Research a company before an interview
The skill directs the agent to fetch Gmail threads and extract sensitive details such as access codes, contact identities, interview times, and ATS links, then merge them into a consolidated prep document by default. Centralizing these secrets and personal details in a local markdown file materially increases exposure risk through local compromise, accidental sharing, indexing, backups, or later model access.
The workflow instructs the agent to create directories and write or update files in a fixed local path, including merge behavior, without an explicit warning or confirmation step for filesystem modification. This can lead to unintended persistence of sensitive interview data, accidental overwrites, or changes to existing notes the user did not expect.
The output template explicitly requires inclusion of access codes, contact emails, and day-of logistics pulled from emails, which operationalizes persistence of sensitive secrets and personal data in the final artifact. Because the file is stored in a predictable local project directory, the context makes this more dangerous by creating a durable, discoverable repository of interview credentials and contact information.
No suspicious patterns detected.