可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
cms-create-skill
CMS Skill 创建工具 — 三位一体的 Skill 全生命周期工具:发现平台已有 Skill、按 XGJK 协议创建新 Skill、发布/更新/下架 Skill
CMS Skill 创建工具是合法的内部平台管理工具,代码质量良好,行为与文档完全一致,无越权操作或可疑行为
技能名称cms-create-skill
分析耗时41.4s
引擎pi
可以安装
可直接使用

安全发现 2 项

严重性 安全发现 位置
提示
SSL 验证被禁用
多个脚本使用 verify=False 禁用 SSL 证书验证
warnings.filterwarnings("ignore", category=requests.packages.urllib3.exceptions.InsecureRequestWarning)
→ 考虑为内部开发环境配置受信任的 CA 证书,或使用自签名证书时提供明确的环境变量控制
scripts/fetch_api_doc.py, scripts/skill-management/*.py:25, 15+
提示
外部 URL 访问
fetch_api_doc.py 支持从任意 URL 获取 API 文档
def _http_get(url: str, accept: str = "*/*") -> bytes:
→ 这是工具的核心能力,用于拉取 Swagger/Markdown 格式的接口文档,属于正常功能
scripts/fetch_api_doc.py:1
资源类型声明权限推断权限状态证据
文件系统 WRITE WRITE ✓ 一致 所有脚本均读写本地文件用于打包、配置
网络访问 READ READ ✓ 一致 fetch_api_doc.py 从外部 URL 获取文档,scripts 调用内部平台 API
命令执行 NONE NONE 无任何 subprocess 或 shell 命令执行
环境变量 NONE READ ✓ 一致 仅读取 XG_USER_TOKEN 等标准变量获取鉴权凭证,属于正常鉴权流程
技能调用 WRITE WRITE ✓ 一致 Step 1-5 流程用于生成新 Skill
浏览器 READ READ ✓ 一致 SKILL.md 声明 open 命令打开技能管理平台
剪贴板 NONE NONE 无任何剪贴板操作
数据库 NONE NONE 仅通过 REST API 操作数据,无直接数据库访问
15 项发现
🔗
中危 外部 URL 外部 URL
https://wry-manatee-359.convex.site/api/v1/download?slug=
SKILL.md:43
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn
SKILL.md:91
🔗
中危 外部 URL 外部 URL
http://json-schema.org/draft-07/schema#
docs/XGJK_SKILL_PROTOCOL.md:262
🔗
中危 外部 URL 外部 URL
https://api.weather-demo.com/openapi/weather/current
docs/XGJK_SKILL_PROTOCOL.md:997
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn/api/skill/delete
openapi/skill-management/delete-skill.md:1
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn/api/skill/list
openapi/skill-management/get-skills.md:1
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn/api/skill/register
openapi/skill-management/register-skill.md:1
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn/api/skill/update
openapi/skill-management/update-skill.md:1
🔗
中危 外部 URL 外部 URL
https://skills.mediportal.com.cn/api/qiniu/token
openapi/skill-management/upload-to-qiniu.md:1
🔗
中危 外部 URL 外部 URL
https://up-z2.qiniup.com/
openapi/skill-management/upload-to-qiniu.md:1
🔗
中危 外部 URL 外部 URL
https://host/api-center/doc.html#/im/1.机器人管理/deleteMyRobotUsingPOST
scripts/fetch_api_doc.py:19
🔗
中危 外部 URL 外部 URL
https://host/api-center/doc.html#/im/1.机器人管理/listVisibleUsingGET
scripts/fetch_api_doc.py:20
🔗
中危 外部 URL 外部 URL
https://host/api-center/doc.html#/im/xxx/someAPI
scripts/fetch_api_doc.py:24
🔗
中危 外部 URL 外部 URL
https://host/api-center/doc.html#/im/2.消息管理/msgListByIdsUsingPOST
scripts/fetch_api_doc.py:104
🔗
中危 外部 URL 外部 URL
https://wry-manatee-359.convex.site/api/v1/download?slug=im-robot
scripts/skill-management/README.md:54

目录结构

21 文件 · 133.9 KB · 3500 行
Markdown 13f · 2229L Python 8f · 1271L
├─ 📁 docs
│ ├─ 📝 SKILL_CREATION_WORKFLOW.md Markdown 252L · 10.3 KB
│ └─ 📝 XGJK_SKILL_PROTOCOL.md Markdown 1180L · 45.8 KB
├─ 📁 examples
│ └─ 📁 skill-management
│ └─ 📝 README.md Markdown 50L · 2.4 KB
├─ 📁 openapi
│ └─ 📁 skill-management
│ ├─ 📝 api-index.md Markdown 13L · 1.4 KB
│ ├─ 📝 delete-skill.md Markdown 41L · 800 B
│ ├─ 📝 get-skills.md Markdown 40L · 718 B
│ ├─ 📝 pack-skill.md Markdown 30L · 843 B
│ ├─ 📝 publish-skill.md Markdown 87L · 3.0 KB
│ ├─ 📝 register-skill.md Markdown 50L · 1.1 KB
│ ├─ 📝 update-skill.md Markdown 49L · 1.1 KB
│ └─ 📝 upload-to-qiniu.md Markdown 48L · 1.0 KB
├─ 📁 scripts
│ ├─ 📁 skill-management
│ │ ├─ 🐍 delete_skill.py Python 84L · 2.4 KB
│ │ ├─ 🐍 get_skills.py Python 89L · 3.5 KB
│ │ ├─ 🐍 pack_skill.py Python 88L · 3.0 KB
│ │ ├─ 🐍 publish_skill.py Python 281L · 11.7 KB
│ │ ├─ 📝 README.md Markdown 79L · 3.3 KB
│ │ ├─ 🐍 register_skill.py Python 114L · 3.7 KB
│ │ ├─ 🐍 update_skill.py Python 125L · 4.1 KB
│ │ └─ 🐍 upload_to_qiniu.py Python 169L · 6.2 KB
│ └─ 🐍 fetch_api_doc.py Python 321L · 11.2 KB
└─ 📝 SKILL.md Markdown 310L · 16.6 KB

依赖分析 2 项

包名版本来源已知漏洞备注
requests * pip 无版本锁定,但为标准库
cms-auth-skills latest npm clawhub 声明的外部依赖,用于统一鉴权

安全亮点

✓ 文档与代码完全一致,无阴影功能
✓ 无任何凭证收割、远程代码执行、数据外泄行为
✓ 依赖管理清晰(依赖 cms-auth-skills 提供鉴权)
✓ 代码结构良好,每个功能都有独立脚本
✓ 敏感操作(注册/更新/删除)需要明确的 token 验证
✓ 打包流程跳过隐藏目录和 __pycache__,安全意识良好
✓ 外部 Skill 使用固定域名(wry-manatee-359.convex.site),无需本地文件处理
✓ 重试策略明确(1秒间隔,最多重试3次),无无限重试风险