用途:校验和清洗所有不可信输入,覆盖用户输入、查询参数、表单提交、API 请求体、文件上传和 URL 校验,目标是防止注入攻击。
主要能力:使用 Zod v4(TypeScript)和 Pydantic(Python)进行 schema 校验;支持类型强制转换,如 z.coerce.number() 将字符串转为数字、z.coerce.boolean()、z.coerce.date();支持可辨识联合(discriminatedUnion);支持允许列表(enum、literal)而非阻止列表;支持 HTML 清洗以防 XSS;支持文件上传校验与错误格式化。
核心原则与限制:永不信任用户输入;必须在服务端校验,客户端校验仅用于用户体验;使用允许列表而非阻止列表;校验类型、长度、格式和范围;不要信任 Content-Type 头;不要用字符串拼接构造查询,应使用参数化查询;校验文件应检查魔数而非仅扩展名;错误信息应通用,避免泄露内部信息。
用法要点:在 TypeScript 中使用 UserSchema.safeParse(req.body) 校验,失败返回 400 和错误信息;在 Python 中使用 Pydantic 模型定义字段约束,如 EmailStr、Field(min_length=2, max_length=100)。文件校验示例:buffer[0] === 0x89 && buffer[1] === 0x50 判断 PNG。参数化查询示例:db.query('SELECT * FROM users WHERE name = ?', [name])。
参考资源包括 references/zod-v4-api.md、examples/validation-patterns.md、checklists/validation-checklist.md、scripts/validation-schemas.ts。关联技能有 owasp-top-10、auth-patterns、type-safety-validation。具体安装命令、收费信息、平台支持与效果数据暂未提供。