Anthropic, la empresa detrás del modelo de lenguaje Claude, ha revelado un impresionante logro: su inteligencia artificial ha identificado 493 problemas en la superficie de ataque de 25 proyectos de código abierto. Este análisis exhaustivo no solo subraya la capacidad de la IA para la detección de vulnerabilidades, sino que también plantea preguntas interesantes sobre el futuro de la seguridad informática.

¿Qué analizó Claude y qué implica esta cifra?

Para entender la magnitud de este hallazgo, es crucial saber qué examinó Claude. La IA se sumergió en más de cinco millones de líneas de código, abarcando lenguajes como C, C++, Java, PHP y Python. Además, analizó más de 17.000 opciones de configuración, de las cuales 3.842 estaban directamente relacionadas con funciones o controles de seguridad. Los proyectos se clasificaron en 10 públicos, 11 restringidos (Gated) y 4 privados.

La cifra de 493 hallazgos se refiere a problemas relacionados con accesos y configuraciones que podrían dejar el código expuesto, incluso antes de que un usuario inicie sesión. Es importante destacar que no estamos hablando de exploits demostrados, sino de puntos de acceso innecesariamente expuestos. Anthropic argumenta que reducir esta superficie de ataque, es decir, el código al que se puede llegar fácilmente, puede limitar significativamente los riesgos asociados a fallos de seguridad aún desconocidos.

Vulnerabilidades antes de la autenticación y configuraciones sensibles

El informe de Anthropic destaca varios tipos de vulnerabilidades:

  • En los 11 proyectos Gated, Claude identificó 93 superficies innecesarias accesibles antes de la autenticación en la configuración predeterminada.
  • También se detectaron 37 puntos donde se ejecutaba código o se registraba estado antes de la autenticación.
  • Se encontraron 61 combinaciones de configuración que debilitaban un control previo a la autenticación.

Además, la IA descubrió 162 combinaciones de configuración sensibles que eran aceptadas sin advertencias o documentación clara. De estas, 94 desactivaban silenciosamente un control de seguridad, mientras que las otras 68 presentaban inconsistencias de otro tipo. Imagina el riesgo que esto supone si una configuración aparentemente inofensiva deja una puerta abierta sin que lo sepas.

El caso de OpenSSH: un ejemplo concreto

Anthropic detalló un caso específico con OpenSSH, uno de los programas más utilizados para conexiones seguras. En la versión 10.4 de OpenSSH, un cliente no autenticado podía acceder a unas 4.500 líneas de código experimental relacionadas con firmas ML-DSA-44 antes de que el programa verificara si ese tipo de clave estaba permitido. Esto representaba aproximadamente el 16% del código de preautenticación de OpenSSH.

Gracias a los análisis, en OpenSSH 10.5 se reubicó una comprobación crucial para que se ejecutara antes del análisis del contenido. Las correcciones finales llegaron en OpenSSH 10.6, donde las listas de tipos permitidos se verifican antes de deserializar la clave o verificar la firma. Anthropic estima que estos cambios retiraron del alcance de clientes sin autenticar alrededor de una quinta parte del código que antes era accesible. Esto demuestra cómo la IA puede identificar y ayudar a mitigar riesgos de seguridad de manera proactiva.

Validación y futuro con OSS-Scanner

Anthropic no solo identifica problemas, sino que también valida sus hallazgos utilizando un método que confirma las vulnerabilidades con trazas dinámicas del programa. Para los cambios en la configuración predeterminada, comparan la versión modificada con la original mediante pruebas del proyecto y una batería de regresión. Los cambios en configuraciones no predeterminadas se revisan manualmente.

La empresa está trabajando para integrar esta potente herramienta en OSS-Scanner, su servicio de análisis de seguridad de código abierto. Esto significa que la capacidad de Claude para encontrar vulnerabilidades podría estar disponible para una comunidad más amplia, mejorando la seguridad de innumerables proyectos. ¿Te imaginas un futuro donde la IA sea la primera línea de defensa en la seguridad del software de código abierto?