Traducción automática. El texto en inglés es la versión de referencia. English

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ó.

última
Reauditoría con 14 enfoques de la última remediación, con búsqueda de bypass residual y regresiones por cada corrección, y cada hallazgo refutado por un agente independiente. Sobrevivieron 2 casos límite de gravedad baja, ambos corregidos; nada entre tenants, ninguna ruptura de dinero ni de gobernanza.
antes
Auditoría de 50 agentes → una remediación mínima de 9 PR en las costuras del almacén de datos (calendario, canales, el residente autónomo, la economía de tenants, GDPR/PECR): todo publicado, probado y redesplegado.
antes de eso
Auditoría con 44 agentes, 9 hallazgos, 3 altos (incl. una fuga de conversaciones entre tenants): todos corregidos; y un análisis de extensión con 30 agentes que sacó a la luz bugs reales como efecto secundario del grounding.
julio de 2026
Auditoría de 80 agentes y 14 facetas: el primer barrido completo, realizado con una regla de refutación: ningún hallazgo contaba hasta que un agente distinto no lograba refutarlo. De ella salieron tres correcciones, incluido un importador de sitios web de coste cuadrático reescrito como un recorrido lineal acotado. Es independiente del barrido de 50 agentes de arriba, y anterior a él.
y anteriores
pasadas adversariales sobre toda la plataforma y todo Studio, la principal, y varias antes: un rastro continuo en git.

✓ 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.

1constructor* no es un equipo
3,389tests pasando* CI, 2026-10-01, no es una prueba formal
6 → 0auditorías · críticos pendientes* realizada internamente, no por terceros; cero críticos a fecha de 2026-09-25, paquete del núcleo
0brechas entre tenants conocidas en producción* ninguna notificada; una fuga encontrada en auditoría y corregida, ver abajo
1instancia de producción* por decisión propia, la escala aún no es la lección

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.