GitHub presenta la herramienta de inteligencia synthetic para acelerar el desarrollo, pero …



La compañía ha creado un sistema de inteligencia synthetic, denominado Copilot, para ofrecer sugerencias de código a los desarrolladores, pero advierte que cualquier código producido debe probarse en busca de defectos y vulnerabilidades.

Se espera que un agente de máquina diseñado para ayudar a los desarrolladores a crear rápidamente bloques de código basados ​​en algunas sugerencias semánticas reduzca significativamente el tiempo de programación, pero también viene con una advertencia para estar atento a errores y problemas de seguridad.

La vista previa técnica, denominada Copiloto, se entrenó en miles de millones de líneas de código de proyectos en el servicio de desarrollo de GitHub para predecir la intención de una función basada en comentarios, cadenas de documentación (cadenas de documentación), el nombre de la función y cualquier código ingresado por el desarrollador. Una colaboración entre GitHub y OpenAI, Copilot completará automáticamente bloques completos de código, pero los grupos advierten que el código podría tener defectos, contener lenguaje ofensivo y potencialmente tener problemas de seguridad.

«Existe una gran cantidad de código público en el mundo con patrones de codificación inseguros, errores o referencias a API o modismos obsoletos», GitHub declaró en su sitio Copilot. «Cuando GitHub Copilot sintetiza sugerencias de código basadas en estos datos, también puede sintetizar código que contiene estos patrones indeseables».

Las tecnologías basadas en inteligencia artificial (AI) y aprendizaje automático (ML) son muy prometedoras para los desarrolladores que buscan reducir las vulnerabilidades, los analistas de seguridad que clasifican las alertas y los especialistas en respuesta a incidentes que buscan remediar los problemas más rápido, entre otros beneficios. Sin embargo, los primeros sistemas de aprendizaje automático suelen ser propensos a errores y ataques contradictorios.

En 2016, por ejemplo, Microsoft dio a conocer un chatbot llamado «Tay» en Twitter. El sistema ML intentó conversar con cualquiera que le enviara un mensaje en línea, pero también aprendió de esas conversaciones. Sin embargo, un ataque coordinado a Tay llevó al chatbot a repetir frases ofensivas y retuitear imágenes inapropiadas.

El ejemplo destaca cómo el uso de información procedente de World wide web que no es de confianza para entrenar algoritmos de aprendizaje automático puede generar resultados inesperados. GitHub enfatizó que Copilot es todavía un esfuerzo inicial y la seguridad será un enfoque en el futuro.

«Son los primeros días y estamos trabajando para incluir las propias herramientas de seguridad de GitHub y excluir el código inseguro o de baja calidad del conjunto de entrenamiento, entre otros mecanismos», dijo GitHub en respuesta a las preguntas de Dark Examining. «Esperamos compartir más en los próximos meses».

Copilot se basa en OpenAI Codex, un nuevo sistema de aprendizaje generativo que ha sido capacitado en el idioma inglés, así como en el código fuente de los repositorios públicos, como GitHub. Al escribir un comentario, un nombre de función y variables, Copilot completará automáticamente el cuerpo de la función con el resultado más possible, pero el sistema también ofrecerá otros posibles bloques de código.

En una prueba con funciones de Python, Copilot adivinó el contenido correcto en el 43% de los casos, y en el 57% de los casos, el bloque de código correcto existía en los 10 resultados principales. El servicio está destinado a demostrar que un agente de máquina puede actuar como la otra mitad de un equipo de programación en pareja y acelerar significativamente el desarrollo.

«GitHub Copilot intenta comprender su intención y generar el mejor código que puede, pero el código que sugiere no siempre funciona, o incluso no tiene sentido», afirmó la compañía en su respuesta a las preguntas de Darkish Reading through. «Si bien estamos trabajando duro para mejorar GitHub Copilot, el código sugerido por GitHub Copilot debe ser probado, revisado y examinado cuidadosamente, como cualquier otro código».

Es muy possible que estos sistemas sean el objetivo de los atacantes. Los investigadores se han interesado mucho en encontrar formas de modificar los resultados o interrumpir dichos sistemas. La cantidad de artículos de investigación centrados en la seguridad de la inteligencia synthetic y publicados en línea aumentó a más de 1500 en 2019, desde 56 tres años antes.

En noviembre de 2020, MITRE trabajó con Microsoft y otras empresas de tecnología para crear un diccionario de posibles ataques adversarios en sistemas AI / ML, y dio ejemplos de una cantidad significativa de ataques reales.

El código inseguro no es la única preocupación. Los datos personales publicados inadvertidamente en el sitio de GitHub podrían incluirse en la salida del código, aunque la compañía encontró tales casos como «extremadamente raros» en esta prueba del sistema. Un estudio descubrió que, si bien Copilot podía generar instancias exactas de código, el sistema rara vez lo hizo.

Aun así, el sistema es una herramienta y no un reemplazo de las buenas prácticas de codificación, dijo la compañía.

«Como desarrollador, siempre estás a cargo», dijo.

Periodista tecnológico veterano de más de 20 años. Ex ingeniero de investigación. Escrito para más de dos docenas de publicaciones, incluidas CNET News.com, Darkish Examining, MIT&#39s Technological innovation Overview, Well-known Science y Wired News. Cinco premios de periodismo, incluido el de Mejor fecha límite … Ver biografía completa

Lectura recomendada:

Más información





Enlace a la noticia primary