Trust Assessment
search-x 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, Untrusted user input directly used in xAI Grok LLM prompt.
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 13, 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 | Untrusted user input directly used in xAI Grok LLM prompt The `searchXaiGrok` function constructs a payload for the xAI Responses API, which uses the `grok-4-1-fast` LLM. The `options.query` variable, derived directly from untrusted user input via command-line arguments, is embedded without sanitization into the `content` field of a 'user' role message within the LLM prompt. This creates a classic prompt injection vulnerability, allowing an attacker to inject arbitrary instructions or data to manipulate the LLM's behavior, potentially leading to unintended actions, information disclosure, or circumvention of intended functionality within the xAI system. Implement robust input sanitization or escaping for `options.query` before it is embedded into the LLM prompt. If the xAI API supports structured tool calls where the query is passed as a distinct parameter rather than embedded in a natural language prompt, utilize that method. Alternatively, use a dedicated prompt templating library that automatically escapes user input to prevent prompt injection. | LLM | scripts/search.js:230 | |
| 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/mvanhorn/search-x/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/7fd3b0533e210c7f)
Powered by SkillShield