Ataque de Secuestro de IA Alucinante: Modelos de Lenguaje Grandes y Recomendadores de Código Malicioso
Hallucinating AI Hijacking Attack: Large Language Models and Malicious Code Recommenders
October 9, 2024
Autores: David Noever, Forrest McKee
cs.AI
Resumen
La investigación construye y evalúa el potencial adversarial para introducir código copiado o recomendaciones de IA alucinadas para código malicioso en repositorios de código populares. Mientras que los modelos de lenguaje grandes (LLMs) fundamentales de OpenAI, Google y Anthropic se protegen contra comportamientos dañinos y cadenas tóxicas, trabajos previos sobre soluciones matemáticas que incrustan indicaciones dañinas demuestran que las barreras de protección pueden variar entre contextos expertos. Estas lagunas podrían aparecer en una mezcla de modelos de expertos cuando cambia el contexto de la pregunta y podrían ofrecer menos ejemplos de entrenamiento maliciosos para filtrar comentarios tóxicos o acciones ofensivas recomendadas. El presente trabajo demuestra que los modelos fundamentales pueden rechazar correctamente proponer acciones destructivas cuando se les solicita abiertamente, pero desafortunadamente podrían bajar la guardia al enfrentarse a un cambio repentino de contexto, como al resolver un desafío de programación informática. Mostramos ejemplos empíricos con repositorios que alojan troyanos como GitHub, NPM, NuGet y redes de distribución de contenido populares (CDN) como jsDelivr, que amplifican la superficie de ataque. En las directivas de los LLM para ser útiles, las recomendaciones de ejemplo proponen puntos finales de interfaz de programación de aplicaciones (API) que un especulador de dominio determinado podría adquirir e instalar una infraestructura móvil de ataque que se activa a partir del código copiado ingenuamente. Comparamos este ataque con trabajos anteriores sobre cambio de contexto y contrastamos la superficie de ataque como una versión novedosa de los ataques "living off the land" en la literatura de malware. En el último caso, los modelos de lenguaje fundamentales pueden aprovechar indicaciones de usuarios aparentemente inocentes para recomendar acciones que violan las políticas de seguridad de sus propietarios cuando se plantean directamente sin la solicitud de soporte de codificación correspondiente.
English
The research builds and evaluates the adversarial potential to introduce
copied code or hallucinated AI recommendations for malicious code in popular
code repositories. While foundational large language models (LLMs) from OpenAI,
Google, and Anthropic guard against both harmful behaviors and toxic strings,
previous work on math solutions that embed harmful prompts demonstrate that the
guardrails may differ between expert contexts. These loopholes would appear in
mixture of expert's models when the context of the question changes and may
offer fewer malicious training examples to filter toxic comments or recommended
offensive actions. The present work demonstrates that foundational models may
refuse to propose destructive actions correctly when prompted overtly but may
unfortunately drop their guard when presented with a sudden change of context,
like solving a computer programming challenge. We show empirical examples with
trojan-hosting repositories like GitHub, NPM, NuGet, and popular content
delivery networks (CDN) like jsDelivr which amplify the attack surface. In the
LLM's directives to be helpful, example recommendations propose application
programming interface (API) endpoints which a determined domain-squatter could
acquire and setup attack mobile infrastructure that triggers from the naively
copied code. We compare this attack to previous work on context-shifting and
contrast the attack surface as a novel version of "living off the land" attacks
in the malware literature. In the latter case, foundational language models can
hijack otherwise innocent user prompts to recommend actions that violate their
owners' safety policies when posed directly without the accompanying coding
support request.Summary
AI-Generated Summary