T09 · Insecure Skill Coding Practices
- Location
references/creator-dossier.md:84- Finding
Creator dossier may be persisted without explicit user authorization
- Content
View full analysis
Vulnerability Details
File Location:
references/creator-dossier.md:84
Vulnerability Type: Authorization bypass through conflicting persistence instructions
Risk Level: MediumVulnerable Code Snippet:
markdown ## 6. Output and handoff Save the dossier alongside the discovery file for the same topic. In the handoff to `fit-scorer`, carry the handle, niche, audience signal, brand-safety flags, and contact-path step so scoring and outreach start with the full read.Technical Analysis
The instruction unconditionally directs the agent to save a creator dossier. This conflicts with the authorization boundary established in
SKILL.md, which states that discovery results may be written only with separate, exact authorization and otherwise must be returned inline without writing anything.A dossier can contain creator identifiers, public contact details, audience observations, partnership history, and brand-safety assessments. Although much of this information may originate from public sources, persisting the compiled profile remains a state-changing operation. The conflicting reference instruction could cause an agent following the dossier workflow to bypass the skill's intended consent requirement.
This is an insecure skill configuration rather than an operating-system privilege escalation. The flaw arises because security-sensitive write authorization is not consistently enforced across all instructions loaded by the skill.
Attack Path
- A user requests influencer discovery or a detailed dossier for a named creator.
- The agent follows
SKILL.md, which directs it to usereferences/creator-dossier.mdfor a deep creator review. - The agent collects public profile information, contact paths, audience signals, partnership history, and brand-safety observations.
- The agent reaches the unconditional save instruction at line 84.
- Without obtaining the separate exact authorization ...[truncated 1010 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace the unconditional save instruction with an explicit authorization gate, for example:
markdown Return the dossier inline by default. Save it only after obtaining separate, exact user authorization, and use only the path and write constraints defined in `SKILL.md`. -
Make
SKILL.mdthe single authoritative source for persistence policy. Reference that policy from supporting documents rather than restating write behavior independently. -
Require the agent to identify the exact destination and data being persisted before requesting authorization.
-
Separate authorization for dossier saving from authorization for discovery-report saving, shortlist caching, and creator-registry proposals. Approval for one operation must not imply approval for another.
-
Add a pre-write validation step that defaults to inline-only delivery unless an explicit authorization record exists for the current operation.
-
Add consistency tests or linting that flag imperative write terms such as “save,” “write,” “cache,” or “persist” in reference files unless they include the required authorization condition.
-
