低风险 — 风险评分 15/100
上次扫描:1 天前 重新扫描
15 /100
code-runner
Run code snippets in 30+ programming languages including JavaScript, Python, TypeScript, Java, C, C++, Go, Rust, Ruby, PHP, and more.
A legitimate code runner skill that executes user-provided code snippets, with fully documented shell execution and no hidden malicious behavior.
技能名称code-runner
分析耗时34.6s
引擎pi
可以安装
Accept for use with standard sandboxing precautions. The skill's core functionality of executing code is declared and expected. Users should avoid running untrusted code in production environments.

安全发现 2 项

严重性 安全发现 位置
低危
Undeclared filesystem write access 权限提升
The skill writes user-provided code to temporary files in os.tmpdir() without declaring filesystem:WRITE permission in SKILL.md. While necessary for code execution, this capability is not explicitly documented.
fs.writeFileSync(filePath, code, 'utf8')
→ Add filesystem:WRITE to declared capabilities or clarify in documentation that temp file writes are used for execution.
scripts/run-code.cjs:122
提示
Arbitrary code execution is core functionality 代码执行
The skill's purpose is to execute arbitrary code provided by users. This is declared and documented in SKILL.md with appropriate security warnings. Bash/shell support enables full shell command execution.
shellscript: { executor: 'bash', ext: 'sh' }
→ This is expected behavior for a code runner. Ensure sandboxing is used when running untrusted code.
scripts/run-code.cjs:64
资源类型声明权限推断权限状态证据
命令执行 WRITE WRITE ✓ 一致 SKILL.md line 1: 'Run code snippets', exec/spawn in scripts/run-code.cjs line 11
文件系统 NONE WRITE ✓ 一致 Writes to os.tmpdir() for code execution (line 122-125)
网络访问 NONE NONE No network calls in run-code.cjs
环境变量 NONE NONE No access to env vars for secrets
24 项发现
🔗
中危 外部 URL 外部 URL
https://nodejs.org/
references/LANGUAGES.md:10
🔗
中危 外部 URL 外部 URL
https://python.org/
references/LANGUAGES.md:22
🔗
中危 外部 URL 外部 URL
https://ruby-lang.org/
references/LANGUAGES.md:29
🔗
中危 外部 URL 外部 URL
https://php.net/
references/LANGUAGES.md:35
🔗
中危 外部 URL 外部 URL
https://lua.org/
references/LANGUAGES.md:47
🔗
中危 外部 URL 外部 URL
https://r-project.org/
references/LANGUAGES.md:53
🔗
中危 外部 URL 外部 URL
https://julialang.org/
references/LANGUAGES.md:59
🔗
中危 外部 URL 外部 URL
https://adoptium.net/
references/LANGUAGES.md:70
🔗
中危 外部 URL 外部 URL
https://kotlinlang.org/
references/LANGUAGES.md:84
🔗
中危 外部 URL 外部 URL
https://scala-lang.org/
references/LANGUAGES.md:90
🔗
中危 外部 URL 外部 URL
https://groovy-lang.org/
references/LANGUAGES.md:96
🔗
中危 外部 URL 外部 URL
https://clojure.org/
references/LANGUAGES.md:102
🔗
中危 外部 URL 外部 URL
https://rust-lang.org/
references/LANGUAGES.md:149
🔗
中危 外部 URL 外部 URL
https://swift.org/
references/LANGUAGES.md:160
🔗
中危 外部 URL 外部 URL
https://dart.dev/
references/LANGUAGES.md:166
🔗
中危 外部 URL 外部 URL
https://crystal-lang.org/
references/LANGUAGES.md:172
🔗
中危 外部 URL 外部 URL
https://nim-lang.org/
references/LANGUAGES.md:178
🔗
中危 外部 URL 外部 URL
https://haskell.org/ghc/
references/LANGUAGES.md:188
🔗
中危 外部 URL 外部 URL
https://dot.net/
references/LANGUAGES.md:194
🔗
中危 外部 URL 外部 URL
https://ocaml.org/
references/LANGUAGES.md:200
🔗
中危 外部 URL 外部 URL
https://elixir-lang.org/
references/LANGUAGES.md:206
🔗
中危 外部 URL 外部 URL
https://racket-lang.org/
references/LANGUAGES.md:212
🔗
中危 外部 URL 外部 URL
http://sbcl.org/
references/LANGUAGES.md:224
🔗
中危 外部 URL 外部 URL
https://autohotkey.com/
references/LANGUAGES.md:285

目录结构

3 文件 · 24.3 KB · 856 行
Markdown 2f · 495L JavaScript 1f · 361L
├─ 📁 references
│ └─ 📝 LANGUAGES.md Markdown 306L · 7.2 KB
├─ 📁 scripts
│ └─ 📜 run-code.cjs JavaScript 361L · 11.6 KB
└─ 📝 SKILL.md Markdown 189L · 5.5 KB

安全亮点

✓ SKILL.md clearly documents the shell execution mechanism (node run-code.cjs)
✓ Security considerations section warns about dangerous operations
✓ No credential harvesting or environment variable access for secrets
✓ No network requests to external servers
✓ No obfuscation, base64 encoding, or hidden instructions
✓ No access to sensitive paths (~/.ssh, ~/.aws, .env)
✓ Timeout protection (30 seconds default) prevents infinite loops
✓ Clean temporary file cleanup after execution