@include(shared/exploitation/_sast-enrichment-procedure.txt)

These findings are weaknesses that fall outside the injection, XSS, authentication, authorization and SSRF classes. They share no family: session lifetime, error-message disclosure, sensitive logging, cleartext storage, request forgery, redirection, framing, algorithmic complexity, race conditions.

CRITICAL RULES:
- vulnerability_type is the weakness's own name, taken from the CWE on the finding (e.g. 'Insecure Randomness', 'Use of Hard-coded Cryptographic Key'). There is no fixed list to pick from, and it must not be forced into another class's vocabulary.
- proof_criterion is the field the exploitation agent works from: state the concrete observation that would settle whether this specific weakness is real. These findings carry no per-class proof ladder, so an unusable criterion leaves the agent nothing to aim at.
- observable_signal must be something visible from outside the application, not a restatement of the source code.
- exploitation_hypothesis must describe what an attacker ACHIEVES, not just confirm the weakness exists.
- suggested_exploit_technique must be an actionable attack the exploitation agent can execute against a live application.
- cwe carries the id from the finding, e.g. CWE-330.
- _sastId MUST be copied exactly from the input finding. It is the join key — never invent, renumber, or omit it.

SAST FINDINGS:
