Ir al contenido

Auditoría técnica

Auditoría Laravel

Una lectura a precio y alcance cerrados de una aplicación Laravel existente - qué está haciendo, por dónde se va a romper y cuánto vale cada arreglo - entregada como un documento que se queda usted.

Una auditoría existe para una situación: usted tiene una aplicación, algo de ella le preocupa, y la siguiente decisión cuesta más de lo que costaría averiguarlo.

Precio cerrado y alcance cerrado. Dos semanas, un documento escrito y ninguna obligación al final.

Qué mira una auditoría de Laravel

La capa de datos. Esquema, restricciones, índices frente a las consultas que realmente se ejecutan, las migraciones que serían peligrosas con sus recuentos de filas, y el número de consultas de los endpoints que soportan tráfico.

El trabajo en segundo plano. Cada trabajo y cada tarea programada, qué pasa cuando cada uno falla, si alguno no es seguro de ejecutar dos veces, y si un fallo llega a un ser humano.

La ruta de la petición. Adónde se va el tiempo en los endpoints que importan, qué se está haciendo de forma síncrona que no debería, y qué terceros pueden llevarse la aplicación por delante.

Seguridad, al nivel que una auditoría de aplicación puede alcanzar. Autorización aplicada en policies y no supuesta por el enrutado, asignación masiva, el manejo de secretos, avisos de seguridad de dependencias, y si están probados los casos negativos. Esto no es un test de intrusión y decimos dónde está el límite.

Exposición a actualizaciones. Cuánto van por detrás el framework y PHP, qué dependencias están abandonadas, y cuánto cuesta el camino hacia delante.

Lo que decide el próximo año. Cobertura de pruebas donde cuenta, si el despliegue es repetible, si alguien notaría un incidente antes de que lo comunicara un cliente, y cuánto del comportamiento del sistema existe solo en la memoria de una persona.

Cómo funciona, y qué necesita de ti una auditoría de Laravel

Mándenos el repositorio y una forma de ejecutarlo. Si hay alguien que sepa por qué las partes incómodas son como son, media hora con esa persona vale más que una semana de lectura.

El precio es cerrado y se acuerda antes de empezar, escrito en un alcance breve que dice qué vamos a leer y qué no. No se mueve si la aplicación resulta estar peor de lo esperado. Una auditoría que se encarece cuanto peor es la noticia no es una en la que se pueda confiar.

Entre una semana y diez días después tiene el documento. Lo recorremos con usted una vez, y a partir de ahí es suyo, con nosotros o sin nosotros.

Qué recibe de una auditoría de Laravel

Un documento. Cada hallazgo tiene las mismas cuatro partes: qué es, dónde está, cuánto le costará si no cambia nada, y qué implica arreglarlo. Ordenados por impacto esperado y no por etiqueta de gravedad, porque «crítico» en una ruta de código que se ejecuta dos veces al año no es lo que hay que hacer primero.

Junto a él, un inventario de esquema y rutas, que con frecuencia es el primer mapa completo de la aplicación que ha tenido nadie.

Ninguna presentación. Ninguna nota sobre diez. Una nota es una forma de resumir hallazgos para quien no va a leerlos, y quien necesita esto va a leerlos.

Qué no es una auditoría de Laravel

No es un documento comercial con una propuesta al final. Los hallazgos están escritos para entregárselos a su propio equipo, y varios clientes han hecho exactamente eso.

No es una recomendación de reescritura. Si una reescritura es de verdad la respuesta correcta lo diremos, con el coste de ambas opciones una al lado de la otra, pero es la respuesta mucho menos a menudo de lo que se propone.

No es una lista de opiniones de estilo. Que su base de código use repositorios o acciones no es un hallazgo. Que un pago pueda cobrarse dos veces, sí.

Leer las migraciones de una aplicación Laravel como su historia

El directorio de migraciones es el documento más honesto del repositorio, porque nadie lo escribe para que se lea.

En orden, es un registro de qué pidió el negocio y cuándo. Una columna añadida y nunca rellenada es una funcionalidad que se abandonó después de cambiar el esquema. Tres intentos sobre la misma tabla en un mes es un modelo que nadie había acordado. Una columna añadida como nullable porque la tabla ya tenía filas, y dejada nullable dos años, es ahora un campo contra cuyo vacío la aplicación tiene que defenderse en cuarenta sitios - y el motivo original fue una comodidad de despliegue en 2023.

