Trust Assessment
linkedin-lead-gen 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 Unsanitized user input in HTML generation leads to XSS and data exfiltration.
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 | Unsanitized user input in HTML generation leads to XSS and data exfiltration The `generate_html` function directly embeds user-controlled data from the `prospects_json` input into the HTML output using f-strings without proper HTML escaping. This allows for HTML injection. If the generated HTML is ever rendered in a web browser, it creates a Cross-Site Scripting (XSS) vulnerability, enabling an attacker to execute arbitrary JavaScript in the user's browser context. Even if converted to a PDF, an attacker could inject `<img>` tags or other external resource references to exfiltrate sensitive data (e.g., prospect details) to an external server. Sanitize all user-controlled input before embedding it into HTML. It is highly recommended to use a robust HTML templating engine (e.g., Jinja2 with autoescape enabled) which automatically escapes output. If manual escaping is necessary, use a function like `html.escape` from Python's standard library for all dynamic content inserted into the HTML. | LLM | scripts/generate_report.py:40 |
Scan History
Embed Code
[](https://skillshield.io/report/25c1c765cbda0f0f)
Powered by SkillShield