T09 · Insecure Skill Coding Practices
- Location
scripts/download_audio.py:83- Finding
TLS Certificate Verification Disabled in YouTube Downloader
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it claims, but its YouTube downloader weakens HTTPS safety and can be steered to non-YouTube hosts, so it should be reviewed before installation.
Install only if you are comfortable uploading selected audio or downloaded YouTube media to iFlytek and storing iFlytek API credentials in a local .env file. Before use, remove the downloader certificate-bypass option, tighten URL validation to canonical YouTube hosts, and prefer pinned dependencies in an isolated virtual environment.
scripts/download_audio.py:83TLS Certificate Verification Disabled in YouTube Downloader
scripts/download_audio.py:17Insufficient YouTube URL Validation Permits Requests to Attacker-Controlled Hosts
requirements.txt:1Open-Ended Third-Party Dependencies Are Installed Without Integrity Pinning
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
with open(file_path, "rb") as f:
file_data = f.read()
resp = requests.post(URL_UPLOAD, params=params, headers=headers, data=file_data)
result = resp.json()
print(f"[调试] 上传响应: {result}")
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
"signature": signature,
}
resp = requests.post(URL_GET_RESULT, params=params, headers=headers)
result = resp.json()
if result.get("code") != "000000":
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
生成的 iflytek-asr-skill.zip 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```bash
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
```
生成的 `iflytek-asr-skill.zip` 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```bash
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
```
生成的 `iflytek-asr-skill.zip` 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```bash
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
```
生成的 `iflytek-asr-skill.zip` 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```bash
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
```
生成的 `iflytek-asr-skill.zip` 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```bash
cd ~/.openclaw/workspace
zip -r iflytek-asr-skill.zip iflytek-asr-skill-template/ \
-x "*.pyc" "**/__pycache__/*" ".env" "*.mp3" "*.wav" "*.txt"
```
生成的 `iflytek-asr-skill.zip` 就可以分享给别人了!
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 复制模板文件
cp .env.example .env
# 编辑 .env 文件,粘贴你的凭证
nano .env # 或用任何文本编辑器
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 复制模板文件
cp .env.example .env
# 编辑 .env 文件,粘贴你的凭证
nano .env # 或用任何文本编辑器
Claiming support for YouTube-to-text while only accepting local file paths is misleading and can cause unsafe assumptions about what the skill will fetch or process. Even when not overtly malicious, inaccurate capability claims undermine informed consent and make security review less reliable.
Claiming support for YouTube-to-text while only accepting local file paths is misleading and can cause unsafe assumptions about what the skill will fetch or process. Even when not overtly malicious, inaccurate capability claims undermine informed consent and make security review less reliable.
Claiming support for YouTube-to-text while only accepting local file paths is misleading and can cause unsafe assumptions about what the skill will fetch or process. Even when not overtly malicious, inaccurate capability claims undermine informed consent and make security review less reliable.
Claiming support for YouTube-to-text while only accepting local file paths is misleading and can cause unsafe assumptions about what the skill will fetch or process. Even when not overtly malicious, inaccurate capability claims undermine informed consent and make security review less reliable.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# 设置输出文件名
OUTPUT_NAME="iflytek-asr-skill-$(date +%Y%m%d).zip"
# 检查是否有 .env 文件(警告用户)
if [ -f .env ]; then
echo "⚠️ 警告:检测到 .env 文件!"
echo " .env 包含你的 API 凭证,不应该被分发。"