
Presentando Patch the Planet
FUENTE
The Trail of Bits Blog
DATE
READ
8 min de lectura
Trail of Bits, en colaboración con la iniciativa Daybreak de OpenAI, lanzó Patch the Planet, un programa para mejorar la seguridad de código abierto mediante la asociación de ingenieros con mantenedores y el uso de …
Cuando Trail of Bits clears dozens of horarios de ingenieros, los empareja con todos los mantenedores de código abierto que puedan contactar, y libera los últimos modelos de vanguardia como GPT-5.5-Cyber en objetivos de código abierto críticos, el impacto es de cientos de errores descubiertos, 64 solicitudes de extracción y 51 problemas en 19 proyectos (con muchos más aún en proceso de divulgación coordinada). Esto fue solo la primera semana de Patch the Planet. Los modelos de vanguardia como GPT-5.5-Cyber están produciendo una avalancha de hallazgos de seguridad, y los mantenedores ya al límite deben filtrar todo. Patch the Planet es diferente: con nuestros expertos orquestando y priorizando, gestionamos el trabajo de solucionar y endurecer el código junto con las personas que lo mantienen. La primera semana de Patch the Planet cubrió 19 proyectos en criptografía, redes, infraestructura de lenguaje y cadena de suministro de software. Entre estos 19 proyectos estaban cURL, NATS, pyca, Sigstore, aiohttp, el proyecto Go, freenginx, Python y python.org, urllib3, PyPI, SimpleX, Valkey y RustCrypto. Más de 30 proyectos se han unido a la iniciativa y estamos expandiéndola rápidamente; si mantienes un proyecto de código abierto, ¡puedes solicitar unirte! Los equipos de ingeniería de Trail of Bits están disponibles. Cualquiera puede enviar un problema, realizar pruebas y alejarse. Nos presentamos con las soluciones: 37 ya están fusionadas, y muchas más están en curso. Estas fusiones van más allá de simplemente solucionar errores: también añadimos nuevas pruebas y harnesses de fuzzing, escaneo de seguridad CI, herramientas de cadena de suministro, correcciones de precisión, y características que los mantenedores habían estado esperando. El objetivo de Patch the Planet es mejorar significativamente proyectos de código abierto esenciales. Traemos soluciones, no solo informes de errores. Informamos hallazgos públicos en GitHub, incluyendo 64 solicitudes de extracción totales. También presentamos 51 problemas, de los cuales 19 ya están resueltos. Este recuento público subestima el trabajo, ya que varios proyectos utilizan canales privados como HackerOne, advisories de seguridad de GitHub, listas de correo y bifurcaciones privadas, y la mayoría aún no se ha publicado. Lo que importa en esas solicitudes de extracción es más que el conteo. En python.org, añadimos un flujo de trabajo CI basado en zizmor, un analizador estático de GitHub Actions de código abierto, y solucionamos todos los problemas que identificó. En RustCrypto, contribuimos con correcciones de precisión en la biblioteca big-integer, que se basa en la criptografía de nivel superior, junto con un trabajo de características real en revisión: soporte de codificación de serde y suites de ID de HPKE. Otras correcciones fueron ayuda de ingeniería: almacenamiento-accounting y correcciones de reinicio de servicio en SimpleX, una confirmación de administración más clara en PyPI’s Warehouse, y mejoras de cadena de suministro como sidecars de SBOM para artefactos de Windows de Python. También estamos integrando muchas mejoras de pruebas y nuevas campañas de pruebas. Probablemente, nuestras mejores contribuciones no son ni errores ni soluciones de seguridad. Para hacer todo esto, utilizamos un bot llamado Patchy. Patchy supervisa cada proyecto, publica cada nuevo hallazgo y parche fusionado en nuestro Slack, y, por razones que consideramos científicamente sólidas, reintroduce el uso común de goblins, gremlins y otras criaturas. Aquí está la descripción de Patchy de un problema que ha sido solucionado: Cuando un parche llega, Patchy celebra con un triunfal PATCHY FELIZ. Hacer feliz a Patchy es lo que realmente nos motiva. Un error resuelto, Patchy feliz. Algunos destacados de la semana. La semana produjo más de lo que podemos incluir en esta publicación, pero aquí hay algunos destacados. Un laboratorio de fuzzing construido en un día. Dada una meta específica (encontrar errores explotables de forma remota) y sin instrucciones sobre cómo, GPT-5.5-Cyber decidió que leer el código fuente de una de las bibliotecas C más revisadas del mundo era un mal uso de tokens. En cambio, creó un laboratorio de fuzzing completo en menos de un día: construyendo builds con sanitizers y variantes, un corpus de semillas extraído de pruebas existentes, y harnesses en docenas de puntos de entrada. En lugar de simplemente fuzzing APIs expuestas, construyó un harness que inyectaba presión del sistema operativo para identificar estados problemáticos previamente no explorados al alcanzar. Estimamos que todo ese esfuerzo probablemente habría tomado a uno de nuestros expertos en fuzzing de dos a tres semanas para hacerlo manualmente. Lo que es igualmente importante, demostró juicio sobre qué probar, qué informar (y no informar), y dónde encontrar hallazgos de mayor impacto. Publicaremos los detalles completos en un informe independiente. Una tubería para pruebas históricas construida en un día. Codex también demostró ser capaz de construir pipelines simples pero eficaces, como el pipeline de análisis de variantes CVE mostrado a continuación. La función /goal de Codex, combinada con modelos de vanguardia como GPT-5.5-Cyber para este tipo de análisis de variantes, produjo nuevos problemas con casi exclusivamente alta salida de señal. Pipeline para el análisis de variantes de CVE. Una mejora en el pipeline de lanzamiento de python. Informamos varios problemas para python.org, incluyendo algunos que cierran un agujero de autorización de API heredada. Pero estamos más orgullosos del trabajo que produjo mejoras a largo plazo en la infraestructura de lanzamiento de python.org: el nuevo escaneo de CI de zizmor, validación reforzada de archivos de lanzamiento y metadatos, eliminación de alcance fijo para que las operaciones en masa no puedan alcanzar más allá de su objetivo, y parches de herramientas de lanzamiento en revisión que citan argumentos de comando remotos, fallan de forma segura en cargas parciales, y agregan sidecars de SBOM. Los mantenedores de aiohttp corrigieron sus problemas casi de inmediato. Informamos un grupo de problemas en los caminos de cliente y servidor de aiohttp, que incluían cookies que podían recuperar un alcance más amplio después de guardar y recargar, credenciales digest que podían responder a un desafío desde el origen incorrecto, y límites de recursos que se activaban después del búfer controlado por atacantes en lugar de antes. Los mantenedores escribieron y fusionaron todas las 8 correcciones en cuestión de horas, siete de ellas dentro de una ventana de cinco horas. Nos impresionó y apreciamos el trabajo rápido y colaborativo de los mantenedores en estos problemas. Diferencial pruebas de bibliotecas criptográficas importantes entre sí. Muchos de nuestros proyectos implementan la misma lógica, protocolos y algoritmos. En particular, varios proyectos implementan los mismos algoritmos y estándares criptográficos como certificados X.509. Por lo tanto, usamos Codex para apuntar estos proyectos entre sí, e identificar cualquier diferencia de comportamiento. Esto resultó ser un enfoque de alta señal que reveló varios problemas, incluyendo este problema de AES-GCM en PyCA y varios problemas X.509, que planeamos elevar a x509-limbo. Encontrar los errores es ahora lo fácil. Si ya no está claro de las últimas noticias de seguridad, esta semana hace que quede claro: la parte costosa del trabajo de seguridad ha cambiado. Armar a Codex con campañas de fuzzing, análisis de variantes, pruebas diferenciales, búsqueda de agentes, y técnicas similares, produce vulnerabilidades reales y comprime semanas o meses de esfuerzo manual en horas. La ventaja ya no está en encontrar errores, sino todo lo demás: confirmar un hallazgo, determinar su severidad, escribir un parche que un mantenedor acepte, endurecer el código circundante, hacer mejoras a largo plazo para prevenir problemas similares en el futuro, y coordinar una divulgación. Es ese trabajo lo que amenaza con enterrar los informes generados por IA. Guía para mantenedores. Si eres un mantenedor que gestiona un número insostenible de informes de errores generados por IA, los desafíos centrales que debes resolver son la deduplicación, el filtrado de falsos positivos, y la corrección de la severidad. La deduplicación es el problema más fácil de resolver técnicamente. Incluso las herramientas de IA simples que comparan nuevos informes con problemas abiertos funcionan bien, especialmente cuando están fundamentadas en líneas de código afectadas. Automatizar este paso elimina la mayoría del ruido. El filtrado de falsos positivos y la corrección de la severidad son más difíciles, pero se pueden gestionar. Sin orientación explícita, los modelos predeterminados para clasificar todo como crítico. Patchy sin guía de modelo y severidad genera problemas genéricos como nuestra herramienta fp-check, pero solo hasta cierto punto. Las mejores mejoras requieren documentación específica del proyecto, modelos de amenaza y criterios de severidad. La documentación de seguridad de PyCA fue increíblemente efectiva para reducir los falsos positivos en nuestros candidatos a errores. Los archivos como AGENTS.md que explícitamente le dicen a los modelos qué documentación consultar, produjeron los resultados más consistentes y efectivos. Si los investigadores de seguridad están equipados con esta documentación, especialmente AGENTS.md para la investigación basada en IA, se filtrará más ruido antes de llegar a los mantenedores. Lo que está en la siguiente. Esto fue solo nuestra primera semana. Más de 30 proyectos se han comprometido a unirse a Patch the Planet, con una lista de espera en crecimiento. A medida que se divulguen más hallazgos de forma coordinada, publicaremos más resultados y informes detallados, incluyendo los detalles completos de los laboratorios de fuzzing, los pipelines de análisis de variantes y pruebas diferenciales, y las herramientas que estamos construyendo para ayudar a los mantenedores a ordenar sus propios informes generados por IA. Nuestro gist de Patch the Planet contiene la lista pública completa de nuestros resultados de la semana uno. Únete a Patch the Planet y difunde la palabra. Si eres un mantenedor de un proyecto de código abierto crítico y quieres este tipo de ayuda, puedes solicitar unirte a Patch the Planet.