Trust Assessment
data-model-designer received a trust score of 73/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, 1 high, 2 medium, and 0 low severity. Key findings include Missing required field: name, SQL Injection via unsanitized entity/field names, Mermaid Diagram Injection via unsanitized entity/field names.
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 | SQL Injection via unsanitized entity/field names The `generate_sql_schema` method constructs SQL DDL statements by directly interpolating entity, field, and relationship names (e.g., `name`, `fld.name`, `rel.from_entity`, `rel.name`, `rel.from_field`, `rel.to_entity`, `rel.to_field`) into the SQL string. If these names are derived from untrusted user input without proper sanitization, a malicious user could inject arbitrary SQL commands (e.g., `'; DROP TABLE users; --`) into the generated schema. This could lead to SQL injection when the generated schema is executed against a database, allowing for data compromise, alteration, or denial of service. Implement strict input validation and sanitization for all entity, field, and relationship names before they are used to construct SQL queries. This validation should occur in `create_entity` and `create_relationship` methods, or when `Field` and `Entity` objects are instantiated from user-provided data. Recommended sanitization includes whitelisting allowed characters (e.g., alphanumeric and underscores) and properly escaping or quoting identifiers according to the specific SQL dialect. | LLM | SKILL.md:150 | |
| 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/data-model-designer/SKILL.md:1 | |
| MEDIUM | Mermaid Diagram Injection via unsanitized entity/field names The `generate_er_diagram` method constructs Mermaid syntax by directly interpolating entity, field, and relationship names (e.g., `name`, `fld.name`, `rel.from_entity`, `rel.to_entity`, `rel.name`) into the diagram definition. If these names are derived from untrusted user input without proper sanitization, a malicious user could inject arbitrary Mermaid syntax (e.g., `"` or `}`) into the generated diagram. This could lead to Mermaid diagram injection, potentially breaking the diagram rendering, injecting misleading information, or causing rendering errors in tools that process Mermaid syntax. Implement strict input validation and sanitization for all entity, field, and relationship names before they are used to construct Mermaid syntax. This validation should occur in `create_entity` and `create_relationship` methods, or when `Field` and `Entity` objects are instantiated from user-provided data. Recommended sanitization includes escaping special Mermaid characters (e.g., backticks, quotes, curly braces) or whitelisting allowed characters. | LLM | SKILL.md:212 |
Scan History
Embed Code
[](https://skillshield.io/report/7b7272fa11f6b49c)
Powered by SkillShield