15 lines
1004 B
JSON
15 lines
1004 B
JSON
{
|
|
"feature_id": "F-056",
|
|
"agent": "security",
|
|
"verdict": "APPROVED",
|
|
"summary": "Path traversal guard added in dynamic handler (SAFE_SEGMENT regex) so only alphanumeric, hyphen, dot and underscore filenames pass. No new external dependencies added beyond sharp which was already on the workspace. No secrets touched. No new network surface.",
|
|
"evidence": [
|
|
"SAFE_SEGMENT = /^[A-Za-z0-9._-]+$/ enforced before file system access in /uploads/[...path]/route.ts (all three apps)",
|
|
"Cache-Control header set to public, max-age=31536000, immutable — explicit and safe",
|
|
"sharp is already declared in project/apps/admin/package.json — no new transitive deps",
|
|
"No auth bypass: dynamic handler is read-only and serves from public/uploads; same exposure as the previous static handler",
|
|
"No write surface added outside the existing /api/upload route",
|
|
"git diff shows no secret material, no env var changes, no new auth boundary"
|
|
],
|
|
"timestamp": "2026-08-19T13:30:00Z"
|
|
} |