T09 · Insecure Skill Coding Practices
- Location
SKILL.md:20- Finding
Credential and User Content Exposure Through Unsafe Handling Defaults
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20-22, 30, 52-55, and 109
Vulnerability Type:T09: Insecure Skill Coding Practices
Risk Level: MediumVulnerable Code Snippets
markdown - **MCP link is a credential**: Your MCP Server URL contains an embedded authentication token. Treat it like a password — do not share it publicly. Regenerate anytime in Settings. - **Media uploads**: Video files and photos are uploaded to Boring's Google Cloud Storage to make them accessible for TikTok's API. TikTok requires media for all posts. - **Data flow**: Your content and media are sent from Boring's server to TikTok's API on your behalf via your connected OAuth token.markdown 4. **Add to Claude**: Paste the MCP link as a Connector — no install, no API key neededmarkdown Upload files to get public URLs: - **Local files**: `boring_upload_file` with `file_path` - **External URLs**: `boring_upload_from_url` - **Google Drive**: Pass directlymarkdown - **Privacy**: Default is `PUBLIC_TO_EVERYONE`. Other options: `MUTUAL_FOLLOW_FRIENDS`, `FOLLOWER_OF_CREATOR`, `SELF_ONLY`Technical Analysis
The MCP authentication token is embedded directly in the connector URL. Bearer credentials placed in URLs are more likely to be exposed through connector configuration displays, copied configuration data, browser history, diagnostic output, telemetry, screenshots, or logs. Any party obtaining the complete URL may be able to present the embedded token to the Boring MCP service until the credential expires or is revoked.
The workflow also uploads user media to third-party Google Cloud Storage and describes the resulting resources as public URLs. Although this data flow is disclosed and is relevant to TikTok publishing, publicly addressable media increases exposure if URLs are retained, logged, shared, indexed, or otherwise disclosed. The document does not specify URL expiration, ...[truncated 2397 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace URL-embedded authentication with an authorization header or a secure connector secret field that is redacted from displays, logs, telemetry, and diagnostic exports.
- Use short-lived, narrowly scoped credentials and enforce server-side expiration, revocation, audience restriction, and rotation.
- Ensure all interfaces automatically redact authentication tokens from URLs before displaying or recording them.
- Replace unrestricted public media objects with signed, unguessable, short-lived URLs that are limited to the minimum duration required for TikTok ingestion.
- Document media retention periods and automatically delete staged files after publication, failure, cancellation, or expiration.
- Require explicit confirmation before uploading sensitive local files to third-party storage.
- Require a final pre-publication confirmation showing the destination TikTok account, selected media, caption, draft status, and privacy level.
- Default to
SELF_ONLYor draft mode rather thanPUBLIC_TO_EVERYONE, unless the user explicitly requests public publication. - Provide an immediate credential-revocation procedure and advise users to rotate the MCP token whenever accidental disclosure is suspected.
