T09 · Insecure Skill Coding Practices
- Location
scripts/download.mjs:100- Finding
TLS Certificate Verification Disabled for All Downloads
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it claims, but it weakens download security by disabling TLS certificate checks and may expose proxy credentials in logs.
Review before installing. The skill is not showing deception or destructive behavior, but users should avoid proxy URLs with embedded credentials, expect downloads to be written to the chosen path, and prefer a version that removes the default TLS certificate bypass and pins yt-dlp.
scripts/download.mjs:100TLS Certificate Verification Disabled for All Downloads
SKILL.md:13Unpinned Third-Party Dependency Installation
scripts/download.mjs:110Proxy Credentials Exposed Through Console Logging
The script always adds yt-dlp's --no-check-certificate option, which disables TLS certificate validation for all downloads. That makes HTTPS connections susceptible to man-in-the-middle interception or content tampering, especially on hostile networks or when a proxy is used, and the comment is misleading because the behavior is unconditional.
Using the tool parameter --no-check-certificate weakens the security guarantees of the downstream tool by disabling server certificate verification. In this skill's context, the only job is downloading media from a specific site, so weakening transport validation is unnecessary and increases the risk of accepting tampered content or connecting through an attacker-controlled TLS endpoint.
'--output', outputTemplate,
'--no-warnings',
'--socket-timeout', '30',
'--no-check-certificate' // Only if needed for proxy
];
// Add proxy if set (environment variable)
The skill declares an environment-variable dependency (PROXY_URL) in metadata but does not declare an explicit tool scope such as permissions or allowed-tools. That creates an implicit capability boundary where the agent may access environment-derived network configuration without a clearly documented permission model, reducing reviewability and increasing the chance of unintended secret or network-use exposure.
The manifest describes a narrowly scoped skill that downloads a video from a provided Twitter/X URL to a specified location. Reading process environment for PROXY_URL introduces an extra capability to consume external runtime configuration, which is not mentioned in the manifest and is not necessary to understand from the stated user-facing purpose.
This markdown file states that the skill downloads content to local storage and supports custom save paths and filenames, which affects user data on disk. Under the markdown-specific warning criterion, the description should disclose file-write behavior and any overwrite/location implications, but no such warning is present in the usage or description sections.