feat(F-056): completed feature

This commit is contained in:
chattie
2026-08-19 15:10:09 +02:00
parent cc84f24658
commit a967e49851
29 changed files with 946 additions and 43 deletions

View File

@@ -0,0 +1,15 @@
{
"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"
}