Security Audit
sundial-org/awesome-openclaw-skills:skills/agnxi-search
github.com/sundial-org/awesome-openclaw-skillsTrust Assessment
sundial-org/awesome-openclaw-skills:skills/agnxi-search received a trust score of 35/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 2 findings: 1 critical, 0 high, 1 medium, and 0 low severity. Key findings include Suspicious import: urllib.request, Command Injection via `query` parameter in `search_agnxi` tool.
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 March 3, 2026 (commit 6d998e00). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Command Injection via `query` parameter in `search_agnxi` tool The `search_agnxi` tool's `Usage Implementation` directly executes a shell command: `python3 search.py "{{query}}"`. The `query` parameter is user-controlled and is inserted directly into the shell command string without proper shell escaping. A malicious user could inject shell metacharacters (e.g., `;`, `|`, `&`, `$(...)`, `` ` ``) into the `query` to execute arbitrary commands on the host system where the skill is run. For example, a `query` like `foo"; rm -rf /; echo "bar` would attempt to delete files on the system. The `query` parameter must be properly shell-escaped before being passed to the command. If the LLM execution environment allows, pass arguments directly to the script without shell interpretation. If shell execution is unavoidable, ensure robust shell escaping is applied to the `query` parameter, for example, by using `shlex.quote()` in a wrapper script or by ensuring the LLM environment's argument passing mechanism securely quotes the input. Alternatively, consider using a `subprocess.run` call within a Python wrapper that passes arguments as a list, avoiding `shell=True`. | LLM | SKILL.md:26 | |
| MEDIUM | Suspicious import: urllib.request Import of 'urllib.request' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Static | skills/agnxi-search/search.py:3 |
Scan History
Embed Code
[](https://skillshield.io/report/d892569928e8bcb8)
Powered by SkillShield