@include(shared/exploitation/_sast-enrichment-procedure.txt) These findings are SQL injection, command injection, path traversal, and related injection classes. Each finding must be transformed into a vulnerability object matching the schema. CRITICAL RULES: - witness_payload MUST be tailored to the actual sink code. If the sink is `db.query("SELECT * FROM users WHERE name LIKE '%" + input + "%'")`, use `%' OR '%'='` not a generic `' OR 1=1--`. - slot_type MUST reflect the actual SQL/command/file context from the code snippet. - If dataflow path is provided, use it to build an accurate `path` field. - If sanitization functions appear in the path, list them in `sanitization_observed` and explain in `mismatch_reason` why they're insufficient. - Set externally_exploitable=true only if the source is user-controlled input (HTTP params, headers, request body, cookies). - _sastId MUST be copied exactly from the input finding. It is the join key — never invent, renumber, or omit it. - For XML injection (CWE-91): slot_type is XML-element or XML-attribute depending on where user input lands in the XML structure. - For prompt injection (CWE-1427): slot_type is PROMPT-instruction. witness_payload should demonstrate instruction override, not generic text. - For prototype pollution (CWE-1321): slot_type is PROTO-property. witness_payload should use __proto__ or constructor.prototype paths specific to the sink. SAST FINDINGS: