Arquitecto de software y ciberseguridad

Qué revela una revisión de código

Así reviso una API, del hallazgo a la corrección.

Ver el ejemplo de revisión

Acceso a informes por espacio de trabajo

Revisión ficticia de una API GET /api/reports/{reportId}
Una consulta que solo filtra por el identificador del informe puede devolver informes de otro espacio de trabajo.

Hallazgo del ejemplo

Corrección propuesta

Antes de devolver el informe, comprueba que pertenece al espacio de trabajo de quien lo solicita.

Usa la cuenta autenticada para comprobar la pertenencia al espacio de trabajo. Exige permiso para leer informes y filtra la consulta por los identificadores del espacio y del informe.

Ver la consulta propuesta
const workspace = requireWorkspacePermission(
  session,
  "reports:read"
);

const report = await reports.findOne({
  id: reportId,
  workspaceId: workspace.id
});

if (!report) return notFound();

Pruebas de regresión

  • Un usuario con permisos de lectura solicita un informe de su espacio de trabajo.200 OK
  • Un usuario con permisos de lectura solicita un informe de otro espacio de trabajo o usa un identificador desconocido.404 Not Found
  • Un miembro del espacio de trabajo sin permiso para leer informes solicita un informe.403 Forbidden

Respuestas esperadas en las pruebas propuestas.

Prioridad alta / Autorización a nivel de objeto

El endpoint del ejemplo comprueba los permisos en el espacio de quien hace la solicitud y después busca el informe solo por su identificador. Quien conoce el identificador de un informe de otro espacio puede leerlo. La API debe devolver el mismo código 404 tanto para identificadores desconocidos como para los de otro espacio de trabajo.

Qué compruebo en una revisión

  • Permisos y aislamiento de datos
  • Validación de entradas y gestión de errores
  • Exposición de datos y secretos
  • Mantenibilidad y cobertura de las pruebas de regresión

Servicios

  • Revisión de código de APIs

    Reviso una solicitud de cambios (pull request) o un cambio concreto en una API. Explico qué conviene corregir primero, cómo hacerlo y qué pruebas añadir.

  • Desarrollo web

    Creo sitios web adaptables a distintos tamaños de pantalla y páginas de destino, en varios idiomas si lo necesitas y con SEO técnico.

  • Aplicaciones web y de escritorio

    Desarrollo aplicaciones web y de escritorio, como herramientas internas, paneles o programas conectados a APIs. Funcionan sin IA o, si lo prefieres, incorporan funciones de IA como análisis de documentos, resúmenes o un asistente.

  • Automatización de seguridad

    Integro controles de seguridad en tu pipeline de CI/CD: análisis de código, escaneo de dependencias y secretos, y pruebas de regresión del control de acceso. Tu equipo recibe los resultados en un informe priorizado.

  • Automatización de procesos con IA

    Automatizo tareas recurrentes con Python y modelos de IA, como analizar y clasificar documentos, correos o tickets y sincronizar datos entre herramientas. Las decisiones importantes siguen en manos de tu equipo.

  • Desarrollo para MetaTrader

    Desarrollo, corrijo, migro y pruebo Expert Advisors para MT4 y MT5 en MQL4 y MQL5. Trabajo con las reglas que me indiques. El servicio no incluye asesoramiento sobre inversiones ni señales de trading.

Sobre Rico

Soy arquitecto de software y ciberseguridad. Trabajo en seguridad de aplicaciones, desarrollo web y automatización.

También automatizo procesos con Python e integro IA en software existente.

Ver mi perfil en Fiverr