Trust Assessment
trains received a trust score of 66/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 3 findings: 0 critical, 2 high, 1 medium, and 0 low severity. Key findings include Suspicious import: urllib.request, XML Injection in SOAP Request 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 Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | XML Injection in SOAP Request Construction User-controlled input (e.g., `station`, `filter_to`, `filter_from`) is directly embedded into the SOAP request body using f-strings without proper XML escaping. This allows an attacker to inject arbitrary XML, potentially altering the request's structure, parameters, or attempting XML External Entity (XXE) attacks if the server-side XML parser is vulnerable. While the `.upper()` calls are present, they do not prevent XML metacharacter injection. Implement proper XML escaping for all user-controlled input (e.g., `station`, `filter_to`, `filter_from`) before embedding it into the SOAP request body. Use a dedicated XML escaping function (e.g., `xml.sax.saxutils.escape` or a custom function) to neutralize special characters like `<`, `>`, `&`, `'`, and `"`. | LLM | scripts/trains.py:124 | |
| HIGH | XML Injection in SOAP Request Construction User-controlled input (e.g., `station`, `filter_to`, `filter_from`) is directly embedded into the SOAP request body using f-strings without proper XML escaping. This allows an attacker to inject arbitrary XML, potentially altering the request's structure, parameters, or attempting XML External Entity (XXE) attacks if the server-side XML parser is vulnerable. While the `.upper()` calls are present, they do not prevent XML metacharacter injection. Implement proper XML escaping for all user-controlled input (e.g., `station`, `filter_to`, `filter_from`) before embedding it into the SOAP request body. Use a dedicated XML escaping function (e.g., `xml.sax.saxutils.escape` or a custom function) to neutralize special characters like `<`, `>`, `&`, `'`, and `"`. | LLM | scripts/trains.py:140 | |
| 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/jabbslad/uk-trains/scripts/trains.py:7 |
Scan History
Embed Code
[](https://skillshield.io/report/2527081aa3aa82fe)
Powered by SkillShield