T09 · Insecure Skill Coding Practices
- Location
scripts/api_diff.py:385- Finding
Unescaped OpenAPI Data Enables Terminal and Markdown Output Injection
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a local OpenAPI diff tool; it reads user-supplied spec files and prints changelog output without persistence, network access, credential use, or destructive behavior.
Use this for local OpenAPI/Swagger JSON comparisons. Be cautious when diffing specs from untrusted sources, especially with Markdown output, because crafted spec names or paths may affect how reports render. Prefer JSON output for automated pipelines or sanitize rendered reports before publishing them.
scripts/api_diff.py:385Unescaped OpenAPI Data Enables Terminal and Markdown Output Injection
Without declared permissions the skill's intent is opaque and cannot be validated.
The description says the skill should be used when asked to "generate API changelogs" or detect "breaking changes," and also lists trigger phrases like "spec diff" and "breaking changes." Several of these are broad enough to overlap with general engineering discussion and lack negative examples or contextual constraints, increasing the risk of unintended invocation.
The code comments and docstrings state that the loader will try YAML and that the parser is a 'basic parser' handling common cases as a best-effort fallback. In reality, _parse_simple_yaml unconditionally raises a ValueError, so YAML input is never parsed. This is an intent/documentation mismatch rather than a security capability issue.
No suspicious patterns detected.