Trust Assessment
airweave received a trust score of 79/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, 1 medium, and 0 low severity. Key findings include Suspicious import: urllib.request, Potential Command Injection via Unescaped User Input in Shell Command Construction.
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 | Potential Command Injection via Unescaped User Input in Shell Command Construction The `SKILL.md` provides instructions for the AI agent to execute a shell command: `python3 {baseDir}/scripts/search.py "your search query"`. If the AI agent directly substitutes `"your search query"` with untrusted user input without proper shell escaping, a malicious user could inject arbitrary shell commands. For example, if a user provides input like `foo" && malicious_command #`, the AI agent might construct and execute a command similar to `python3 {baseDir}/scripts/search.py "foo" && malicious_command #"`, leading to the execution of `malicious_command`. While the `search.py` script itself uses `argparse` which correctly handles its arguments as a single string, the vulnerability lies in the AI agent's construction of the initial shell command. The AI agent should be explicitly instructed to use a robust shell escaping mechanism (e.g., `shlex.quote` in Python) when embedding user-provided strings into shell commands. Alternatively, the skill could provide a more structured way to pass arguments that doesn't rely on direct shell command construction by the LLM, such as a function call interface or a library call that handles argument passing internally. | LLM | SKILL.md:49 | |
| 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/lennertjansen/airweave/scripts/search.py:34 |
Scan History
Embed Code
[](https://skillshield.io/report/a791ed02b7cb6b1e)
Powered by SkillShield