{
    "title": "Project Glasswing: lo que nos ense\u00f1\u00f3 Mythos",
    "modified_at": "2026-05-19 11:46:51",
    "published_at": "2026-05-19 11:46:00",
    "url": "https://cloudflare.another.co/project-glasswing-lo-que-nos-enseno-mythos",
    "short_url": "http://prez.ly/SfHd",
    "culture": "es_MX",
    "language": "ES",
    "slug": "project-glasswing-lo-que-nos-enseno-mythos",
    "body": "<p style=\"text-align: left\"><strong>Ciudad de M&eacute;xico, 19 de mayo de 2026-</strong> En los &uacute;ltimos meses, Cloudflare ha estado probando varios modelos de lenguaje de gran tama&ntilde;o (LLM, por sus siglas en ingl&eacute;s) centrados en la seguridad en su propia infraestructura. Estos LLM ayudan a identificar posibles vulnerabilidades en los sistemas de la compa&ntilde;&iacute;a para poder corregirlas, y tambi&eacute;n muestran lo que los ciberdelincuentes podr&aacute;n hacer con los modelos m&aacute;s recientes.</p><p>Ninguno de estos LLM ha llamado tanto la atenci&oacute;n como Mythos Preview, de Anthropic. Hace unas semanas, el equipo de Cloudflare fue invitado a usar Mythos Preview como parte de <a href=\"https://www.anthropic.com/glasswing\">Project Glasswing</a>. Enseguida se puso a prueba con m&aacute;s de cincuenta repositorios, para ver qu&eacute; se encontraba y c&oacute;mo funcionaba.</p><p>A continuaci&oacute;n, compartimos un informe de lo que encontr&oacute; el equipo de Cloudflare, con informaci&oacute;n detallada sobre lo que los modelos hicieron bien y lo que no, y c&oacute;mo la arquitectura y el proceso a su alrededor necesitan cambiar para que puedan usarse a gran escala.</p><h4 id=\"que-cambio-con-mythos-preview\" ><strong>Qu&eacute; cambi&oacute; con Mythos Preview</strong></h4><p>Mythos Preview supone un aut&eacute;ntico paso adelante, y vale la pena dejarlo claro antes de entrar en otros detalles. Cloudflare lleva ya un tiempo probando modelos con su c&oacute;digo, y el salto de lo que se pod&iacute;a hacer con los modelos Frontier de uso general anteriores a lo que ofrece hoy Mythos Preview, no es solo una mejora de lo que hab&iacute;a antes.</p><p>Es una herramienta diferente que realiza un tipo de trabajo distinto, lo cual dificulta una comparaci&oacute;n directa con modelos anteriores. As&iacute; que, en lugar de intentar comparar Mythos Preview con los modelos de vanguardia de uso general, resulta m&aacute;s &uacute;til describir lo que realmente puede hacer, y dos funciones que destacaron en el trabajo que se hizo con Mythos Preview:</p><ul class=\"release-content-list release-content-list--bulleted release-content-list--align-inherit\"><li><span><strong>Creaci&oacute;n de una cadena de vulnerabilidades:</strong> en un ataque real casi nunca se usa un solo fallo de seguridad. Se encadenan varias t&eacute;cnicas de ataque b&aacute;sicas para crear una vulnerabilidad que funcione. Por ejemplo, podr&iacute;a convertir un fallo de &quot;uso tras liberaci&oacute;n&quot; en una primitiva de lectura y escritura arbitraria, secuestrar el flujo de control y utilizar cadenas de programaci&oacute;n orientada a retornos (ROP) para hacerse con el control total del sistema. Mythos Preview puede tomar varias de estas primitivas y deducir c&oacute;mo combinarlas para crear una prueba v&aacute;lida. El razonamiento que muestra a lo largo del camino parece el trabajo de un investigador s&eacute;nior m&aacute;s que el resultado de un an&aacute;lisis autom&aacute;tico.</span></li><li><span><strong>Generaci&oacute;n de pruebas:</strong> encontrar un fallo y demostrar que se puede explotar son dos cosas diferentes, y Mythos Preview puede hacer ambas. Escribe c&oacute;digo que provocar&iacute;a el posible error, compila ese c&oacute;digo en un entorno de prueba y lo ejecuta. Si el programa hace lo que esperaba el modelo, esa es la prueba. Si no lo hace, el modelo lee el error, ajusta su hip&oacute;tesis y vuelve a intentarlo. El bucle es tan importante como los errores que detecta, porque un posible fallo sin una prueba funcional no es m&aacute;s que una especulaci&oacute;n, y Mythos Preview cubre esa carencia por s&iacute; solo.</span></li></ul><p>Algunas de las cosas que se describen no son exclusivas de Mythos Preview. Cuando probaron otros modelos de vanguardia con el mismo conjunto de pruebas, detectaron bastantes de los mismos errores subyacentes y, en algunos casos, llegaron m&aacute;s lejos de lo que se esperaba en cuanto al razonamiento. Donde se quedaron cortos fue a la hora de encajar todas las piezas. Un modelo identificar&iacute;a un fallo interesante, escribir&iacute;a una descripci&oacute;n detallada de por qu&eacute; era importante y luego se detendr&iacute;a, dejando la cadena de pasos sin completar y la cuesti&oacute;n de si se pod&iacute;a explotar sin resolver. Lo que ha cambiado con Mythos Preview es que ahora un modelo puede tomar esos fallos de baja gravedad (que tradicionalmente se quedaban ocultos en la lista de tareas pendientes) y encadenarlos para crear una &uacute;nica vulnerabilidad m&aacute;s grave. </p><h4 id=\"ejemplos-de-respuestas-de-rechazo-en-la-investigacion-legitima-sobre-vulnerabilidades\" ><strong>Ejemplos de respuestas de rechazo en la investigaci&oacute;n leg&iacute;tima sobre vulnerabilidades</strong></h4><p>El modelo Mythos Preview proporcionado por Anthropic, como parte de Project Glasswing, no contaba con las medidas de seguridad adicionales que s&iacute; tienen los modelos disponibles para el p&uacute;blico en general (como Opus 4.7 o GPT-5.5).</p><p>A pesar de ello, el modelo rechaza de forma espont&aacute;nea ciertas solicitudes. Al igual que las capacidades cibern&eacute;ticas que lo hac&iacute;an &uacute;til para la b&uacute;squeda de vulnerabilidades, el modelo tiene sus propios mecanismos de protecci&oacute;n emergentes que, en ocasiones, le llevan a rechazar solicitudes leg&iacute;timas de investigaci&oacute;n en materia de seguridad. Pero, como se ha descubierto, estos rechazos espont&aacute;neos no son consistentes. La misma tarea, planteada de forma diferente o presentada en un contexto distinto, podr&iacute;a dar lugar a resultados completamente diferentes, tal y como se ilustra en los siguientes ejemplos:</p>\n    <figure\n        class=\"release-content-image release-content-image--contained release-content-image--align-center\"\n        data-component=\"image-zoom-popup\"\n        data-image-zoom-popup-selector=\".release-content-image__image\"\n        data-image-zoom-popup-i18n=\"data:application/json;base64,eyJEb3dubG9hZCI6IkRvd25sb2FkIn0=\"\n        data-image-zoom-popup-tracking-views-event=\"Story Image View\"\n        data-image-zoom-popup-tracking-download-event=\"Story Image Download\"\n        data-image-zoom-popup-placement=\"content\"\n    >\n        <div class=\"image-thumbnail-rollover\" style=\"width: 100%\">\n            <img\n                src=\"https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/resize/1200x/-/format/auto/\"\n                                class=\"release-content-image__image image-thumbnail-rollover__image\"\n                data-description=\"&lt;sup&gt;&lt;em&gt;Ejemplo de c&amp;oacute;mo Mythos Preview retrasa la creaci&amp;oacute;n de una prueba de concepto funcional &lt;/em&gt;&lt;/sup&gt;\"\n                id=\"image-b6eb85f3-6911-4bef-a214-a71b32665d7e\"\n                data-id=\"b6eb85f3-6911-4bef-a214-a71b32665d7e\"\n                data-original=\"https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/inline/no/Mythos_preview.png\"\n                data-mfp-src=\"https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/resize/1200x/-/format/auto/\"\n                alt=\"Ejemplo de c\u00f3mo Mythos Preview retrasa la creaci\u00f3n de una prueba de concepto funcional \"\n            />\n            <div class=\"image-thumbnail-rollover__caption\">\n                <svg class=\"icon icon-expand image-thumbnail-rollover__caption-icon\">\n                <use xlink:href=\"#icon-expand\"></use>\n            </svg>            </div>\n        </div>\n\n        <figcaption class=\"release-content-image__caption\"><sup><em>Ejemplo de c&oacute;mo Mythos Preview retrasa la creaci&oacute;n de una prueba de concepto funcional </em></sup></figcaption>\n    </figure>\n<p style=\"text-align: justify\">Por ejemplo, el modelo inicialmente se neg&oacute; a realizar investigaciones de vulnerabilidad en un proyecto, luego acept&oacute; realizar la misma investigaci&oacute;n en el mismo c&oacute;digo tras un cambio no relacionado en el entorno del proyecto. Nada sobre el c&oacute;digo que se estaba analizando hab&iacute;a cambiado. En otro caso, el modelo detect&oacute; y confirm&oacute; varios fallos graves de memoria en un c&oacute;digo fuente, pero luego se neg&oacute; a escribir una prueba de concepto. La misma solicitud, formulada de manera diferente, obtuvo una respuesta distinta, e incluso la misma solicitud puede producir diferentes resultados en distintas ejecuciones debido a la naturaleza probabil&iacute;stica del modelo. Las tareas sem&aacute;nticamente equivalentes pueden dar lugar a resultados opuestos dependiendo de c&oacute;mo y cu&aacute;ndo se le presenten al modelo.</p><p style=\"text-align: justify\">Esto es importante porque, aunque los mecanismos de rechazo y las barreras de seguridad del modelo son reales, no son lo suficientemente consistentes como para servir por s&iacute; solos de l&iacute;mite de seguridad completo. Precisamente por eso, cualquier modelo de ciberseguridad capaz que se ponga a disposici&oacute;n del p&uacute;blico en general en el futuro debe incluir medidas de seguridad adicionales adem&aacute;s de este comportamiento b&aacute;sico, para que sea adecuado para un uso m&aacute;s amplio fuera de un contexto de investigaci&oacute;n controlado como Project Glasswing.</p><h4 id=\"el-problema-de-la-relacion-senal-ruido\" ><strong>El problema de la relaci&oacute;n se&ntilde;al-ruido</strong></h4><p style=\"text-align: justify\">Una de las partes m&aacute;s dif&iacute;ciles a la hora de clasificar las vulnerabilidades de seguridad es decidir qu&eacute; fallos son reales, cu&aacute;les se pueden explotar y cu&aacute;les hay que solucionar ya. Este era un problema dif&iacute;cil incluso en el mundo previo a la IA. Los programas de an&aacute;lisis de vulnerabilidades basados en la IA y el c&oacute;digo generado por IA han empeorado la situaci&oacute;n, y en Cloudflare han creado varias etapas de validaci&oacute;n posterior para hacerle frente.</p><p style=\"text-align: justify\">Hay dos factores que influyen en el nivel de ruido:</p><ul class=\"release-content-list release-content-list--bulleted release-content-list--align-inherit\"><li><span>El <strong>lenguaje de programaci&oacute;n</strong> - C y C++ te permite controlar directamente la memoria y, con ello, aparecen errores como los desbordamientos de b&uacute;fer o las lecturas y escrituras fuera de l&iacute;mites, que los lenguajes seguros en cuanto a la memoria, como Rust, eliminan en tiempo de compilaci&oacute;n. Se observaron sistem&aacute;ticamente m&aacute;s falsos positivos en proyectos escritos en lenguajes no seguros para la memoria.</span></li><li><span>El <strong>sesgo del modelo:</strong> un buen investigador te cuenta lo que ha descubierto y qu&eacute; grado de confianza tiene en sus resultados. Los modelos no. Pide a un modelo que encuentre errores y los encontrar&aacute;, tenga el c&oacute;digo o no. Las conclusiones vienen acompa&ntilde;adas de expresiones como &quot;posiblemente&quot;, &quot;potencialmente&quot; o &quot;en teor&iacute;a&quot;, y estas conclusiones con matices superan con creces a las que son m&aacute;s s&oacute;lidas. Es un sesgo razonable para una herramienta de exploraci&oacute;n. Esto es desastroso para una cola de clasificaci&oacute;n, donde cada hallazgo dudoso requiere atenci&oacute;n humana y recursos para descartarlo, y ese coste se acumula con miles de hallazgos.</span></li></ul><p style=\"text-align: justify\">Mythos Preview supone una clara mejora en este sentido, sobre todo por su capacidad para encadenar vulnerabilidades b&aacute;sicas, es decir, combinar varias vulnerabilidades en una prueba de concepto funcional en lugar de notificarlas por separado. Un hallazgo que viene acompa&ntilde;ado de una prueba de concepto es uno sobre el que puedes actuar, y eso significa que te ahorras mucho tiempo pregunt&aacute;ndote &quot;&iquest;esto es siquiera real?&quot;.</p><p style=\"text-align: justify\">Los entornos de prueba est&aacute;n configurados a prop&oacute;sito para generar m&aacute;s alertas de las necesarias, de modo que se detectaron m&aacute;s cosas (y se escaparon menos), aunque eso conlleva mucho m&aacute;s ruido. Pero a la hora de hacer la selecci&oacute;n, los resultados de Mythos Preview son de una calidad notablemente superior: menos conclusiones ambiguas, pasos de reproducci&oacute;n m&aacute;s claros y menos trabajo para decidir si hay que arreglarlo o descartarlo.</p><h4 id=\"por-que-no-funciona-apuntar-un-agente-de-codificacion-generico-a-un-repositorio\" ><strong>Por qu&eacute; no funciona apuntar un agente de codificaci&oacute;n gen&eacute;rico a un repositorio</strong></h4><p style=\"text-align: justify\">Cuando el a&ntilde;o pasado Cloudflare empez&oacute; a investigar vulnerabilidades con ayuda de la IA, el primer instinto fue el m&aacute;s obvio: aplicar un agente de programaci&oacute;n gen&eacute;rico a un repositorio cualquiera y pedirle que detectara vulnerabilidades. Este enfoque funciona, en el sentido de que el modelo generar&aacute; resultados, pero no sirve para cubrir de forma significativa un c&oacute;digo real ni para identificar resultados que tengan valor. Estas son las tres razones principales de esta tendencia:</p><ul class=\"release-content-list release-content-list--bulleted release-content-list--align-inherit\"><li><span><strong>Contexto:</strong> los programadores se centran en una sola tarea concreta: desarrollar una funci&oacute;n, corregir un error o reestructurar el c&oacute;digo. Ingieren una gran cantidad de c&oacute;digo fuente, mantienen una &uacute;nica hip&oacute;tesis a la vez e iteran sobre ella. Esa es precisamente la forma menos adecuada para la investigaci&oacute;n de vulnerabilidades, que es, por naturaleza, espec&iacute;fica y paralela. Un investigador elige un aspecto concreto para analizarlo y lo investiga a fondo. Ese aspecto puede ser una funci&oacute;n compleja concreta, los cruces de l&iacute;mites de seguridad o un tipo espec&iacute;fico de vulnerabilidad, como las inyecciones de comandos, en las que la entrada del atacante acaba ejecut&aacute;ndose como un comando de shell. Luego lo hacen de nuevo, para una funci&oacute;n diferente, l&iacute;mite de seguridad o clase de vulnerabilidad, miles de veces en toda la base de c&oacute;digo. Una sola sesi&oacute;n de un agente (incluso con subagentes) sobre un repositorio de cien mil l&iacute;neas puede cubrir, como mucho, una d&eacute;cima parte del uno por ciento de la superficie de forma &uacute;til antes de que se llene la ventana de contexto del modelo y se active la compactaci&oacute;n, lo que podr&iacute;a llevar a descartar hallazgos anteriores que habr&iacute;an sido importantes.</span></li><li><span><strong>Rendimiento:</strong> un agente de una sola secuencia hace una cosa a la vez, pero las bases de c&oacute;digo reales necesitan muchas hip&oacute;tesis contra muchos componentes a la vez, con la capacidad de expandirse a&uacute;n m&aacute;s cuando surge algo interesante. Puedes exigirle m&aacute;s a un solo agente, pero llega un momento en que ya no te limita el modelo, sino la forma que toma la interacci&oacute;n en s&iacute;. Usar el modelo directamente en un agente de codificaci&oacute;n resulta adecuado para la investigaci&oacute;n manual cuando un investigador ya tiene una pista y quiere una segunda opini&oacute;n. Sin embargo, no es la herramienta adecuada para conseguir una cobertura alta. Una vez que el equipo acept&oacute; eso, dej&oacute; de intentar que Mythos Preview hiciera lo que no deb&iacute;a y empez&oacute; a desarrollar el entorno a su alrededor.</span></li></ul><h4 id=\"lo-que-realmente-soluciona-un-entorno-de-pruebas\" ><strong>Lo que realmente soluciona un entorno de pruebas</strong></h4><p style=\"text-align: justify\">Cuatro lecciones surgieron al ejecutar el trabajo a gran escala, y cada una apunt&oacute; a la necesidad de un entorno de pruebas que gestione la ejecuci&oacute;n general:</p><ul class=\"release-content-list release-content-list--bulleted release-content-list--align-inherit\"><li><span><strong>Un alcance m&aacute;s limitado da mejores resultados:</strong> si le dices al modelo &quot;Encuentra vulnerabilidades en este repositorio&quot;, se dispersa. Si le dices: &quot;Busca una inyecci&oacute;n de comandos en esta funci&oacute;n concreta, con este l&iacute;mite de confianza por encima; aqu&iacute; tienes el documento de arquitectura y aqu&iacute; la cobertura previa de esta &aacute;rea&quot;, hace que se acerque mucho m&aacute;s a lo que har&iacute;a realmente un investigador.</span></li><li><span><strong>La revisi&oacute;n adversaria reduce el ruido:</strong> si a&ntilde;ades un segundo agente entre el resultado inicial y la cola &mdash; uno con una indicaci&oacute;n diferente, un modelo diferente y sin capacidad para generar sus propios resultados &mdash; se detecta gran parte del ruido que el primer agente pasar&iacute;a por alto si solo revisara su propio trabajo. Resulta que hacer que dos agentes discrepen a prop&oacute;sito es mucho m&aacute;s eficaz que limitarse a decirle a uno de ellos que tenga cuidado.</span></li><li><span><strong>La divisi&oacute;n de la cadena entre los distintos agentes mejora el razonamiento:</strong> preguntar &quot;&iquest;Este c&oacute;digo tiene errores?&quot; y &quot;&iquest;Puede un atacante acceder realmente a este error desde fuera del sistema?&quot; son dos cuestiones distintas, y el modelo funciona mejor con cada una de ellas cuando se plantean por separado, ya que cada pregunta es m&aacute;s concreta que la versi&oacute;n combinada.</span></li><li><span><strong>Las tareas paralelas espec&iacute;ficas son mejores que un agente que lo abarca todo:</strong> la cobertura mejora cuando varios agentes se centran en preguntas bien delimitadas y luego eliminamos los resultados duplicados, en lugar de pedirle a un solo agente que lo haga todo.</span></li></ul><p style=\"text-align: justify\">Cada una de esas observaciones se refiere al comportamiento del modelo, y juntas describen algo que ya no es una interfaz de chat. Es un entorno de pruebas que te ayuda a lograr los resultados finales. Los primeros pasos para crear un entorno de pruebas son sencillos, ya que puedes pedir ayuda al modelo, que es lo que hizo el equipo. Utiliz&oacute; Mythos Preview para desarrollar, personalizar y mejorar los entornos de pruebas originales de acuerdo con sus fortalezas. A continuaci&oacute;n se describe un ejemplo de c&oacute;mo es un entorno de pruebas en la pr&aacute;ctica.</p><h4 id=\"el-entorno-de-pruebas-de-deteccion-de-vulnerabilidades\" ><strong>El entorno de pruebas de detecci&oacute;n de vulnerabilidades</strong></h4><p style=\"text-align: justify\">As&iacute; es como funciona el entorno de pruebas de detecci&oacute;n de vulnerabilidades de Cloudflare, paso a paso. Lo usaron para analizar el c&oacute;digo en producci&oacute;n en todo el entorno de ejecuci&oacute;n, la ruta de datos en el per&iacute;metro, la pila de protocolos, el plano de control y los proyectos de c&oacute;digo abierto de los que dependen.</p>\n    <figure\n        class=\"release-content-image release-content-image--contained release-content-image--align-center\"\n        data-component=\"image-zoom-popup\"\n        data-image-zoom-popup-selector=\".release-content-image__image\"\n        data-image-zoom-popup-i18n=\"data:application/json;base64,eyJEb3dubG9hZCI6IkRvd25sb2FkIn0=\"\n        data-image-zoom-popup-tracking-views-event=\"Story Image View\"\n        data-image-zoom-popup-tracking-download-event=\"Story Image Download\"\n        data-image-zoom-popup-placement=\"content\"\n    >\n        <div class=\"image-thumbnail-rollover\" style=\"width: 100%\">\n            <img\n                src=\"https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/resize/1200x/-/format/auto/\"\n                                class=\"release-content-image__image image-thumbnail-rollover__image\"\n                data-description=\"\"\n                id=\"image-d269d4bf-5f86-4df1-87a7-1e9426133b4b\"\n                data-id=\"d269d4bf-5f86-4df1-87a7-1e9426133b4b\"\n                data-original=\"https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/inline/no/Untitled\"\n                data-mfp-src=\"https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/resize/1200x/-/format/auto/\"\n                alt=\"Story image\"\n            />\n            <div class=\"image-thumbnail-rollover__caption\">\n                <svg class=\"icon icon-expand image-thumbnail-rollover__caption-icon\">\n                <use xlink:href=\"#icon-expand\"></use>\n            </svg>            </div>\n        </div>\n\n        <figcaption class=\"release-content-image__caption\"></figcaption>\n    </figure>\n<p style=\"text-align: justify\">&nbsp;</p>\n<div\n    class=\"table-container table-container-fixed\"\n    style=\"--width:771px\"\n>\n    <table\n        class=\"table table-bordered table-fixed\"\n    >\n                            <tbody>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Fase</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>&iquest;Qu&eacute; hace?</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Por qu&eacute; es importante</strong></p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Reconocimiento</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Un agente lee el repositorio de arriba abajo, se distribuye entre los subagentes responsables de cada subsistema y elabora un documento de arquitectura que incluye los comandos de compilaci&oacute;n, los l&iacute;mites de confianza, los puntos de entrada y la superficie de ataque probable. Tambi&eacute;n genera la cola inicial de tareas para la siguiente etapa. \u200b </p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Proporciona un contexto compartido a todos los agentes posteriores. Elimina el problema de la dispersi&oacute;n.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong> </strong></p><p style=\"text-align: justify\"><strong>B&uacute;squeda</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Cada tarea consiste en una clase de ataque combinada con una pista sobre el alcance. Los investigadores (los agentes que se encargan de buscar errores) se ejecutan simult&aacute;neamente, normalmente unos cincuenta a la vez, y cada uno de ellos se divide en varios subagentes de exploraci&oacute;n. Cada investigador tiene acceso a herramientas que compilan y ejecutan c&oacute;digo de prueba de concepto en un directorio temporal por tarea.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Aqu&iacute; es donde ocurre la mayor parte del trabajo. Muchas tareas concretas en paralelo, no un &uacute;nico agente exhaustivo.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Validaci&oacute;n</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Un agente independiente vuelve a leer el c&oacute;digo e intenta refutar la conclusi&oacute;n original. Utiliza un conjunto de instrucciones diferente y no tiene la capacidad de generar nuevos hallazgos por s&iacute; mismo.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Detecta una parte importante de los errores que el investigador no detectar&iacute;a al revisar su propio trabajo.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Compensaci&oacute;n</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Los investigadores marcan las zonas en las que han estado pero que no han revisado a fondo. Esas &aacute;reas se vuelven a poner en cola para otra pasada.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Contrarresta la tendencia del modelo a decantarse por clases de ataque con las que ya ha tenido &eacute;xito.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Eliminaci&oacute;n de duplicados</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Las incidencias que comparten la misma causa se agrupan en un &uacute;nico registro.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">El an&aacute;lisis de variantes es una funci&oacute;n, no una manera de inflar la cola con duplicados.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Rastreo</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Por cada fallo confirmado en una biblioteca compartida, se despliega un agente de rastreo (una instancia por cada repositorio de usuario), que utiliza un &iacute;ndice de s&iacute;mbolos entre repositorios y determina si la entrada controlada por el atacante llega realmente al fallo desde fuera del sistema.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Convierte &quot;hay un fallo&quot; en &quot;hay una vulnerabilidad a la que se puede acceder&quot;. Esta es la etapa que m&aacute;s importa.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Comentarios</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Los rastreos localizables se convierten en nuevas tareas de b&uacute;squeda en los repositorios de los usuarios donde realmente se detecta el error.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">As&iacute; se cierra el c&iacute;rculo. La canalizaci&oacute;n mejora a medida que se ejecuta.</p></div></td>                                    </tr>\n                            <tr>\n                                            <td class=\"border\" style=\"min-width: 167px; max-width: 167px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\"><strong>Informe</strong></p></div></td>                                            <td class=\"border\" style=\"min-width: 363px; max-width: 363px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">Un agente redacta un informe estructurado seg&uacute;n un esquema predefinido, corrige cualquier error de validaci&oacute;n en dicho esquema y env&iacute;a el informe a una API de ingesti&oacute;n.</p></div></td>                                            <td class=\"border\" style=\"min-width: 240px; max-width: 240px\"><div class=\"text-default v-spacing\"><p style=\"text-align: justify\">El resultado son datos que se pueden consultar, no un texto en prosa sin estructura.</p></div></td>                                    </tr>\n                        </tbody>\n            </table>\n</div>\n<h4 id=\"que-significa-esto-para-los-equipos-de-seguridad\" ><strong>Qu&eacute; significa esto para los equipos de seguridad</strong></h4><p style=\"text-align: justify\">La reacci&oacute;n m&aacute;s destacada de otros responsables de seguridad ante el avance de Mythos ha girado en torno a la rapidez: analizar y aplicar revisiones m&aacute;s r&aacute;pido, as&iacute; como acortar el ciclo de respuesta. M&aacute;s de un equipo con el que se ha hablado est&aacute; trabajando ahora con un acuerdo de nivel de servicio (SLA) de dos horas desde la publicaci&oacute;n del CVE hasta la aplicaci&oacute;n de la revisi&oacute;n en producci&oacute;n. El razonamiento es comprensible: cuando el margen de tiempo del atacante se reduce, el del defensor tiene que reducirse tambi&eacute;n. M&aacute;s r&aacute;pido no va a ser suficiente, y creemos que muchos equipos est&aacute;n a punto de gastar mucho tiempo, esfuerzo y dinero aprendiendo eso por las malas.</p><p style=\"text-align: justify\">Actualizar m&aacute;s r&aacute;pido no cambia la naturaleza del proceso que genera la revisi&oacute;n. Si las pruebas de regresi&oacute;n tardan un d&iacute;a, no podr&aacute;s cumplir un SLA de dos horas sin salt&aacute;rtelas, y los errores que acabas lanzando al mercado cuando te saltas las pruebas de regresi&oacute;n suelen ser peores que los que intentabas corregir. Algo parecido ocurri&oacute; cuando probaron dejar que el modelo generara sus propias revisiones y se observ&oacute; c&oacute;mo se publicaban algunas que, aunque solucionaban el error original, sin que se dieran cuenta estropeaban otra parte del c&oacute;digo de la que depend&iacute;a.</p><p style=\"text-align: justify\">La pregunta m&aacute;s dif&iacute;cil es c&oacute;mo deber&iacute;a ser la arquitectura en torno a la vulnerabilidad. La idea es que a un atacante le resulte m&aacute;s dif&iacute;cil aprovechar la vulnerabilidad, incluso si hay un fallo, para que el tiempo que pasa entre que se da a conocer la vulnerabilidad y que se corrige no sea tan importante. Eso significa que hay medidas de seguridad instaladas en la aplicaci&oacute;n que impiden que se acceda al fallo. Significa dise&ntilde;ar la aplicaci&oacute;n de manera que un fallo en una parte del c&oacute;digo no pueda darle a un atacante acceso a otras partes. Significa poder implementar una soluci&oacute;n en todos los lugares donde el c&oacute;digo se est&aacute; ejecutando al mismo tiempo, en lugar de esperar a que los equipos individuales lo implementen. </p><p style=\"text-align: justify\">Tambi&eacute;n hay que ser conscientes de que este tema tiene sus pros y sus contras. Las mismas capacidades que ayudaron a encontrar errores en el c&oacute;digo de Cloudflare, en manos equivocadas, acelerar&aacute;n los ataques contra todas las aplicaciones de Internet. Cloudflare protege millones de esas aplicaciones, y los principios de arquitectura descritos anteriormente son precisamente los que sus productos est&aacute;n dise&ntilde;ados para aplicar en nombre de los clientes. </p><p style=\"text-align: justify\">El equipo compartir&aacute; m&aacute;s sobre lo que eso significa para los clientes en las pr&oacute;ximas semanas.</p><p>Para conocer el reporte completo, da <a href=\"https://blog.cloudflare.com/es-es/cyber-frontier-models/\" target=\"_blank\" rel=\"noreferrer noopener\">clic en este enlace hacia el blog de Cloudflare.</a></p><hr /><a href='https://cdn.uc.assets.prezly.com/c51e81de-7b16-415a-837d-de4a9e2cac87/-/inline/no/cloudflaremay26project-glasswing-lo-que-nos-enseno-mythos.pdf' class='release-content-attachment' id='attachment-c51e81de-7b16-415a-837d-de4a9e2cac87' data-type='attachment' data-track='Story File Download' data-placement='content' data-id='c51e81de-7b16-415a-837d-de4a9e2cac87'>\n    <span class='release-content-attachment__icon'>\n        <svg class=\"icon icon-download\">\n                <use xlink:href=\"#icon-download\"></use>\n            </svg>\n    </span>\n    <span class='release-content-attachment__details'>\n        <strong class='release-content-attachment__title'>Cloudflare_May26_Project Glasswing_ lo que nos ensen\u0303o\u0301 Mythos.pdf</strong>\n        <em class='release-content-attachment__subtitle'>465 KB</em>\n    </span>\n</a><div class=\"release-content-contact\" id=\"contact-35adbef8-bcc7-4522-9946-5ba90a26aeb0\">\n    \n    <div class=\"release-content-contact__details\">\n        <strong class=\"release-content-contact__name\">Elina Ambriz</strong>\n        <em class=\"release-content-contact__description\">Account Executive Senior, another</em>\n        <ul class=\"release-content-contact__details-list\"><li class=\"release-content-contact__details-list-item\"><a href=\"mailto:elina.ambriz@another.co\"  class=\"release-content-contact__details-list-item-link\" title=\"elina.ambriz@another.co\"><svg class=\"icon icon-paper-plane release-content-contact__details-list-item-icon\">\n                <use xlink:href=\"#icon-paper-plane\"></use>\n            </svg>elina.ambriz@another.co</a></li>\n<li class=\"release-content-contact__details-list-item\"><a href=\"tel:4439399785\"  class=\"release-content-contact__details-list-item-link\" title=\"4439399785\"><svg class=\"icon icon-phone release-content-contact__details-list-item-icon\">\n                <use xlink:href=\"#icon-phone\"></use>\n            </svg>4439399785</a></li></ul>\n    </div>\n</div><p>&nbsp;</p><p>&nbsp;</p>",
    "header": {
        "large": "https://cdn.uc.assets.prezly.com/2cafcab5-e92e-4296-8ba2-5f2a8cd2c475/-/format/auto/",
        "release": "https://cdn.uc.assets.prezly.com/2cafcab5-e92e-4296-8ba2-5f2a8cd2c475/-/format/auto/"
    },
    "images": [
        {
            "caption": "Ejemplo de c\u00f3mo Mythos Preview retrasa la creaci\u00f3n de una prueba de concepto funcional ",
            "original": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/",
            "medium": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/preview/500x500/-/format/auto/",
            "small": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/preview/200x200/-/format/auto/",
            "thumbnail": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/preview/100x100/-/format/auto/",
            "square": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/scale_crop/200x200/center/-/format/auto/",
            "squaresmall": "https://cdn.uc.assets.prezly.com/b6eb85f3-6911-4bef-a214-a71b32665d7e/-/scale_crop/58x58/center/-/format/auto/"
        },
        {
            "caption": "",
            "original": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/",
            "medium": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/preview/500x500/-/format/auto/",
            "small": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/preview/200x200/-/format/auto/",
            "thumbnail": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/preview/100x100/-/format/auto/",
            "square": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/scale_crop/200x200/center/-/format/auto/",
            "squaresmall": "https://cdn.uc.assets.prezly.com/d269d4bf-5f86-4df1-87a7-1e9426133b4b/-/scale_crop/58x58/center/-/format/auto/"
        }
    ],
    "attachments": [
        {
            "description": "",
            "extension": "pdf",
            "url": "https://cdn.uc.assets.prezly.com/c51e81de-7b16-415a-837d-de4a9e2cac87/-/inline/no/cloudflaremay26project-glasswing-lo-que-nos-enseno-mythos.pdf"
        }
    ],
    "contacts": [
        {
            "name": "Elina Ambriz",
            "company": "another",
            "description": "Account Executive Senior",
            "email": "elina.ambriz@another.co",
            "website": null,
            "address": null,
            "telephone": "4439399785",
            "mobile": null,
            "twitter": null,
            "facebook": null
        }
    ],
    "author": {
        "first_name": "Elina",
        "last_name": "Ambriz Valencia"
    },
    "format_version": 5
}