35 lines
1.3 KiB
JSON
35 lines
1.3 KiB
JSON
{
|
|
"feature_id": "F-050",
|
|
"verdict": "APPROVED",
|
|
"agent": "security",
|
|
"timestamp": "2026-08-19T05:55:00Z",
|
|
"checks": {
|
|
"dependency_audit": {
|
|
"pass": true,
|
|
"notes": "npm audit --omit=dev --audit-level=high: 0 vulnerabilidades en backend, admin, frontend y storefront."
|
|
},
|
|
"secret_scan": {
|
|
"pass": true,
|
|
"notes": "No se detectan claves privadas, AWS access keys ni Stripe live keys en árbol de proyecto ni en el diff."
|
|
},
|
|
"auth_alignment": {
|
|
"pass": true,
|
|
"notes": "El cliente admin usa /api/backoffice/auth/* y la cookie backoffice_session; la API de /api/auth/* queda para clientes storefront."
|
|
},
|
|
"password_hashing": {
|
|
"pass": true,
|
|
"notes": "admin@mercadodevida.com se validó contra el hash argon2 PHC regenerado; las contraseñas nunca aparecen en logs ni en respuestas."
|
|
},
|
|
"upload_path": {
|
|
"pass": true,
|
|
"notes": "Sin cambios en /api/upload ni /uploads; la hardened session auth previa sigue vigente."
|
|
},
|
|
"hygiene": {
|
|
"pass": true,
|
|
"notes": "git diff --check verde y runtime efímero ignorado."
|
|
}
|
|
},
|
|
"residual_risk": "La contraseña operativa Admin1234 se documenta en evidence por ser contraseña de dev/backoffice no productiva; en producción se debe rotar y entregar por canal seguro.",
|
|
"notes": "Security gate aprobado."
|
|
}
|