T09 · Insecure Skill Coding Practices
- Location
commands.yaml:10- Finding
Unescaped User Input Allows JSON Payload Injection
- Content
View full analysis
- Remediation
View remediation
&2 exit 1 ;; esac payload=$(jq -cn \ --arg requestType "$type" \ --arg text "$prompt" \ '{requestType: $requestType, text: $text}') || exit 1 openclaw mcporter call \ --name "n8n_dispatch" \ --payload "$payload" ``` Additional hardening should include: - Apply length limits appropriate to the downstream service. - Reject prohibited control characters if they are not required. - Validate the payload against a schema in the n8n workflow. - Reject unknown and duplicate fields downstream. - Enforce authorization separately for state queries and action requests. - Avoid echoing sensitive prompts unless such logging is explicitly required. ]]>
