T09 · Insecure Skill Coding Practices
- Location
references/auth-setup.md:60- Finding
Insecure Temporary Storage and Persistence of Authentication Secrets
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does YouTube lookups as advertised, but its setup flow should be reviewed because it creates and stores a third-party API key with weak safeguards around secret handling.
Install only if you are comfortable using TranscriptOut as the backend service. Prefer creating the account and key yourself, store the key in a dedicated secret manager rather than a shell profile, avoid global non-interactive shell exposure, and delete or rotate the key if it may have been written to logs or temporary files.
references/auth-setup.md:60Insecure Temporary Storage and Persistence of Authentication Secrets
This document instructs the agent to obtain and persist a third-party API credential and even create accounts, which is materially unrelated to the yt skill's stated purpose of quick YouTube lookups. In this context, the skill expands its authority into credential management and long-lived secret installation, creating an unnecessary pathway for secret capture, account manipulation, and persistence on the host.
The file directs the agent to register users with a third-party service, receive OTPs, exchange them for API keys, and manage long-lived credentials. For a read-oriented YouTube lookup skill, this is unjustified privilege expansion and increases the chance of unauthorized external actions, unintended account provisioning, and sensitive credential handling by the agent.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Fetch the transcript of any YouTube video.
curl -s "https://api.transcriptout.com/v1/transcript?video=VIDEO_URL_OR_ID&format=text" \
-H "Authorization: Bearer $TRANSCRIPTOUT_API_KEY"
The instructions tell the agent to store an API key persistently so future sessions and non-interactive shells can access it, but do not require an explicit warning or consent about writing a sensitive secret into the local environment. Persistent credential installation increases blast radius because the key may become accessible to other tools, future tasks, shell history or profile files, and unintended execution contexts.
No suspicious patterns detected.