T09 · Insecure Skill Coding Practices
- Location
test/sandbox.test.js:33- Finding
Missing Sandbox Implementation Is Treated as a Passing Test
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This package presents itself as a safe PowerShell sandbox, but the core sandbox implementation is missing while the docs and tests still claim security readiness.
Do not rely on this package to run untrusted PowerShell. Treat it as incomplete documentation until the real sandbox implementation is included, tested end to end, and reviewed under an operating-system isolation model.
test/sandbox.test.js:33Missing Sandbox Implementation Is Treated as a Passing Test
test/sandbox.test.js:55Security Tests Do Not Exercise the Advertised Sandbox Controls
The skill claims to provide a sandbox with command whitelisting, path isolation, and safe execution, but the only concrete execution example shown is a plain Start-Job invocation with timeout handling. Start-Job alone does not enforce command restrictions, filesystem confinement, or language/runtime isolation, so users may trust a security boundary that does not actually exist and execute untrusted PowerShell with near-normal capabilities.
The file presents all user-facing instructions, warnings, and examples exclusively in Chinese, which effectively forces a specific language for use of the skill. Under the policy, locale or language constraints should be opt-in or clearly justified as region-specific, and neither is documented here.
文档把 System.Management.Automation.* 列为禁止类型,意图表达对 PowerShell 内部能力的限制;但后面的执行示例依赖 PowerShell Job 机制运行任意脚本,这正属于相关内部执行能力的一部分。对于“安全沙箱”定位而言,这种表述会让读者误以为这些能力被整体禁止,而实际执行路径仍然依赖它们。
The document makes strong security assurances such as 'ready for production use' and 'safe for untrusted scripts' while also listing missing security tests like file path isolation, output limits, and .NET type restriction validation. This can mislead operators into deploying the sandbox in a higher-trust context than warranted, increasing the chance that untrusted scripts bypass incomplete controls or abuse untested attack surfaces.
The natural-language description is written entirely in Chinese, which imposes a specific language/locale presentation without indicating any user choice or opt-in. Under the policy, language constraints should either offer a choice or be clearly justified as region-specific.
No suspicious patterns detected.