Lo que merece señalarse es concreto. Claves ajenas que se pensaron y nunca se añadieron, de modo que la relación existe en Eloquent y no en la base de datos. Columnas enum cuyos valores permitidos se han desviado de lo que escribe el código. Índices añadidos para una consulta que ya no se ejecuta, y ausentes para tres que sí. Un método down() que nadie ha ejecutado, lo que significa que la historia de la reversión es teórica.

También revela las migraciones que serían peligrosas ahora. Un cambio que era instantáneo con diez mil filas bloquea la tabla con cuatro millones, y la historia del esquema nos dice qué tablas crecieron. Esa es la diferencia entre un plan de actualización y una caída, y averiguarlo cuesta una hora de lectura.

Qué hace una auditoría de Laravel con tu suite de tests

El porcentaje de cobertura es el número que todo el mundo cita y el menos útil de los disponibles. Una suite puede cubrir el ochenta por ciento de las líneas y no afirmar casi nada sobre si la aplicación es correcta.

Así que las preguntas son otras. Qué rutas que mueven dinero o cambian permisos tienen un test siquiera. Si están probados los casos negativos de autorización

  • no que el propietario pueda ver el registro, que lo prueba todo el mundo, sino que otra persona no pueda, que es donde están los fallos. Si los tests que existen fallarían de verdad si el comportamiento se rompiera, porque un test que afirma que una respuesta fue 200 y nada más deja pasar alegremente una respuesta equivocada.

Luego la suite como objeto de ingeniería. Cuánto tarda, porque una suite que nadie espera es una suite que nadie ejecuta, y once minutos es el umbral en que la gente empieza a hacer push sin ella. Si necesita acceso a red o una base de datos sembrada que alguien mantiene a mano. Si puede correr en paralelo, y si pasa dos veces seguidas - una suite con tests dependientes del orden es peor que una más pequeña y fiable.

El resultado no es un porcentaje objetivo. Es una lista corta de las rutas donde un test habría pillado algo que la aplicación ya ha hecho mal, y esa es una lista que el equipo puede atacar en una semana.

Cuándo comprar una auditoría de Laravel

Antes de una adquisición, en cualquiera de los dos lados. Antes de comprometer un trimestre a una reescritura que alguien ha propuesto. Cuando el equipo que la construyó se ha ido. Cuando algo se rompió en producción y la explicación que no gustó a nadie fue «no estamos seguros de por qué funcionaba antes». O cuando simplemente quiere una segunda opinión de alguien sin nada en juego en la respuesta.

Si la auditoría concluye que el trabajo es rendimiento, o la base de datos, o una actualización, lo dice y lo dimensiona. Si no encuentra gran cosa, también lo dice.

Alcance y condiciones

Modelo de colaboración
Alcance cerrado, acordado por escrito antes de empezar. No es una tarifa por día contra una lista abierta.
Precio y plazo
Los dos se fijan por proyecto, una vez fijado el alcance. Se ofertan juntos, antes de construir nada.
Qué necesitamos de usted
Una persona que pueda aprobar decisiones, y acceso a su repositorio y a su gestor de incidencias.
No incluido
Todo lo que quede fuera del alcance acordado. Pasa a ser su propio alcance, no una modificación.
Costes de terceros
El alojamiento, las licencias, las tarifas de API y las suscripciones SaaS los contrata y paga usted.
Facturación
Codefacture Yazılım A.Ş., Türkiye. EUR, USD o GBP por transferencia, sin IVA turco en servicios exportados.

Preguntas frecuentes

¿Qué necesitan de nosotros para empezar?
Acceso de lectura al repositorio, y cualquier señal de producción que exista - registro de consultas lentas, APM, seguimiento de errores, métricas de cola. Donde no exista ninguna, lo decimos en los hallazgos, porque una aplicación sin observabilidad es en sí misma un hallazgo.
¿Necesitan datos de producción?
No. Un volcado del esquema sin filas, más registros de consultas y recuentos de filas, nos dice lo que necesitamos. Cuando importa la forma de los datos, pedimos un subconjunto anonimizado en lugar de una copia.
¿Y si la respuesta es que no pasa nada?
Entonces ese es el informe, y vale lo que ha pagado por él. Ha ocurrido. Que alguien sin ningún encargo que vender a continuación le diga que una aplicación está en un estado razonable es un resultado legítimo.
¿Tenemos que contratarles para los arreglos?
No, y una parte considerable de los clientes no lo hace. El documento está escrito para que lo implemente su propio equipo - cada hallazgo nombra el archivo, la causa y el arreglo. Si prefiere que lo hagamos nosotros, eso es un encargo aparte con precio aparte.
Llamar+1 848 272 7583WhatsApp+90 850 308 5436Correoinfo@codefacture.comPágina de contacto