Trusted — Risk Score 5/100
Last scan:2 days ago Rescan
5 /100
cms-push-skill
CMS Skill 推送工具 — 发布、更新或发布 Skill 到平台,打包上传注册/下架到平台,同步到 ClawHub 和 GitHub;同时包含问题反馈与状态管理
cms-push-skill 是一个合法的内部 Skill 发布与管理平台工具,所有网络请求均指向明确声明的内部 API 端点,无凭证收割、远程执行或数据外泄行为。
Skill Namecms-push-skill
Duration47.9s
Enginepi
Safe to install
无需阻止,可正常部署使用。建议关注 verify=False 的 SSL 禁用行为(生产环境应配置正式证书)。

Findings 2 items

Severity Finding Location
Low
SSL 证书验证全局禁用
所有 HTTP 客户端(requests / urllib)使用 verify=False 禁用 SSL 证书验证,可能在生产环境中遭受中间人攻击。
warnings.filterwarnings('ignore', category=requests.packages.urllib3.exceptions.InsecureRequestWarning)
→ 生产部署时移除 verify=False,为内部 API 配置正式 SSL 证书
scripts/skill-management/publish_skill.py:9
Low
requests 库无版本锁定
SKILL.md 依赖关系中未提供 requirements.txt,依赖 requests 库版本未锁定。
dependencies: ["cms-auth-skills"]
→ 建议提供 requirements.txt 锁定 requests 版本
SKILL.md:1
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned 所有脚本仅向 https://skills.mediportal.com.cn、https://up-z2.qiniup.com/、https://wry-ma…
Filesystem READ READ ✓ Aligned 仅读取本地 skill_dir(pack_skill 读目录)并写入 ZIP,无越权文件访问
Environment READ READ ✓ Aligned 仅读取 XG_USER_TOKEN、XG_CORP_ID 用于认证,无遍历环境变量收割行为
Shell NONE NONE 无 subprocess、os.system、eval 等 shell 执行调用
Skill Invoke NONE NONE 无动态调用其他 skill 的逻辑
Clipboard NONE NONE 无剪贴板访问
Browser NONE NONE 无浏览器自动化调用
Database NONE NONE 无数据库访问
4 findings
🔗
Medium External URL 外部 URL
https://skills.mediportal.com.cn
scripts/issue_report/list_issues.py:20
🔗
Medium External URL 外部 URL
https://skills.mediportal.com.cn)
scripts/issue_report/report_issue.py:202
🔗
Medium External URL 外部 URL
https://wry-manatee-359.convex.site/api/v1/download?slug=
scripts/skill-management/publish_skill.py:66
🔗
Medium External URL 外部 URL
https://up-z2.qiniup.com/
scripts/skill-management/upload_to_qiniu.py:44

File Tree

22 files · 63.3 KB · 1851 lines
Python 9f · 1448L YAML 12f · 281L Markdown 1f · 122L
├─ 📁 github-issue-templates
│ ├─ 📋 bug_report.yml YAML 64L · 1.5 KB
│ ├─ 📋 config.yml YAML 5L · 224 B
│ ├─ 📋 documentation_issue.yml YAML 17L · 494 B
│ ├─ 📋 feature_request.yml YAML 54L · 1.1 KB
│ ├─ 📋 incident_report.yml YAML 19L · 561 B
│ ├─ 📋 integration_issue.yml YAML 17L · 591 B
│ ├─ 📋 performance_issue.yml YAML 21L · 661 B
│ ├─ 📋 question_support.yml YAML 15L · 406 B
│ ├─ 📋 refactor_proposal.yml YAML 17L · 478 B
│ ├─ 📋 regression_report.yml YAML 19L · 580 B
│ ├─ 📋 roadmap_proposal.yml YAML 17L · 512 B
│ └─ 📋 security_issue.yml YAML 16L · 522 B
├─ 📁 scripts
│ ├─ 📁 issue_report
│ │ ├─ 🐍 list_issues.py Python 208L · 6.8 KB
│ │ ├─ 🐍 report_issue.py Python 236L · 8.3 KB
│ │ └─ 🐍 update_issue.py Python 141L · 4.0 KB
│ └─ 📁 skill-management
│ ├─ 🐍 delete_skill.py Python 85L · 2.4 KB
│ ├─ 🐍 pack_skill.py Python 88L · 3.0 KB
│ ├─ 🐍 publish_skill.py Python 280L · 11.6 KB
│ ├─ 🐍 register_skill.py Python 115L · 3.7 KB
│ ├─ 🐍 update_skill.py Python 126L · 4.1 KB
│ └─ 🐍 upload_to_qiniu.py Python 169L · 6.2 KB
└─ 📝 SKILL.md Markdown 122L · 5.7 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
requests 未指定 未提供 requirements.txt No SKILL.md 仅声明依赖 cms-auth-skills,requests 为隐式依赖,无版本锁定

Security Positives

✓ 所有网络请求均指向明确声明的内部域名,无裸 IP 或未知外部地址
✓ 环境变量仅读取认证 token(XG_USER_TOKEN),无凭证遍历或收割行为
✓ 无 subprocess/os.system/eval 等 shell 执行代码,无命令注入风险
✓ 无 base64 编码、eval(atob()) 等混淆载荷
✓ SKILL.md 文档完整准确,代码行为与声明完全一致,无阴影功能
✓ GitHub Issue 模板为纯静态 YAML 文件,无动态代码
✓ ZIP 打包逻辑清晰,仅处理 skill_dir,无目录遍历漏洞
✓ 无 .env 文件访问,无 ~/.ssh、~/.aws 等敏感路径访问
✓ 凭证仅用于在请求头中认证,无外传行为