T09 · Insecure Skill Coding Practices
- Location
SKILL.md:178- Finding
Unsanitized Model Data Produces Injectable SQL DDL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a construction data-modeling helper with disclosed SQL and schema generation, but its generated SQL should be reviewed before use.
Install only if you are comfortable reviewing generated database schemas before applying them. Treat SQL output as a draft, use it primarily for MySQL unless modified, and do not feed untrusted project data into schema generation without validating identifiers, comments, and default values first.
SKILL.md:178Unsanitized Model Data Produces Injectable SQL DDL
The manifest description and heading content are entirely in Chinese and explicitly position the tool for Chinese construction projects, but they do not state whether Chinese is required or optional, nor do they offer any user language choice. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy violation.
generate_sql_schema(self, dialect: str = "mysql") suggests the function will vary output by dialect, and the surrounding documentation presents multiple supported databases. In reality, the function never branches on dialect and always renders the same MySQL-oriented schema, creating an active mismatch between stated intent and actual behavior.
The documentation states support for MySQL, PostgreSQL, SQL Server, and SQLite, and the API accepts a dialect parameter. However, generate_sql_schema ignores the dialect argument and emits MySQL-specific syntax such as backtick quoting, ENGINE=InnoDB, DEFAULT CHARSET=utf8mb4, and COMMENT, which do not match the claimed broader database-generation behavior.
No suspicious patterns detected.