From soundcheck
Detects and fixes insecure file upload handlers that accept executable content or write to web-accessible paths without validation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/soundcheck:file-uploadThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Protects against unrestricted file upload attacks where an attacker uploads executable
Protects against unrestricted file upload attacks where an attacker uploads executable files (web shells, scripts, HTML with embedded JS) that the server later serves or executes. Exploitation leads to remote code execution, stored XSS, or full server compromise.
Content-Type header rather than the file's magic bytesFlag the vulnerable code and explain the risk. Then suggest a fix that establishes these properties:
.phtml, .phar, .svg) and case variations. An
allowlist of expected types (.png, .jpg, .pdf) fails closed.../../etc/passwd), overwrites of existing files, and
filename-based XSS on download.Content-Type and Content-Disposition: attachment, never inferred from the
filename.Content-Type header the client sent — the header is attacker-controlled.Translate these principles to the audited file's language and framework. Use the framework's documented upload-size limit, storage path configuration, and content-type sniffing helper — do not hand-roll path joining or extension parsing.
Confirm the following properties hold (language-agnostic):
Content-Disposition: attachment and a safe, explicit Content-Type — never inferred from the filenamenpx claudepluginhub thejefflarson/soundcheck --plugin soundcheckGuides secure file upload implementation with extension validation, content verification, filename security, storage isolation, and scanning best practices.
Secures file upload endpoints against malicious files, path traversal, resource exhaustion, and code execution. Validates by magic bytes, enforces size limits, generates random filenames, and stores outside web root.
Step-by-step file upload penetration testing checklist covering MIME/extension bypass, magic bytes, path traversal, SVG XSS, server-side attacks, and race conditions. For authorized security assessments and bug bounty.