Request body used without validation
Request body fields are spread or passed directly into database writes (e.g. create({...req.body}) / insert(body)). This allows mass-assignment: clients can set fields you never intended (isAdmin, role, price…).
What the check contributes
Rule WEB005runs as part of CodeCordon's deterministic static-analysis pass. When it matches, the finding includes the source file, line number, severity, explanation, and a redacted snippet so the developer can inspect the evidence directly.
Recommended remediation
Validate and pick explicit fields with a schema library (zod, joi, yup) before persisting. Never spread raw request bodies into ORM calls.
How to use this result
- 1. Open the reported line. Confirm the match is active application code rather than a fixture, example, or false positive.
- 2. Apply the remediation in context. Preserve the intended behavior while removing the dangerous pattern.
- 3. Scan again. Verify the known pattern no longer appears, then continue with tests and any runtime or human security review appropriate to the application.
Limits of this check
A match is a review signal, not proof of exploitability. No match means only that this specific known pattern was not found in the applicable files. It does not rule out equivalent code, business-logic flaws, runtime vulnerabilities, or novel attack paths.