la auditoría adversarial
No es una auditoría. Es una disciplina.
Cualquiera puede pasar una revisión de seguridad una vez y hacer captura del verde. Lo difícil es seguir atacando tu propio sistema a medida que crece y obtener la misma respuesta cada vez. La última ronda: una auditoría con 50 agentes, con sus correcciones ya desplegadas, y después una re-auditoría adversarial con 14 enfoques por separado, en la que cada hallazgo tenía que sobrevivir a un escéptico antes de contar. Lo que se sostiene, se sostiene.
qué cubrió la última auditoría
Primero alcance, método y límites. Después, el número de agentes.
De la última auditoría del núcleo, con fecha del 25 de septiembre de 2026. El número de agentes indica lo intensa que fue una auditoría, no lo buena que fue, así que esto es lo que hizo realmente esta.
- Código
- El paquete del núcleo, 162 archivos y 17,362 líneas, en un commit fijo, más el código del gateway necesario para saber si cada ruta está activa.
- Acceso
- El código fuente completo y una base de datos nueva construida a partir de las migraciones. No la base de datos de producción; los ajustes exclusivos de producción se marcaron como no verificados y los comprobé yo después.
- Método
- Cuatro revisores leyeron cada uno una capa completa. Un revisor principal volvió a contrastar cada hallazgo con el archivo, y ejecutó cada afirmación sobre tiempos o patrones, antes de que contara.
- Gravedad
- HIGH significa una crisis no detectada o una denegación de servicio en una ruta activa, una fuga entre tenants o pérdida de dinero. Media significa una protección que falla en abierto, un crédito creado de la nada o datos descartados en silencio. Cada hallazgo se marca además como activo o latente: alcanzable hoy en producción, o no.
- Desacuerdo
- Un hallazgo que el revisor principal no pudo reproducir se descartó o se marcó como no verificado, no se promedió.
- Resultado
- 2 hallazgos HIGH y 13 de gravedad media. Todos corregidos el mismo día, cada uno con un test que fallaba con el código antiguo, y la suite completa reejecutada en CI.
- No cubierto
- La fidelidad de unas 7,000 líneas de cadenas de seguridad traducidas, la base de datos de producción, la configuración del servidor web y 17 hallazgos de gravedad baja que siguen abiertos.
Realizada por revisores de IA que yo dirigí, no una garantía independiente de terceros.
la cadencia
Atacado de nuevo, ronda tras ronda. Cada hallazgo entre tenants de abajo lo encontró una auditoría, no lo reportó un cliente, y se corrigió.
✓ las joyas de la corona se mantuvieron en cada ronda, aislamiento · dinero · gobernanza · SSRF · dominios de token
tres de los reales
HIGH Fuga de conversaciones entre tenants
La memoria del chat se indexaba por el remitente, no por el tenant, así que un huésped que escribiera a dos negocios a través de la plataforma podía hacer que la conversación de uno apareciera dentro del prompt del otro. Corregido: el historial se indexa por negocio en la capa de almacenamiento, con un test que falla si vuelve la clave antigua. La encontró la auditoría, no la notificó un cliente.
HIGH Un proveedor vaciando a quien lo llama
En la economía de herramientas entre tenants, un proveedor podía subir el precio de una herramienta concedida después de que un llamante empezara a usarla y vaciar su saldo. Corregido: el llamante consiente un precio por llamada, con cierre ante fallo (fail-closed), sin consentimiento no hay cobro, y se aplica antes de que se mueva un solo crédito.
ALTA Crisis detrás del medidor
La comprobación de facturación se ejecutaba antes que la de crisis, así que un cliente angustiado que escribía a un negocio sin créditos recibía "no disponible" en lugar de una línea de crisis. Corregido: la atención de crisis se sirve gratis, antes de cualquier límite o cargo, en todas las superficies de cliente.
Las perspectivas abarcan aislamiento · autenticación · inyección · dinero · gobernanza · reservas · canales · el residente autónomo · derechos sobre los datos (GDPR/PECR) · el generador de sitios · frontend · operaciones. Veredicto, en cada ronda: ningún hallazgo crítico pendiente; el aislamiento entre tenants y la superficie XSS salieron limpios; ningún bypass de autenticación activo: cada caso límite confirmado se corrigió y se volvió a desplegar.
las cifras honestas
Cada cifra, con el asterisco ya incluido.
La mayoría de los que construyen exageran. Prefiero que confíes en las partes que son reales a que te impresionen partes que no lo son.
El sistema es honesto porque quien lo diseñó lo es. Me aseguré de ello desde el principio, integrado, no añadido a posteriori.
la invitación
Las cifras se sostienen. Asteriscos incluidos.
Si quieres a alguien que ataque su propio trabajo con esta dureza antes de que nadie se lo pida, y que siga haciéndolo a medida que el sistema crece, hablemos.
Pregunta por las auditorías: qué se encontró, qué está corregido, qué sigue abierto.
- ¿Qué sigue abierto?
- ¿Qué fue lo peor que se encontró?
- ¿Quién hizo estas auditorías?