Trust Assessment
n8n-daily-report 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 Missing required field: name, Data Exfiltration via Arbitrary Email Address, Prompt Injection Leading to Data Exfiltration via Arbitrary Webhook URL.
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 12, 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 | Data Exfiltration via Arbitrary Email Address The n8n workflow's 'Send Email' node allows the 'toEmail' recipient to be dynamically set from the webhook input (`$json.distribution_list`). An attacker capable of sending a crafted webhook payload could specify an arbitrary email address, causing the generated daily report (which contains sensitive project data like weather, labor summary, and photo counts) to be exfiltrated to an unauthorized recipient. Implement strict validation or a whitelist for email addresses provided via webhook input. Alternatively, configure the 'toEmail' field to use a predefined, static distribution list or retrieve it from a secure, internal source rather than directly from untrusted input. | LLM | SKILL.md:100 | |
| HIGH | Prompt Injection Leading to Data Exfiltration via Arbitrary Webhook URL The `trigger_daily_report` Python helper function accepts `webhook_url` as a parameter and uses it directly in a `requests.post` call to send sensitive `project_data` (including project ID, name, latitude, longitude, and stakeholder emails). If an attacker can manipulate the `webhook_url` argument via prompt injection to the host LLM, they can cause the skill to send this sensitive data to an arbitrary, attacker-controlled endpoint, leading to data exfiltration. Restrict the `webhook_url` parameter to a predefined, trusted list of URLs or ensure it is always derived from a secure, internal configuration rather than directly from user input or LLM-generated parameters. Implement strict validation to prevent arbitrary URL injection. | LLM | SKILL.md:120 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/datadrivenconstruction/n8n-daily-report/SKILL.md:1 |
Scan History
Embed Code
[](https://skillshield.io/report/1ab88326334b852b)
Powered by SkillShield