Trust Assessment
signalhire received a trust score of 86/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 1 finding: 0 critical, 1 high, 0 medium, and 0 low severity. Key findings include Path Traversal in Callback File Naming.
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 Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Path Traversal in Callback File Naming The `request_id` used to construct the filename for `results_{request_id}.csv` is derived directly from user-controlled input. Specifically, it can come from the `requestId` field in the JSON payload or the `Request-Id` HTTP header of the incoming callback request. An attacker can inject path traversal sequences (e.g., `../`, `..\`) into `request_id` to write files to arbitrary locations on the filesystem. This could lead to data exfiltration, denial of service by overwriting critical files, or even remote code execution if files are written to sensitive locations (e.g., web server roots, cron directories). Sanitize the `request_id` variable before using it to construct file paths. This can be achieved by validating that `request_id` only contains allowed characters (e.g., alphanumeric, hyphens, underscores) or by using a UUID for file names. A robust solution would involve using `werkzeug.utils.secure_filename` or a custom regular expression to filter out or replace dangerous characters. | LLM | connector/main.py:69 |
Scan History
Embed Code
[](https://skillshield.io/report/744a3b27237df2e1)
Powered by SkillShield