可疑 — 风险评分 40/100
上次扫描:5 小时前 重新扫描
40 /100
nim-ensemble / free-scaling
基于NVIDIA NIM免费API的多模型集成推理库,支持模型健康检测、ELO在线学习、用户反馈循环
免费AI模型集成库,代码功能正常但存在文档未声明的凭证访问行为(Copilot token刷新机制扫描本地GitHub OAuth令牌),存在文档-行为差异。
技能名称nim-ensemble / free-scaling
分析耗时69.0s
引擎pi
ClawHub Free Scaling v3.3.1 by isotrivial
📥 239
ClawHub 判定 可疑 dynamic_code_executionllm_suspiciousvt_suspicious
谨慎使用
补充SKILL.md文档声明Copilot API集成和GitHub OAuth令牌访问机制;或移除未声明的凭证扫描逻辑。

安全发现 3 项

严重性 安全发现 位置
中危
Copilot token刷新机制未在文档中声明 文档欺骗
_refresh_copilot_token() 函数扫描本地auth-profiles.json文件查找GitHub OAuth令牌(ghu_*)以刷新Copilot API会话令牌,但SKILL.md未提及此功能或GitHub Copilot集成。
for profile_path in glob.glob(os.path.expanduser("~/.openclaw/agents/*/agent/auth-profiles.json")):
    # 查找 GitHub OAuth token
→ 在SKILL.md中明确声明使用GitHub Copilot API及OAuth认证机制
nim_ensemble/voter.py:73-91
低危
依赖OpenClaw凭证存储目录 权限提升
代码依赖 ~/.openclaw/credentials/ 存储Copilot会话令牌,且会读取其他agent的auth-profiles.json,存在凭证访问边界超出skill范围的潜在问题。
token_path = os.path.expanduser("~/.openclaw/credentials/github-copilot.token.json")
→ 考虑使用skill独立的凭证存储机制,而非依赖OpenClaw全局存储
nim_ensemble/voter.py:56-57
低危
无版本锁定的间接依赖 供应链
代码使用Python标准库 urllib.request 作为HTTP客户端,虽无外部依赖但也意味着没有安全更新机制。
urllib.request.urlopen(req, timeout=curl_timeout)
→ 保持stdlib使用即可,注意Python版本安全性
nim_ensemble/voter.py:119-142
资源类型声明权限推断权限状态证据
文件系统 NONE READ ✓ 一致 voter.py:73-91 扫描 auth-profiles.json
网络访问 WRITE WRITE ✓ 一致 urllib NIM/Copilot API调用
环境变量 READ READ ✓ 一致 读取 NVIDIA_API_KEY
命令执行 NONE NONE 无subprocess调用
3 项发现
🔗
中危 外部 URL 外部 URL
https://build.nvidia.com
README.md:3
🔗
中危 外部 URL 外部 URL
https://integrate.api.nvidia.com/v1/chat/completions
nim_ensemble/models.py:3
🔗
中危 外部 URL 外部 URL
https://api.individual.githubcopilot.com/chat/completions
nim_ensemble/voter.py:39

目录结构

18 文件 · 171.9 KB · 4916 行
Python 16f · 4526L Markdown 2f · 390L
├─ 📁 nim_ensemble
│ ├─ 🐍 __init__.py Python 57L · 1.9 KB
│ ├─ 🐍 benchmark.py Python 385L · 13.3 KB
│ ├─ 🐍 capability_map.py Python 401L · 15.1 KB
│ ├─ 🐍 cascade.py Python 702L · 26.0 KB
│ ├─ 🐍 cli.py Python 227L · 8.1 KB
│ ├─ 🐍 elo.py Python 247L · 7.9 KB
│ ├─ 🐍 evolve.py Python 103L · 3.4 KB
│ ├─ 🐍 feedback.py Python 294L · 9.7 KB
│ ├─ 🐍 generate.py Python 338L · 11.7 KB
│ ├─ 🐍 health.py Python 124L · 3.9 KB
│ ├─ 🐍 models.py Python 206L · 5.9 KB
│ ├─ 🐍 parser.py Python 111L · 4.0 KB
│ └─ 🐍 voter.py Python 453L · 15.2 KB
├─ 📁 presets
│ ├─ 🐍 __init__.py Python 1L · 59 B
│ └─ 🐍 audit.py Python 391L · 14.1 KB
├─ 📁 tests
│ └─ 🐍 test_core.py Python 486L · 18.2 KB
├─ 📝 README.md Markdown 194L · 6.7 KB
└─ 📝 SKILL.md Markdown 196L · 6.8 KB

依赖分析 1 项

包名版本来源已知漏洞备注
urllib stdlib Python 标准库HTTP客户端,无外部依赖

安全亮点

✓ 代码结构清晰,无恶意行为证据
✓ 使用urllib代替curl/subprocess避免shell注入
✓ 无eval/exec/execfile等危险函数
✓ 无base64解码执行或代码混淆
✓ API调用目标明确(NVIDIA NIM + GitHub Copilot),无隐蔽C2通信
✓ 使用tempfile原子写入保护状态文件
✓ 线程锁保护并发状态读写
✓ 测试覆盖全面,包含安全相关测试(如否定解析)