Skip to content

Input Validation at Boundaries (Never Trust External Data)

All data originating from outside a trust boundary is potentially malicious and must be validated before use; validation prevents malformed data from reaching vulnerable internal components.

Tension Addressed

Security vs. Performance

Recognizable As

Input sanitization; parameterized queries; allowlist validation; type checking at API boundaries; deserialization validation; content-type enforcement; length limits. Any validation that assumes input is malicious until proven otherwise.

Canonical Sources

OWASP Input Validation Cheat Sheet; McGraw, "Software Security: Building Security In" (2006)

Transfers To

Data quality (validation at ingestion), API design (schema validation), distributed systems (message validation), parsing (defensive parsing)

Sub-concepts: - Allowlisting vs. denylisting: Allowlists define what IS permitted (safer, may reject valid input); denylists define what is NOT permitted (risky, attackers find unlisted attacks) - Context-sensitive output encoding: Input validation prevents bad data from entering; output encoding prevents valid data from being misinterpreted in different contexts (HTML, SQL, shell)