可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
skill-eval
Skill evaluation framework for testing trigger rate, quality compare, and model comparison
skill-eval 框架是一个纯本地的技能评估工具,所有操作均为文件系统读写和标准数据处理,无网络恶意行为、无凭证收割、无远程执行,代码行为与文档声明基本一致。
技能名称skill-eval
分析耗时38.7s
引擎pi
可以安装
无需阻止,可以安全使用。subprocess 使用 lsof 端口管理属于标准开发工具行为,可考虑在文档中补充说明。

安全发现 3 项

严重性 安全发现 位置
低危
subprocess 使用未在 SKILL.md 声明
generate_review.py 使用 subprocess.run([lsof...]) 和 os.kill() 进行端口管理,属于标准开发工具行为,但未在文档的 Runtime Actions Disclosure 表中声明
subprocess.run(["lsof", "-ti", f":{port}"], capture_output=True)
→ 建议在 SKILL.md 的 Runtime Actions 表中添加 'Execute lsof+kill' 端口清理操作
viewer/generate_review.py:186
低危
HTTP 服务器绑定 127.0.0.1
generate_review.py 启动本地 HTTP 服务器在 127.0.0.1:3117,仅监听本地连接,无外部访问风险
HTTPServer(("127.0.0.1", port), handler)
→ 无需修改,仅本地访问符合预期
viewer/generate_review.py:254
提示
requests 依赖但未使用
requirements.txt 声明 requests>=2.28.0,但代码分析显示所有脚本均为纯本地数据处理,未进行任何网络请求
requests>=2.28.0,<3.0.0
→ 可移除未使用的 requests 依赖以减少依赖体积
requirements.txt:10
资源类型声明权限推断权限状态证据
文件系统 WRITE WRITE ✓ 一致 SKILL.md:36 声明写入 eval-workspace/,代码实现一致
命令执行 NONE ADMIN ✓ 一致 viewer/generate_review.py:186 使用 subprocess + lsof 进程管理
3 项发现
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/License-MIT-yellow.svg
README.md:3
🔗
中危 外部 URL 外部 URL
https://api.zephyr.internal
test-skills/fake-tool/SKILL.md:14
🔗
中危 外部 URL 外部 URL
https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js
viewer/viewer.html:10

目录结构

40 文件 · 288.2 KB · 8934 行
Python 19f · 5572L Markdown 13f · 1518L HTML 1f · 1325L JSON 6f · 506L Text 1f · 13L
├─ 📁 agents
│ ├─ 📝 analyzer.md Markdown 60L · 2.1 KB
│ ├─ 📝 comparator.md Markdown 52L · 1.2 KB
│ └─ 📝 grader.md Markdown 148L · 4.8 KB
├─ 📁 docs
│ └─ 📝 ARCHITECTURE.md Markdown 250L · 9.6 KB
├─ 📁 evals
│ ├─ 📁 weather
│ │ ├─ 📋 quality.json JSON 43L · 1.3 KB
│ │ └─ 📋 triggers.json JSON 80L · 2.0 KB
│ ├─ 📋 example-quality.json JSON 110L · 3.4 KB
│ └─ 📋 example-triggers.json JSON 68L · 1.6 KB
├─ 📁 scripts
│ ├─ 📁 legacy
│ │ ├─ 📝 README.md Markdown 7L · 227 B
│ │ ├─ 🐍 run_compare.py Python 185L · 7.4 KB
│ │ ├─ 🐍 run_diagnostics.py Python 618L · 19.5 KB
│ │ ├─ 🐍 run_latency_profile.py Python 539L · 16.6 KB
│ │ ├─ 🐍 run_model_compare.py Python 629L · 19.0 KB
│ │ ├─ 🐍 run_orchestrator.py Python 298L · 9.9 KB
│ │ └─ 🐍 run_trigger.py Python 205L · 6.7 KB
│ ├─ 🐍 aggregate_benchmark.py Python 401L · 14.0 KB
│ ├─ 🐍 analyze_latency.py Python 232L · 7.2 KB
│ ├─ 🐍 analyze_model_compare.py Python 344L · 10.7 KB
│ ├─ 🐍 analyze_quality.py Python 223L · 7.2 KB
│ ├─ 🐍 analyze_triggers.py Python 257L · 8.6 KB
│ ├─ 🐍 build_evals_with_context.py Python 222L · 7.1 KB
│ ├─ 🐍 extract_session_history.py Python 172L · 4.8 KB
│ └─ 🐍 resolve_paths.py Python 200L · 6.7 KB
├─ 📁 templates
│ └─ 📁 cli-wrapper
│ ├─ 📋 quality.json JSON 127L · 4.0 KB
│ ├─ 📝 README.md Markdown 62L · 1.9 KB
│ └─ 📋 triggers.json JSON 78L · 2.1 KB
├─ 📁 test-skills
│ ├─ 📁 fake-tool
│ │ └─ 📝 SKILL.md Markdown 38L · 889 B
│ └─ 📝 README.md Markdown 48L · 1.2 KB
├─ 📁 tests
│ ├─ 🐍 __init__.py Python 1L · 24 B
│ ├─ 🐍 conftest.py Python 4L · 78 B
│ ├─ 🐍 test_analyze_quality.py Python 238L · 8.0 KB
│ └─ 🐍 test_analyze_triggers.py Python 333L · 11.7 KB
├─ 📁 viewer
│ ├─ 🐍 generate_review.py Python 471L · 16.0 KB
│ └─ 📄 viewer.html HTML 1325L · 43.9 KB
├─ 📝 CHANGELOG.md Markdown 37L · 1.3 KB
├─ 📝 CONTRIBUTING.md Markdown 47L · 1.6 KB
├─ 📝 README.md Markdown 241L · 7.8 KB
├─ 📄 requirements.txt Text 13L · 468 B
├─ 📝 SKILL.md Markdown 282L · 9.1 KB
└─ 📝 USAGE.md Markdown 246L · 6.6 KB

依赖分析 2 项

包名版本来源已知漏洞备注
requests >=2.28.0,<3.0.0 pip 已声明但代码中未使用
argparse, json, statistics, time, re, pathlib, dataclasses, datetime, concurrent.futures stdlib standard library 纯标准库使用

安全亮点

✓ 无凭证收割行为,所有脚本均为纯数据处理
✓ 无远程代码执行,无 base64/bash 管道
✓ 无环境变量遍历匹配敏感关键字
✓ 无访问 ~/.ssh、~/.aws、.env 等敏感路径
✓ 无 HTML 注释隐藏指令
✓ 代码结构清晰,注释完整
✓ HTTP 服务器仅绑定 127.0.0.1 无外部访问风险
✓ SKILL.md Runtime Actions Disclosure 表详细列出了所有运行时操作