T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:64- Finding
Unverified Use of Named Third-Party Gumroad Accounts
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 64–68
Vulnerability Type:T05: Unauthorized Access and Privilege Escalation
Risk Level: MediumRelevant code:
markdown ## Step 5: Publish to Gumroad Use `web_fetch` or `exec` to interact with Gumroad API. **Gumroad credentials:** dawn@marathondm.com account (Dawn's store — do NOT use for MJW products) **MJW Gumroad:** Use MJ's account for all MJW Design Studio products.Technical Analysis
The Skill instructs the agent to route publishing operations through specifically named third-party accounts. It does not require the agent to verify that the requesting user owns or is authorized to use the selected account. It also lacks a mandatory confirmation step before creating a live product listing.
Publishing through the Gumroad API is consistent with the Skill's declared functionality. However, choosing an account based on static instructions rather than explicit, runtime authorization exceeds the minimum privilege necessary. If bearer credentials for one of these accounts are available in the execution environment, the agent may use them without establishing that the current user is permitted to modify that store.
No working access token is embedded in the project. Exploitation therefore depends on relevant Gumroad credentials already being available to the agent or execution environment.
Attack Path
- An attacker or unauthorized user asks the agent to launch a product associated with one of the named brands.
- The agent follows the static account-routing instructions in
SKILL.md. - The agent locates or receives a Gumroad bearer token available in the runtime environment.
- Because the Skill does not require ownership validation or explicit approval, the agent submits a product-creation request against the selected account.
- A listing is created or modified in a store the requester may not be authorized to administer.
...[truncated 625 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all hardcoded personal names, email addresses, and brand-to-account routing rules from the Skill.
- Require the requesting user to explicitly identify the target Gumroad store for every publishing operation.
- Validate that the authenticated account matches the user-selected store before submitting API mutations.
- Apply a preview-and-confirm workflow that shows the target account, product name, price, description, and intended operation before publishing.
- Separate product generation from publication. Product generation should not require Gumroad credentials.
- Use narrowly scoped, revocable credentials where Gumroad supports them, and never search unrelated environment variables or files for tokens.
- Default to generating a draft or returning API-ready content rather than creating a live listing.
- Record an auditable confirmation event for each externally visible publishing action.
