insecure-output-handling
Detects unsafe rendering or execution of LLM output that enables XSS, command injection, or second-order injection. Use when writing code that renders LLM output to a UI, executes LLM-generated code or shell commands, or passes LLM responses to downstream APIs or databases. Also invoke when displaying markdown or HTML from an LLM response.
Install
With your agent
Install OMGSkills skill "thejefflarson/soundcheck:.claude/skills/insecure-output-handling" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.
Manual command
git clone https://github.com/thejefflarson/soundcheck /tmp/soundcheck && ln -s /tmp/soundcheck/.claude/skills/insecure-output-handling ~/.claude/skills/insecure-output-handling
From README
Insecure Output Handling Security Check (OWASP LLM02:2025) What this checks Protects against XSS, command injection, and second-order injection that arise when LLM output is treated as trusted. The model may produce malicious content through prompt injection or hallucination; downstream systems must sanitize it the same way they would sanitize raw user input. Vulnerable patterns LLM response assigned to a raw-HTML sink (innerHTML, dangerouslySetInnerHTML, v-html, server-side marksafe) without sanitization LLM-generated code or shell string passed to eval, exec, or a subprocess call with shell expansion enabled LLM output interpolated into a SQL or NoSQL query string instead of bound as a parameter LLM-produced markdown rendered to HTML without an allowlist-based sanitizer LLM response forwarded to a downstream API or webhook without re-validating against the destination's schema Fix immediately Flag the vulnerable code and explain the risk.
More from this repo
authentication-failures
Detects weak password storage, flawed JWT validation, sessions surviving logout, and missing MFA in authentication code.
broken-access-control
Detects missing ownership checks, broken role enforcement, and IDOR vulnerabilities that let users access other users'...
concurrency-correctness
Detects multi-threaded code where a lock is held across a blocking operation, lock acquisition order risks deadlock,...
