Trust Assessment
stepfun-openrouter received a trust score of 83/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 0 medium, and 1 low severity. Key findings include Node lockfile missing, Unescaped user input in JSON payload leads to Command Injection (JSON Injection).
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Unescaped user input in JSON payload leads to Command Injection (JSON Injection) The script constructs a JSON payload for the `curl` command by directly embedding user-controlled variables (`model`, `content`, `temperature`, `max_tokens`) without proper JSON escaping. An attacker can inject arbitrary JSON fields or break the JSON structure by providing specially crafted input. This allows manipulation of the API request sent to OpenRouter, potentially altering model parameters, injecting system messages, or changing the intended behavior of the LLM call. All user-controlled variables (`model`, `content`, `temperature`, `max_tokens`) must be properly JSON-escaped before being embedded into the `payload` string. Consider using a robust JSON library or a function that handles escaping of special characters (e.g., double quotes, backslashes, newlines) to prevent JSON injection. For example, use `jq` to construct the JSON object from individual, safely quoted components, or implement a bash function to escape JSON strings. | LLM | scripts/stepfun-cli.sh:58 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/mig6671/stepfun-openrouter-v2/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/b789919c0c32d677)
Powered by SkillShield