Security Audit
sundial-org/awesome-openclaw-skills:skills/arxiv-watcher
github.com/sundial-org/awesome-openclaw-skillsTrust Assessment
sundial-org/awesome-openclaw-skills:skills/arxiv-watcher received a trust score of 42/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 1 finding: 1 critical, 0 high, 0 medium, and 0 low severity. Key findings include Command Injection via Unsanitized User Input in Shell Script.
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 Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Command Injection via Unsanitized User Input in Shell Script The `scripts/search_arxiv.sh` script directly interpolates the `$QUERY` variable, which originates from user input, into a `curl` command string. This allows an attacker to inject arbitrary shell commands by crafting the `$QUERY` input with shell metacharacters (e.g., `;`, `$(...)`, `||`). When the shell expands the variable within the double-quoted string, these metacharacters will be interpreted and executed, leading to arbitrary command execution on the host system. To prevent command injection and ensure proper URL encoding of the query parameter, use `curl`'s `-G` (for GET requests) and `--data-urlencode` options. This method securely passes the query parameters and automatically handles special characters, preventing both shell injection and incorrect URL formatting. Example remediation: ```bash #!/usr/bin/env bash # scripts/search_arxiv.sh QUERY=$1 COUNT=${2:-5} # Use curl to query ArXiv API curl -sL -G \ "https://export.arxiv.org/api/query" \ --data-urlencode "search_query=all:$QUERY" \ --data-urlencode "start=0" \ --data-urlencode "max_results=$COUNT" \ --data-urlencode "sortBy=submittedDate" \ --data-urlencode "sortOrder=descending" ``` | LLM | scripts/search_arxiv.sh:5 |
Scan History
Embed Code
[](https://skillshield.io/report/77c7f9dead07a406)
Powered by SkillShield