Commit d561cdc
committed
refactor: add schema validation to readModels and extract common validation logic
- Extract `validateModelRecord` helper to deduplicate Zod validation logic
- Add `modelRecordSchema.safeParse()` validation to `readModels` disk cache reads
- Update tests to ensure Zod validation strictly enforces `ModelRecord` schema
This resolves a vulnerability where a corrupted or tampered disk cache JSON file could lead to the injection of unexpected properties.1 parent 992585f commit d561cdc
2 files changed
Lines changed: 49 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
356 | 357 | | |
357 | 358 | | |
358 | 359 | | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
359 | 386 | | |
360 | 387 | | |
361 | 388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
207 | 220 | | |
208 | 221 | | |
209 | 222 | | |
210 | 223 | | |
211 | 224 | | |
212 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
213 | 229 | | |
214 | 230 | | |
215 | 231 | | |
| |||
533 | 549 | | |
534 | 550 | | |
535 | 551 | | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
| 552 | + | |
| 553 | + | |
544 | 554 | | |
545 | 555 | | |
546 | 556 | | |
547 | 557 | | |
548 | | - | |
| 558 | + | |
549 | 559 | | |
550 | | - | |
| 560 | + | |
551 | 561 | | |
552 | 562 | | |
553 | 563 | | |
| |||
0 commit comments