Trust Assessment
network-scanner received a trust score of 20/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 4 findings: 2 critical, 2 high, 0 medium, and 0 low severity. Key findings include Arbitrary command execution, Dangerous call: subprocess.run(), Command Injection via DNS server parameter.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 55/100, indicating areas for improvement.
Last analyzed on February 12, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/florianbeer/network-scanner/scripts/scan.py:64 | |
| CRITICAL | Command Injection via DNS server parameter The `reverse_dns` function constructs a shell command using `f"dig +short -x {ip} @{dns_server}"` and executes it with `subprocess.run(cmd, shell=True)`. The `dns_server` variable is derived from user input (command-line argument `--dns`) or a user-controlled configuration file. An attacker can inject arbitrary shell commands into the `dns_server` parameter, leading to remote code execution on the host system. Avoid `shell=True` when executing external commands with user-controlled input. Instead, pass arguments as a list to `subprocess.run` (e.g., `subprocess.run(['dig', '+short', '-x', ip, f'@{dns_server}'], ...)`). If `shell=True` is strictly necessary, thoroughly sanitize all user-controlled input to prevent shell metacharacters from being interpreted. | LLM | scripts/scan.py:122 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'run_cmd'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/florianbeer/network-scanner/scripts/scan.py:64 | |
| HIGH | Excessive Permissions: Sudo Nmap Execution The skill explicitly requires and executes `sudo nmap` for network scanning, particularly for MAC address discovery. While `nmap` is a legitimate tool for network discovery, granting an AI agent the ability to run commands with `sudo` (root privileges) is a significant security risk. A compromised agent or malicious input could potentially leverage this capability to execute arbitrary `nmap` commands or other privileged operations, even with the internal safety checks in place. Re-evaluate the necessity of `sudo` access for the AI agent. If elevated privileges are unavoidable, consider implementing stricter sandboxing, privilege separation, or requiring explicit human approval for `sudo` operations. Limit the scope of `sudo` permissions to only the absolute minimum required commands and arguments using `sudoers` configuration. | LLM | scripts/scan.py:190 |
Scan History
Embed Code
[](https://skillshield.io/report/18c4d13f94058877)
Powered by SkillShield